1. 07 7月, 2005 2 次提交
  2. 27 6月, 2005 1 次提交
  3. 09 6月, 2005 1 次提交
  4. 07 6月, 2005 1 次提交
    • J
      [PATCH] Modify git-rev-list to linearise the commit history in merge order. · a3437b8c
      jon@blackcubes.dyndns.org 提交于
      This patch linearises the GIT commit history graph into merge order
      which is defined by invariants specified in Documentation/git-rev-list.txt.
      
      The linearisation produced by this patch is superior in an objective sense
      to that produced by the existing git-rev-list implementation in that
      the linearisation produced is guaranteed to have the minimum number of
      discontinuities, where a discontinuity is defined as an adjacent pair of
      commits in the output list which are not related in a direct child-parent
      relationship.
      
      With this patch a graph like this:
      
      	a4 ---
      	| \   \
      	|  b4 |
      	|/ |  |
      	a3 |  |
      	|  |  |
      	a2 |  |
      	|  |  c3
      	|  |  |
      	|  |  c2
      	|  b3 |
      	|  | /|
      	|  b2 |
      	|  |  c1
      	|  | /
      	|  b1
      	a1 |
      	|  |
      	a0 |
      	| /
      	root
      
      Sorts like this:
      
      	= a4
      	| c3
      	| c2
      	| c1
      	^ b4
      	| b3
      	| b2
      	| b1
      	^ a3
      	| a2
      	| a1
      	| a0
      	= root
      
      Instead of this:
      
      	= a4
      	| c3
      	^ b4
      	| a3
      	^ c2
      	^ b3
      	^ a2
      	^ b2
      	^ c1
      	^ a1
      	^ b1
      	^ a0
      	= root
      
      A test script, t/t6000-rev-list.sh, includes a test which demonstrates
      that the linearisation produced by --merge-order has less discontinuities
      than the linearisation produced by git-rev-list without the --merge-order
      flag specified. To see this, do the following:
      
      	cd t
      	./t6000-rev-list.sh
      	cd trash
      	cat actual-default-order
      	cat actual-merge-order
      
      The existing behaviour of git-rev-list is preserved, by default. To obtain
      the modified behaviour, specify --merge-order or --merge-order --show-breaks
      on the command line.
      
      This version of the patch has been tested on the git repository and also on the linux-2.6
      repository and has reasonable performance on both - ~50-100% slower than the original algorithm.
      
      This version of the patch has incorporated a functional equivalent of the Linus' output limiting
      algorithm into the merge-order algorithm itself. This operates per the notes associated
      with Linus' commit 337cb3fb.
      
      This version has incorporated Linus' feedback regarding proposed changes to rev-list.c.
      (see: [PATCH] Factor out filtering in rev-list.c)
      
      This version has improved the way sort_first_epoch marks commits as uninteresting.
      
      For more details about this change, refer to Documentation/git-rev-list.txt
      and http://blackcubes.dyndns.org/epoch/.
      Signed-off-by: NJon Seymour <jon.seymour@gmail.com>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      a3437b8c
  5. 06 6月, 2005 1 次提交
    • L
      pretty_print_commit: add different formats · 000182ea
      Linus Torvalds 提交于
      You can ask to print out "raw" format (full headers, full body),
      "medium" format (author and date, full body) or "short" format
      (author only, condensed body).
      
      Use "git-rev-list --pretty=short HEAD | less -S" for an example.
      000182ea
  6. 01 6月, 2005 1 次提交
  7. 31 5月, 2005 1 次提交
  8. 26 5月, 2005 2 次提交
  9. 19 5月, 2005 1 次提交
  10. 07 5月, 2005 1 次提交
    • N
      [PATCH] don't load and decompress objects twice with parse_object() · bd2c39f5
      Nicolas Pitre 提交于
      It turns out that parse_object() is loading and decompressing given
      object to free it just before calling the specific object parsing
      function which does mmap and decompress the same object again. This
      patch introduces the ability to parse specific objects directly from a
      memory buffer.
      
      Without this patch, running git-fsck-cache on the kernel repositorytake:
      
      	real    0m13.006s
      	user    0m11.421s
      	sys     0m1.218s
      
      With this patch applied:
      
      	real    0m8.060s
      	user    0m7.071s
      	sys     0m0.710s
      
      The performance increase is significant, and this is kind of a
      prerequisite for sane delta object support with fsck.
      Signed-off-by: NNicolas Pitre <nico@cam.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      bd2c39f5
  11. 24 4月, 2005 2 次提交
  12. 19 4月, 2005 1 次提交