Permalink
Commits on May 6, 2007
  1. GIT v1.5.2-rc2

    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Junio C Hamano committed May 6, 2007
  2. Merge branch 'maint'

    * maint:
      Small correction in reading of commit headers
      Documentation: fix typo in git-remote.txt
      Add test for blame corner cases.
      blame: -C -C -C
      blame: Notice a wholesale incorporation of an existing file.
      Fix --boundary output
      diff format documentation: describe raw combined diff format
      Mention version 1.5.1 in tutorial and user-manual
      Add --no-rebase option to git-svn dcommit
      Fix markup in git-svn man page
    Junio C Hamano committed May 6, 2007
  3. Handle return code of parse_commit in revision machinery

    This fixes a crash in broken repositories where random commits
    suddenly disappear.
    
    Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    raalkml committed with Junio C Hamano May 4, 2007
  4. Small correction in reading of commit headers

    Check if a line of the header has enough characters to possibly
    contain the requested prefix.
    
    Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    raalkml committed with Junio C Hamano May 4, 2007
  5. Documentation: fix typo in git-remote.txt

    Signed-off-by: James Bowes <jbowes@dangerouslyinc.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    James Bowes committed with Junio C Hamano May 5, 2007
  6. Add test for blame corner cases.

    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Junio C Hamano committed May 6, 2007
  7. blame: -C -C -C

    When you do this, existing "blame -C -C" would not find that the
    latter half of the file2 came from the existing file1:
    
    	... both file1 and file2 are tracked ...
    	$ cat file1 >>file2
    	$ git add file1 file2
    	$ git commit
    
    This is because we avoid the expensive find-copies-harder code
    that makes unchanged file (in this case, file1) as a candidate
    for copy & paste source when annotating an existing file
    (file2).  The third -C now allows it.  However, this obviously
    makes the process very expensive.  We've actually seen this
    patch before, but I dismissed it because it covers such a narrow
    (and arguably stupid) corner case.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Junio C Hamano committed May 6, 2007
  8. blame: Notice a wholesale incorporation of an existing file.

    The -C option to blame tries to find a section of a preimage
    file by running diff against the lines whose origin is still
    unknown, and excluding the different parts.  The code however
    did not cover the case where the tail part of the section
    matched, which we handle for the normal non-move/copy codepath.
    
    This breakage was most visible when preimage file matches in its
    entirety and failed to pass blame in such a case.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Junio C Hamano committed May 5, 2007
  9. Fix --boundary output

    "git log --boundary" incorrectly honoured the option only when
    "left-right" was enabled.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    torvalds committed with Junio C Hamano May 5, 2007
Commits on May 4, 2007
  1. diff format documentation: describe raw combined diff format

    Add description of raw combined diff format to diff-formats.txt,
    as "diff format for merges" section, before "Generating patches..."
    section.
    
    Signed-off-by: Jakub Narebski <jnareb@gmail.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    jnareb committed with Junio C Hamano May 4, 2007
  2. Mention version 1.5.1 in tutorial and user-manual

    Most other documentation will frequently be read from an installation
    of git so will naturally be associated with the installed version.
    But these two documents in particular are often read from web pages
    while users are still exploring git. It's important to mention
    version 1.5.1 since these documents provide example commands that
    won't work with previous versions of git.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    cworth-gh committed with Junio C Hamano May 4, 2007
  3. Add --no-rebase option to git-svn dcommit

    git-svn dcommit exports commits to Subversion, then imports them back
    to git again, and last but not least rebases or resets HEAD to the
    last of the new commits. I guess this rebasing is convenient when
    using just git, but when the commits to be exported are managed by
    StGIT, it's really annoying. So add an option to disable this
    behavior. And document it, too!
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>
    Acked-by: Eric Wong <normalperson@yhbt.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    kwiberg committed with Junio C Hamano May 3, 2007
  4. Fix markup in git-svn man page

    Some of the existing markup was just plain broken, and some subcommand
    options weren't indented properly.
    
    Signed-off-by: Karl Hasselström <kha@treskal.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    kwiberg committed with Junio C Hamano May 4, 2007
  5. git-tag(1): -v option is a subcommand; fix code block

    When the -v is passed, git-tag will exit after it is processed like it
    does with the -d and -l options. Additionally, missing code block caused
    wrong rendering of an option example.
    
    Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    jonas committed with Junio C Hamano May 1, 2007
  6. Improve request-pull to handle non-rebased branches

    This is actually a few different changes to request-pull,
    making it slightly smarter:
    
     1) Minor cleanup of revision->base variable names, making it
        follow the head/headrev naming convention that is already
        in use.
    
     2) Compute the merge-base between the two revisions upfront
        and reuse that selected merge-base to create the diffstat.
    
     3) Refuse to generate a pull request for branches that have no
        existing relationship.  These aren't very common and would mess
        up our diffstat generation.
    
     4) Disable the PAGER when running shortlog and diff, as these
        would otherwise activate the pager for each command when
        git-request-pull is run on a tty.  Instead users can get the
        entire output paged (if desired) using `git -p request-pull`.
    
     5) Use shortlog rather than `git log | git shortlog` now that
        recent shortlog versions are able to run the revision listing
        internally.
    
     6) Attempt to resolve the input URL using the user's configured
        remotes.  This is useful if the URL you want the recipient to
        see is also the one you used to push your changes.  If not a
        config-file remote could easily be setup for the public URL
        and request-pull could be passed that name instead.
    
     7) Automatically guess and include the remote branch name in the
        body of the message.  We list the branch name immediately after
        the URL, making it easy for the recipient to copy and paste
        the entire line onto a `git pull` command line.  Rumor has it
        Linus likes this format, for exactly that reason.
    
        If multiple branches at the remote match $headrev we take the
        first one returned by peek-remote and assume it is suitable.
    
        If no branches are available we warn the user about the problem,
        but insert a static string that is not a valid branch name
        and would be obvious to anyone reading the message as being
        totally incorrect.  This allows users to still generate a
        template message without network access (for example) and
        hand-correct the bits that cannot be verified.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    spearce committed with Junio C Hamano May 1, 2007
  7. Merge branch 'maint'

    * maint:
      gitweb: use decode_utf8 directly
      posix compatibility for t4200
      Document 'opendiff' value in config.txt and git-mergetool.txt
      Allow PERL_PATH="/usr/bin/env perl"
      Make xstrndup common
      diff.c: fix "size cache" handling.
      http-fetch: Disable use of curl multi support for libcurl < 7.16.
    Junio C Hamano committed May 4, 2007
  8. gitweb: use decode_utf8 directly

    Using decode() tries to decode data that is already UTF-8 and
    borks, but decode_utf8 from Encode.pm has a built-in safety
    against that.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Ismail Dönmez committed with Junio C Hamano May 1, 2007
  9. posix compatibility for t4200

    Fix t4200 so that it also works on OS X by not relying on gnu
    extensions to sed.
    
    Signed-off-by: Bryan Larsen <bryan@larsen.st>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    bryanlarsen committed with Junio C Hamano May 2, 2007
  10. Document 'opendiff' value in config.txt and git-mergetool.txt

    Signed-off-by: Arjen Laarhoven <arjen@yaph.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    ArjenL committed with Junio C Hamano May 3, 2007
  11. Allow PERL_PATH="/usr/bin/env perl"

    There is a mechanism PERL_PATH in the Makefile to specify path to
    Perl binary, but sometimes it is convenient to let 'env' figure
    out where Perl comes from, with PERL_PATH="/usr/bin/env perl".
    
    Allowing this would make things easier to MacPorts, where we wish
    to work with the MacPorts perl if it is installed, but fall back
    to the system perl if it isn't.
    
    Signed-off-by: Bryan Larsen <bryan@larsen.st>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    bryanlarsen committed with Junio C Hamano May 3, 2007
  12. Make xstrndup common

    This also improves the implementation to match how strndup is
    specified (by GNU): if the length given is longer than the string,
    only the string's length is allocated and copied, but the string need
    not be null-terminated if it is at least as long as the given length.
    
    Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Daniel Barkalow committed with Junio C Hamano May 3, 2007
  13. diff.c: fix "size cache" handling.

    We broke the size-cache handling when we changed the function
    signature of sha1_object_info() in 21666f1.  We obviously
    wanted to cache the size we obtained when sha1_object_info()
    succeeded, not when it failed.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Junio C Hamano committed May 3, 2007
  14. http-fetch: Disable use of curl multi support for libcurl < 7.16.

    curl_multi_remove_handle() is broken in libcurl < 7.16, in that it
    doesn't correctly update the active handles count when a request is
    aborted. This causes the transfer to hang forever waiting for the
    handle count to become less than the number of active requests.
    
    Signed-off-by: Alexandre Julliard <julliard@winehq.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    julliard committed with Junio C Hamano May 2, 2007
Commits on May 3, 2007
  1. blame: use .mailmap unconditionally

    There really isn't any point in turning off .mailmap.  The
    number of mailmap lookups are bounded by number of lines in the
    target file, and the real blame processing is much more
    expensive.  If it turns out to be too costly, we should optimize
    the mailmap lookup itself, instead of avoiding the call.
    
    If the author information of commits of the project are
    relatively clean, .mailmap would have only small number of
    entries, and the overhead of looking it up will not be high.  On
    the other hand, if the author information is really screwed up
    that a good .mailmap needs to be maintained to run shortlog,
    giving uncleaned names in blame output is not helpful at all
    either.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Junio C Hamano committed May 3, 2007
Commits on May 2, 2007
  1. Merge branch 'maint'

    * maint:
      cvsserver: Handle re-added files correctly
      Fix compilation of test-delta
    Junio C Hamano committed May 2, 2007
  2. Merge branch 'maint' of git://repo.or.cz/git/fastimport into maint

    * 'maint' of git://repo.or.cz/git/fastimport:
      Teach import-tars about GNU tar's @LongLink extension.
    Junio C Hamano committed May 2, 2007
  3. cvsserver: Handle re-added files correctly

    We can't unconditionally assign revision 1.1 to
    newly added files. In case the file did exist in the
    past and was deleted we need to honor the old
    revision number.
    
    Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    flichtenheld committed with Junio C Hamano May 2, 2007
  4. Don't use seq in tests, not everyone has it

    For example Mac OS X lacks the seq command.  So we cannot use it
    there.  A good old while loop works just as good.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed May 2, 2007
  5. Reuse fixup_pack_header_footer in index-pack

    Now that fast-import is using a "library function" to handle
    correcting its packfile's object count and trailing SHA-1 we
    should reuse the same function in index-pack, to reduce the
    size of the code we must maintain.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed May 2, 2007
  6. Create pack-write.c for common pack writing code

    Include a generalized fixup_pack_header_footer() in this new file.
    Needed by git-repack --max-pack-size feature in a later patchset.
    
    [sp: Moved close(pack_fd) to callers, to support index-pack, and
         changed name to better indicate it is for packfiles.]
    
    Signed-off-by: Dana L. How <danahow@gmail.com>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Dana L. How committed with spearce May 2, 2007
  7. Merge branch 'gfi-maint' into gfi-master

    * gfi-maint:
      Teach import-tars about GNU tar's @LongLink extension.
    spearce committed May 2, 2007
  8. Teach import-tars about GNU tar's @LongLink extension.

    This extension allows GNU tar to process file names in excess of the 100
    characters defined by the original tar standard. It does this by faking a
    file, named '././@LongLink' containing the true file name, and then adding
    the file with a truncated name. The idea is that tar without this
    extension will write out a file with the long file name, and write the
    contents into a file with truncated name.
    
    Unfortunately, GNU tar does a lousy job at times. When truncating results
    in a _directory_ name, it will happily use _that_ as a truncated name for
    the file.
    
    An example where this actually happens is gcc-4.1.2, where the full path
    of the file WeThrowThisExceptionHelper.java truncates _exactly_ before the
    basename. So, we have to support that ad-hoc extension.
    
    This bug was noticed by Chris Riddoch on IRC.
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    dscho committed with spearce May 1, 2007
Commits on May 1, 2007
  1. Fix compilation of test-delta

    The code used write_in_full() without pulling its declarations from the
    header file.  When header is included, usage[] collides with usage()
    function.
    
    Signed-off-by: Martin Koegler <mkoegler@auto.tuwien.ac.at>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Martin Koegler committed with Junio C Hamano May 1, 2007
  2. GIT v1.5.2-rc1

    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Junio C Hamano committed May 1, 2007
  3. Merge branch 'maint'

    * maint:
      GIT v1.5.1.3
      send-email documentation: clarify --smtp-server
      git.7: Mention preformatted html doc location
      Clarify SubmittingPatches Checklist
      git-svn: Add 'find-rev' command
      Fix symlink handling in git-svn, related to PerlIO
    Junio C Hamano committed May 1, 2007