1. 15 8月, 2007 5 次提交
  2. 14 8月, 2007 16 次提交
  3. 13 8月, 2007 2 次提交
    • P
      gitk: Fix bug causing Tcl error when updating graph · a69b2d1a
      Paul Mackerras 提交于
      If "Show nearby tags" is turned off, selecting "Update" from the File
      menu will cause a Tcl error.  This fixes it.  The problem was that
      we were calling regetallcommits unconditionally, but it assumed that
      getallcommits had been called previously.  This also restructures
      {re,}getallcommits to be a bit simpler.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      a69b2d1a
    • P
      gitk: Fix bug introduced in commit 67a4f1a7 · 7b459a1c
      Paul Mackerras 提交于
      In fixing the "can't unset idinlist" error, I moved the setting of
      idinlist into the loop that splits the parents into "new" parents
      (i.e. those of which this is the first child) and "old" parents.
      Unfortunately this is incorrect in the case where we hit the break
      statement a few lines further down, since when we come back in,
      we'll see idinlist($p) set for some parents that aren't in the list.
      
      This fixes it by moving the loop that sets up newolds and oldolds
      further down.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      7b459a1c
  4. 12 8月, 2007 5 次提交
  5. 11 8月, 2007 12 次提交
    • D
      Documentation/Makefile: remove cmd-list.made before redirecting to it. · f9286765
      David Kastrup 提交于
      If cmd-list.made has been created by a previous run as root, output
      redirection to it will fail.  So remove it before regeneration.
      Signed-off-by: NDavid Kastrup <dak@gnu.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      f9286765
    • J
      Merge branch 'cr/tag' · 55d1932b
      Junio C Hamano 提交于
      * cr/tag:
        Teach "git stripspace" the --strip-comments option
        Make verify-tag a builtin.
        builtin-tag.c: Fix two memory leaks and minor notation changes.
        launch_editor(): Heed GIT_EDITOR and core.editor settings
        Make git tag a builtin.
      55d1932b
    • D
      INSTALL: explain info installation and dependencies. · 98e79f63
      David Kastrup 提交于
      Signed-off-by: NDavid Kastrup <dak@gnu.org>
      98e79f63
    • D
      Add support for an info version of the user manual · 4739809c
      David Kastrup 提交于
      These patches use docbook2x in order to create an info version of the
      git user manual.  No existing Makefile targets (including "all") are
      touched, so you need to explicitly say
      
      make info
      sudo make install-info
      
      to get git.info created and installed.  If the info target directory
      does not already contain a "dir" file, no directory entry is created.
      This facilitates $(DESTDIR)-based installations.  The same could be
      achieved with
      
      sudo make INSTALL_INFO=: install-info
      
      explicitly.
      
      perl is used for patching up sub-par file and directory information in
      the Texinfo file.  It would be cleaner to place the respective info
      straight into user-manual.txt or the conversion configurations, but I
      find myself unable to find out how to do this with Asciidoc/Texinfo.
      Signed-off-by: NDavid Kastrup <dak@gnu.org>
      4739809c
    • J
      Merge branch 'jc/clone' · fa548703
      Junio C Hamano 提交于
      * jc/clone:
        git-clone: aggressively optimize local clone behaviour.
        connect: accept file:// URL scheme
      fa548703
    • L
      Optimize the three-way merge of git-read-tree · 566b5c05
      Linus Torvalds 提交于
      As mentioned, the three-way case *should* be as trivial as the
      following. It passes all the tests, and I verified that a conflicting
      merge in the 100,000 file horror-case merged correctly (with the conflict
      markers) in 0.687 seconds with this, so it works, but I'm lazy and
      somebody else should double-check it [jc: followed all three-way merge
      codepaths and verified it removes when it should].
      
      Without this patch, the merge took 8.355 seconds, so this patch
      really does make a huge difference for merge performance with lots and
      lots of files, and we're not talking percentages, we're talking
      orders-of-magnitude differences!
      
      Now "unpack_trees()" is just fast enough that we don't need to avoid it
      (although it's probably still a good idea to eventually convert it to use
      the traverse_trees() infrastructure some day - just to avoid having
      extraneous tree traversal functions).
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      566b5c05
    • A
      Fix filehandle leak in "git branch -D" · cbbb218f
      Alex Riesen 提交于
      On Windows (it can't touch open files in any way) the following fails:
      
          git branch -D branch1 branch2
      
      if the both branches are in packed-refs.
      Signed-off-by: NAlex Riesen <raa.lkml@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      cbbb218f
    • M
      builtin-bundle - use buffered reads for bundle header · 21a02980
      Mark Levedahl 提交于
      This eliminates all use of byte-at-a-time reading of data in this
      function: as Junio noted, a bundle file is seekable so we can
      reset the file position to the first part of the pack-file using lseek
      after reading the header.
      Signed-off-by: NMark Levedahl <mdl123@verizon.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      21a02980
    • M
      builtin-bundle.c - use stream buffered input for rev-list · 442b67a5
      Mark Levedahl 提交于
      git-bundle create on cygwin was nearly unusable due to 1 character
      at a time (unbuffered) reading from an exec'ed process. Fix by using
      fdopen to get a buffered stream.
      
      Results for "time git bundle create test.bdl v1.0.3..v1.5.2" are:
      
      before this patch:
               cygwin         linux
      real    1m38.828s      0m3.578s
      user    0m12.122s      0m2.896s
      sys     1m28.215s      0m0.692s
      
      after this patch:
      real    0m3.688s       0m2.835s
      user    0m3.075s       0m2.731s
      sys     0m1.075s       0m0.149s
      Signed-off-by: NMark Levedahl <mdl123@verizon.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      442b67a5
    • J
      allow git-bundle to create bottomless bundle · c06793a4
      Junio C Hamano 提交于
      Mark Levedahl <mlevedahl@gmail.com> writes:
      
      > Junio C Hamano wrote:
      >> While "git bundle" was a useful way to sneakernet incremental
      >> changes, we did not allow:
      >>
      > Thanks - I've been thinking for months I could fix this bug, never
      > figured it out and didn't want to nag Dscho one more time. I confirm
      > that this allows creation of bundles with arbitrary refs, not just
      > those under refs/heads. Yahoo!
      
      Actually, there is another bug nearby.
      
      If you do:
      
      	git bundle create v2.6-20-v2.6.22.bndl v2.6.20..v2.6.22
      
      the bundle records that it requires v2.6.20^0 commit (correct)
      and gives you tag v2.6.22 (incorrect); the bug is that the
      object it lists in fact is the commit v2.6.22^0, not the tag.
      
      This is because the revision range operation .. is always about
      set of commits, but the code near where my patch touches does
      not validate that the sha1 value obtained from dwim_ref()
      against the commit object name e->item->sha1 before placing the
      head information in the commit.
      
      The attached patch attempts to fix this problem.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      c06793a4
    • J
      allow git-bundle to create bottomless bundle · 7fa8254f
      Junio C Hamano 提交于
      While "git bundle" was a useful way to sneakernet incremental
      changes, we did not allow:
      
      	$ git bundle create v2.6.20.bndl v2.6.20
      
      to create a bundle that contains the whole history to a
      well-known good revision.  Such a bundle can be mirrored
      everywhere, and people can prime their repository with it to
      reduce the load on the repository that serves near the tip of
      the development.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      7fa8254f
    • L
      Optimize the two-way merge of git-read-tree too · d699676d
      Linus Torvalds 提交于
      This trivially optimizes the two-way merge case of git-read-tree too,
      which affects switching branches.
      
      When you have tons and tons of files in your repository, but there are
      only small differences in the branches (maybe just a couple of files
      changed), the biggest cost of the branch switching was actually just the
      index calculations.
      
      This fixes it (timings for switching between the "testing" and "master"
      branches in the 100,000 file testing-repo-from-hell, where the branches
      only differ in one small file).
      
      Before:
      	[torvalds@woody bummer]$ time git checkout master
      	real    0m9.919s
      	user    0m8.461s
      	sys     0m0.264s
      
      After:
      	[torvalds@woody bummer]$ time git checkout testing
      	real    0m0.576s
      	user    0m0.348s
      	sys     0m0.228s
      
      so it's easily an order of magnitude different.
      
      This concludes the series. I think we could/should do the three-way merge
      too (to speed up merges), but I'm lazy. Somebody else can do it.
      
      The rule is very simple: you need to remove the old entry if:
       - you want to remove the file entirely
       - you replace it with a "merge conflict" entry (ie a non-stage-0 entry)
      
      and you can avoid removing it if you either
      
       - keep the old one
       - or resolve it to a new one.
      
      and these rules should all be valid for the three-way case too.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      d699676d