1. 04 11月, 2007 1 次提交
    • L
      Simplify topo-sort logic · 23c17d4a
      Linus Torvalds 提交于
      .. by not using quite so much indirection.
      
      This currently grows the "struct commit" a bit, which could be avoided by
      using a union for "util" and "indegree" (the topo-sort used to use "util"
      anyway, so you cannot use them together), but for now the goal of this was
      to simplify, not optimize.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      23c17d4a
  2. 02 11月, 2007 1 次提交
    • J
      format-patch -s: add MIME encoding header if signer's name requires so · 4593fb84
      Junio C Hamano 提交于
      When the body of the commit log message contains a non-ASCII character,
      format-patch correctly emitted the encoding header to mark the resulting
      message as such.  However, if the original message was fully ASCII, the
      command line switch "-s" was given to add a new sign-off, and
      the signer's name was not ASCII only, the resulting message would have
      contained non-ASCII character but was not marked as such.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      4593fb84
  3. 27 9月, 2007 2 次提交
  4. 11 9月, 2007 1 次提交
  5. 04 9月, 2007 1 次提交
  6. 13 6月, 2007 1 次提交
    • J
      Lift 16kB limit of log message output · 80583c0e
      Junio C Hamano 提交于
      Traditionally we had 16kB limit when formatting log messages for
      output, because it was easier to arrange for the caller to have
      a reasonably big buffer and pass it down without ever worrying
      about reallocating.
      
      This changes the calling convention of pretty_print_commit() to
      lift this limit.  Instead of the buffer and remaining length, it
      now takes a pointer to the pointer that points at the allocated
      buffer, and another pointer to the location that stores the
      allocated length, and reallocates the buffer as necessary.
      
      To support the user format, the error return of interpolate()
      needed to be changed.  It used to return a bool telling "Ok the
      result fits", or "Sorry, I had to truncate it".  Now it returns
      0 on success, and returns the size of the buffer it wants in
      order to fit the whole result.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      80583c0e
  7. 08 6月, 2007 1 次提交
  8. 07 6月, 2007 1 次提交
    • J
      War on whitespace · a6080a0a
      Junio C Hamano 提交于
      This uses "git-apply --whitespace=strip" to fix whitespace errors that have
      crept in to our source files over time.  There are a few files that need
      to have trailing whitespaces (most notably, test vectors).  The results
      still passes the test, and build result in Documentation/ area is unchanged.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      a6080a0a
  9. 26 4月, 2007 1 次提交
    • J
      Add --date={local,relative,default} · a7b02ccf
      Junio C Hamano 提交于
      This adds --date={local,relative,default} option to log family of commands,
      to allow displaying timestamps in user's local timezone, relative time, or
      the default format.
      
      Existing --relative-date option is a synonym of --date=relative; we could
      probably deprecate it in the long run.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      a7b02ccf
  10. 17 4月, 2007 1 次提交
  11. 23 2月, 2007 1 次提交
    • J
      pretty-formats: add 'format:<string>' · e52a5de4
      Johannes Schindelin 提交于
      With this patch,
      
      $ git show -s \
      	--pretty=format:'  Ze komit %h woss%n  dunn buy ze great %an'
      
      shows something like
      
        Ze komit 04c5c88 woss
        dunn buy ze great Junio C Hamano
      
      The supported placeholders are:
      
      	'%H': commit hash
      	'%h': abbreviated commit hash
      	'%T': tree hash
      	'%t': abbreviated tree hash
      	'%P': parent hashes
      	'%p': abbreviated parent hashes
      	'%an': author name
      	'%ae': author email
      	'%ad': author date
      	'%aD': author date, RFC2822 style
      	'%ar': author date, relative
      	'%at': author date, UNIX timestamp
      	'%cn': committer name
      	'%ce': committer email
      	'%cd': committer date
      	'%cD': committer date, RFC2822 style
      	'%cr': committer date, relative
      	'%ct': committer date, UNIX timestamp
      	'%e': encoding
      	'%s': subject
      	'%b': body
      	'%Cred': switch color to red
      	'%Cgreen': switch color to green
      	'%Cblue': switch color to blue
      	'%Creset': reset color
      	'%n': newline
      Signed-off-by: NJohannes Schindelin <johannes.schindelin@gmx.de>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      e52a5de4
  12. 22 1月, 2007 1 次提交
  13. 10 1月, 2007 1 次提交
  14. 21 12月, 2006 1 次提交
  15. 25 11月, 2006 2 次提交
  16. 29 8月, 2006 1 次提交
  17. 03 7月, 2006 1 次提交
  18. 02 7月, 2006 1 次提交
  19. 30 6月, 2006 1 次提交
  20. 18 6月, 2006 1 次提交
    • L
      Move "void *util" from "struct object" into "struct commit" · d3ff6f55
      Linus Torvalds 提交于
      Every single user actually wanted this only for commit objects, and we
      have no reason to waste space on it for other object types. So just move
      the structure member from the low-level "struct object" into the "struct
      commit".
      
      This leaves the commit object the same size, and removes one unnecessary
      pointer from all other object allocations.
      
      This shrinks memory usage (still at a fairly hefty half-gig, admittedly)
      of "git-rev-list --all --objects" on the mozilla repo by another 5% in my
      tests.
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      d3ff6f55
  21. 21 5月, 2006 1 次提交
  22. 06 5月, 2006 1 次提交
  23. 19 4月, 2006 1 次提交
  24. 16 4月, 2006 1 次提交
    • J
      Split init_revisions() out of setup_revisions() · 6b9c58f4
      Junio C Hamano 提交于
      Merging all three option parsers related to whatchanged is
      unarguably the right thing, but the fallout was too big to scare
      me away.  Let's try it once again, but once step at time.
      
      This splits out init_revisions() call from setup_revisions(), so
      that the callers can set different defaults to match the
      traditional benaviour.
      
      The rev-list command is still broken in a big way, which is the
      topic of next step.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      6b9c58f4
  25. 07 4月, 2006 1 次提交
  26. 11 3月, 2006 1 次提交
  27. 16 2月, 2006 1 次提交
  28. 28 1月, 2006 2 次提交
  29. 08 1月, 2006 1 次提交
  30. 11 11月, 2005 1 次提交
    • J
      Add --pretty=fuller · ff56fe1c
      Junio C Hamano 提交于
      git log without --pretty showed author and author-date, while
      with --pretty=full showed author and committer but no dates.
      The new formatting option, --pretty=fuller, shows both name and
      timestamp for author and committer.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      ff56fe1c
  31. 16 9月, 2005 1 次提交
    • L
      [PATCH] Avoid wasting memory in git-rev-list · 60ab26de
      Linus Torvalds 提交于
      As pointed out on the list, git-rev-list can use a lot of memory.
      
      One low-hanging fruit is to free the commit buffer for commits that we
      parse. By default, parse_commit() will save away the buffer, since a lot
      of cases do want it, and re-reading it continually would be unnecessary.
      However, in many cases the buffer isn't actually necessary and saving it
      just wastes memory.
      
      We could just free the buffer ourselves, but especially in git-rev-list,
      we actually end up using the helper functions that automatically add
      parent commits to the commit lists, so we don't actually control the
      commit parsing directly.
      
      Instead, just make this behaviour of "parse_commit()" a global flag.
      Maybe this is a bit tasteless, but it's very simple, and it makes a
      noticable difference in memory usage.
      
      Before the change:
      
      	[torvalds@g5 linux]$ /usr/bin/time git-rev-list v2.6.12..HEAD > /dev/null
      	0.26user 0.02system 0:00.28elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
      	0inputs+0outputs (0major+3714minor)pagefaults 0swaps
      
      after the change:
      
      	[torvalds@g5 linux]$ /usr/bin/time git-rev-list v2.6.12..HEAD > /dev/null
      	0.26user 0.00system 0:00.27elapsed 100%CPU (0avgtext+0avgdata 0maxresident)k
      	0inputs+0outputs (0major+2433minor)pagefaults 0swaps
      
      note how the minor faults have decreased from 3714 pages to 2433 pages.
      That's all due to the fewer anonymous pages allocated to hold the comment
      buffers and their metadata.
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      60ab26de
  32. 23 8月, 2005 1 次提交
    • J
      [PATCH] Add 'git show-branch'. · f76412ed
      Junio C Hamano 提交于
      The 'git show-branches' command turns out to be reasonably useful,
      but painfully slow.  So rewrite it in C, using ideas from merge-base
      while enhancing it a bit more.
      
       - Unlike show-branches, it can take --heads (show me all my
         heads), --tags (show me all my tags), or --all (both).
      
       - It can take --more=<number> to show beyond the merge-base.
      
       - It shows the short name for each commit in the extended SHA1
         syntax.
      
       - It can find merge-base for more than two heads.
      
      Examples:
      
          $ git show-branch --more=6 HEAD
      
          is almost the same as "git log --pretty=oneline --max-count=6".
      
          $ git show-branch --merge-base master mhf misc
      
          finds the merge base of the three given heads.
      
          $ git show-branch master mhf misc
      
          shows logs from the top of these three branch heads, up to their
          common ancestor commit is shown.
      
          $ git show-branch --all --more=10
      
          is poor-man's gitk, showing all the tags and heads, and
          going back 10 commits beyond the merge base of those refs.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      f76412ed
  33. 10 8月, 2005 1 次提交
  34. 07 7月, 2005 2 次提交
  35. 27 6月, 2005 1 次提交
  36. 09 6月, 2005 1 次提交