1. 21 9月, 2005 5 次提交
  2. 20 9月, 2005 5 次提交
  3. 19 9月, 2005 9 次提交
  4. 18 9月, 2005 11 次提交
  5. 17 9月, 2005 7 次提交
    • L
      [PATCH] Avoid building object ref lists when not needed · 8805ccac
      Linus Torvalds 提交于
      The object parsing code builds a generic "this object references that
      object" because doing a full connectivity check for fsck requires it.
      
      However, nothing else really needs it, and it's quite expensive for
      git-rev-list that can have tons of objects in flight.
      
      So, exactly like the commit buffer save thing, add a global flag to
      disable it, and use it in git-rev-list.
      
      Before:
      
      	$ /usr/bin/time git-rev-list --objects v2.6.12..HEAD | wc -l
      	12.28user 0.29system 0:12.57elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
      	0inputs+0outputs (0major+26718minor)pagefaults 0swaps
      	59124
      
      After this change:
      
      	$ /usr/bin/time git-rev-list --objects v2.6.12..HEAD | wc -l
      	10.33user 0.18system 0:10.54elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
      	0inputs+0outputs (0major+18509minor)pagefaults 0swaps
      	59124
      
      and note how the number of pages touched by git-rev-list for this
      particular object list has shrunk from 26,718 (104 MB) to 18,509 (72 MB).
      
      Calculating the total object difference between two git revisions is still
      clearly the most expensive git operation (both in memory and CPU time),
      but it's now less than 40% of what it used to be.
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      8805ccac
    • L
      [PATCH] Improve git-rev-list memory usage further · b0d8923e
      Linus Torvalds 提交于
      This avoids keeping tree entries around, and free's them as it traverses
      the list. This avoids building up a huge memory footprint just for these
      small but very common allocations.
      
      Before:
      
      	$ /usr/bin/time git-rev-list --objects v2.6.12..HEAD | wc -l
      	11.65user 0.38system 0:12.65elapsed 95%CPU (0avgtext+0avgdata 0maxresident)k
      	0inputs+0outputs (0major+42934minor)pagefaults 0swaps
      	59124
      
      After:
      
      	$ /usr/bin/time git-rev-list --objects v2.6.12..HEAD | wc -l
      	12.28user 0.29system 0:12.57elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
      	0inputs+0outputs (0major+26718minor)pagefaults 0swaps
      	59124
      
      Note how the minor fault numbers - which ends up being how many pages we
      needed to map - go down from 42934 (167 MB) to 26718 (104 MB).  That is:
      
      Before:
      	42934 minor pagefaults
      
      After:
      
      	26718 minor pagefaults
      
      This is all in _addition_ to the previous fixes.  It used to be
      ~48,000 pagefaults.
      
      That's still a honking big memory footprint, but it's about half of what
      it was just a day or two ago (and this is the object list for a pretty big
      update - almost 60,000 objects. Smaller updates need less memory).
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      b0d8923e
    • J
      [PATCH] fetch.c: cleanups · d0ac30f2
      Junio C Hamano 提交于
      Clean-ups suggested by Sergey Vlasov and acked by Daniel Barkalow.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      d0ac30f2
    • M
      [PATCH] Debian: build-depend on "bc" · 28423758
      Matthias Urlichs 提交于
      Build systems should run tests. This patch adds the necessary
      debian/control and debian/rules bits ("bc" was missing,
      t/t4002-diff-basic.sh wants it).
      Signed-off-by: NMatthias Urlichs <smurf@smurf.noris.de>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      28423758
    • J
      [PATCH] Make git-checkout failure message more friendly. · 6b82d16b
      Junio C Hamano 提交于
      ... or less so, perhaps ;-).  Suggested by Jeff Garzik.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      6b82d16b
    • C
      [PATCH] Update git-core.spec.in · 0e60471c
      Chris Wright 提交于
      Update git-core spec file based on feedback from Fedora Extras review.
      
      - update BuildRoot to be more specific
      - eliminate Requires that must be satisfied for base system install
      - drop Vendor
      - use dist tag to differentiate between branches
      - own %{_datadir}/git-core/
      - use RPM_OPT_FLAGS in spec file
      Signed-off-by: NChris Wright <chrisw@osdl.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      0e60471c
    • P
      [PATCH] PATCH Documentation/git-rev-list.txt typo fix · ed0a8488
      Peter Hagervall 提交于
      An earlier commit causes a mismatch in <emphasis> and <superscript>
      tags, one way of fixing it is having no more than one caret symbol per
      line, which is the only solution I found in the asciidoc
      documentation. Ugly, but it works.
      
      [jc: ugly indeed but that is not Peter's fault.]
      Signed-off-by: NPeter Hagervall <hager@cs.umu.se>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      ed0a8488
  6. 16 9月, 2005 3 次提交