1. 10 5月, 2006 7 次提交
    • J
      Merge branch 'jc/clean' · 8c2462dc
      Junio C Hamano 提交于
      * jc/clean:
        Teach git-clean optional <paths>... parameters.
      8c2462dc
    • J
      Merge branch 'mw/alternates' · 2c49009d
      Junio C Hamano 提交于
      * mw/alternates:
        clone: don't clone the info/alternates file
        test case for transitive info/alternates
        Transitively read alternatives
      2c49009d
    • J
      Merge branch 'jc/xsha1' · b9895c06
      Junio C Hamano 提交于
      * jc/xsha1:
        get_sha1() - fix infinite loop on nonexistent stage.
        get_sha1(): :path and :[0-3]:path to extract from index.
      b9895c06
    • J
      Merge branch 'jc/again' · 143f4d94
      Junio C Hamano 提交于
      * jc/again:
        Fix users of prefix_path() to free() only when necessary
        update-index --again: take optional pathspecs
        update-index --again
      143f4d94
    • J
      Merge branch 'np/delta' · 4edd4472
      Junio C Hamano 提交于
      * np/delta:
        improve diff-delta with sparse and/or repetitive data
        tiny optimization to diff-delta
        replace adler32 with Rabin's polynomial in diff-delta
        use delta index data when finding best delta matches
        split the diff-delta interface
      4edd4472
    • J
      Merge branch 'jc/bindiff' · 2fc240a7
      Junio C Hamano 提交于
      * jc/bindiff:
        improve base85 generated assembly code
        binary diff and apply: testsuite.
        binary diff: further updates.
        binary patch.
      2fc240a7
    • J
      Merge branch 'fix' · 016cd9f6
      Junio C Hamano 提交于
      * fix:
        read-cache.c: use xcalloc() not calloc()
        apply: fix infinite loop with multiple patches with --index
      016cd9f6
  2. 09 5月, 2006 9 次提交
  3. 08 5月, 2006 11 次提交
  4. 07 5月, 2006 4 次提交
  5. 06 5月, 2006 9 次提交
    • J
      binary diff and apply: testsuite. · 42d0ee83
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      42d0ee83
    • J
      update-index --again: take optional pathspecs · 22293b9c
      Junio C Hamano 提交于
      When pathspecs are given, update-index --again further limits
      the set of paths to be updated to those that match them.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      22293b9c
    • J
      update-index --again · 83e77a25
      Junio C Hamano 提交于
      After running 'git-update-index' for some paths, you may want to
      do the update on the same set of paths again.
      
      The new flag --again checks the paths whose index entries are
      are different from the HEAD commit and updates them from the
      working tree contents.
      
      This was brought up by Carl Worth on #git.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      83e77a25
    • J
      update-index: plug memory leak from prefix_path() · fb69a760
      Junio C Hamano 提交于
      prefix_path() sometimes allocates new memory and returns it, and
      other times returns the incoming path argument intact.  The
      callers need to be a bit careful not to leak memory.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      fb69a760
    • J
      checkout-index: plug memory leak from prefix_path() · dc46da22
      Junio C Hamano 提交于
      prefix_path() sometimes allocates new memory and returns it, and
      other times returns the incoming path argument intact.  The
      callers need to be a bit careful not to leak memory.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      dc46da22
    • J
      update-index --unresolve: work from a subdirectory. · 09895c1f
      Junio C Hamano 提交于
      It completely forgot to take the prefix into account, so you
      had to feed the full path even when you start from a
      subdirectory, which was nonsensical.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      09895c1f
    • J
      binary diff: further updates. · 0660626c
      Junio C Hamano 提交于
      This updates the user interface and generated diff data format.
      
       * "diff --binary" is used to signal that we want an e-mailable
         binary patch.  It implies --full-index and -p.
      
       * "apply --allow-binary-replacement" acquired a short synonym
         "apply --binary".
      
       * After the "GIT binary patch\n" header line there is a token
         to record which binary patch mechanism was used, so that we
         can extend it later.  Currently there are two mechanisms
         defined: "literal" and "delta".  The former records the
         deflated postimage and the latter records the deflated delta
         from the preimage to postimage.
      
         For purely implementation convenience, I added the deflated
         length after these "literal/delta" tokens (otherwise the
         decoding side needs to guess and reallocate the buffer while
         inflating).  Improvement patches are very welcomed.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      0660626c
    • J
      binary patch. · 051308f6
      Junio C Hamano 提交于
      This adds "binary patch" to the diff output and teaches apply
      what to do with them.
      
      On the diff generation side, traditionally, we said "Binary
      files differ\n" without giving anything other than the preimage
      and postimage object name on the index line.  This was good
      enough for applying a patch generated from your own repository
      (very useful while rebasing), because the postimage would be
      available in such a case.  However, this was not useful when the
      recipient of such a patch via e-mail were to apply it, even if
      the preimage was available.
      
      This patch allows the diff to generate "binary" patch when
      operating under --full-index option.  The binary patch follows
      the usual extended git diff headers, and looks like this:
      
      	"GIT binary patch\n"
      	<length byte><data>"\n"
      	...
      	"\n"
      
      Each line is prefixed with a "length-byte", whose value is upper
      or lowercase alphabet that encodes number of bytes that the data
      on the line decodes to (1..52 -- 'A' means 1, 'B' means 2, ...,
      'Z' means 26, 'a' means 27, ...).  <data> is 1 or more groups of
      5-byte sequence, each of which encodes up to 4 bytes in base85
      encoding.  Because 52 / 4 * 5 = 65 and we have the length byte,
      an output line is capped to 66 characters.  The payload is the
      same diff-delta as we use in the packfiles.
      
      On the consumption side, git-apply now can decode and apply the
      binary patch when --allow-binary-replacement is given, the diff
      was generated with --full-index, and the receiving repository
      has the preimage blob, which is the same condition as it always
      required when accepting an "Binary files differ\n" patch.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      051308f6
    • J
      pack-object: squelch eye-candy on non-tty · 86118bcb
      Junio C Hamano 提交于
      One of my post-update scripts runs a git-fetch into a separate
      repository and sends the results back to me (2>&1); I end up
      getting this in the mail:
      
          Generating pack...
          Done counting 180 objects.
          Result has 131 objects.
          Deltifying 131 objects.
             0% (0/131) done^M   1% (2/131) done^M...
      
      This defaults not to do the progress report when not on a tty.
      
      You could give --progress to force the progress report, but
      let's not bother even documenting it nor mentioning it in the
      usage string.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      86118bcb