1. 31 5月, 2007 2 次提交
  2. 29 5月, 2007 23 次提交
  3. 27 5月, 2007 5 次提交
    • S
      git-gui: Guess our share/git-gui/lib path at runtime if possible · ea75ee35
      Shawn O. Pearce 提交于
      Johannes Sixt asked me to try to avoid embedding the runtime location
      of git-gui's library directory in the executable script.  Not embedding
      it helps the MinGW to be relocatable to another directory should a user
      wish to install the programs in a directory other than the location the
      packager wanted them to be installed into.
      
      Most of this is a hack.  We try to determine if the path of our master
      git-gui script will be able to locate the lib by ../share/git-gui/lib.
      This should be true if $(gitexecdir) and $(libdir) have the same prefix.
      If they do then we defer the assignment of $(libdir) until runtime, and
      we get it from $argv0 rather than embedding it into the script itself.
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      ea75ee35
    • N
      update diff-delta.c copyright · 366b53c1
      Nicolas Pitre 提交于
      There is actually nothing left from the original LibXDiff code I used
      over 2 years ago, and even the GIT implementation has diverged quite a
      bit from LibXDiff's at this point.  Let's update the copyright notice
      to better reflect that fact.
      Signed-off-by: NNicolas Pitre <nico@cam.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      366b53c1
    • N
      improve delta long block matching with big files · 84336696
      Nicolas Pitre 提交于
      Martin Koegler noted that create_delta() performs a new hash lookup
      after every block copy encoding which are currently limited to 64KB.
      
      In case of larger identical blocks, the next hash lookup would normally
      point to the next 64KB block in the reference buffer and multiple block
      copy operations will be consecutively encoded.
      
      It is however possible that the reference buffer be sparsely indexed if
      hash buckets have been trimmed down in create_delta_index() when hashing
      of the reference buffer isn't well balanced.  In that case the hash
      lookup following a block copy might fail to match anything and the fact
      that the reference buffer still matches beyond the previous 64KB block
      will be missed.
      
      Let's rework the code so that buffer comparison isn't bounded to 64KB
      anymore.  The match size should be as large as possible up front and
      only then should multiple block copy be encoded to cover it all.
      Also, fewer hash lookups will be performed in the end.
      
      According to Martin, this patch should reduce his 92MB pack down to 75MB
      with the dataset he has.
      
      Tests performed on the Linux kernel repo show a slightly smaller pack and
      a slightly faster repack.
      Signed-off-by: NNicolas Pitre <nico@cam.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      84336696
    • L
      Make the pack-refs interfaces usable from outside · 99b5a79e
      Linus Torvalds 提交于
      This just basically creates a "pack_refs()" function that could be used by
      anybody. You pass it in the flags you want as a bitmask (PACK_REFS_ALL and
      PACK_REFS_PRUNE), and it will do all the heavy lifting.
      
      Of course, it's still static, and it's all in the builtin-pack-refs.c
      file, so it's not actually visible to the outside, but the next step would
      be to just move it all to a library file (probably refs.c) and expose it.
      
      Then we could easily make "git gc" do this too.
      
      While I did it, I also made it check the return value of the fflush and
      fsync stage, to make sure that we don't overwrite the old packed-refs file
      with something that got truncated due to write errors!
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      99b5a79e
    • J
      Merge branch 'maint' · c56ed464
      Junio C Hamano 提交于
      * maint:
        Fix git-svn to handle svn not reporting the md5sum of a file, and test.
        Fix mishandling of $Id$ expanded in the repository copy in convert.c
        More echo "$user_message" fixes.
        Add tests for the last two fixes.
        git-commit: use printf '%s\n' instead of echo on user-supplied strings
        git-am: use printf instead of echo on user-supplied strings
        Documentation: Add definition of "evil merge" to GIT Glossary
        Replace the last 'dircache's by 'index'
        Documentation: Clean up links in GIT Glossary
      c56ed464
  4. 26 5月, 2007 10 次提交