1. 08 Jun, 2005 9 commits
  2. 07 Jun, 2005 18 commits
  3. 06 Jun, 2005 13 commits
    • Linus Torvalds's avatar
      git-read-tree: some "final" cleanups · 45132251
      Linus Torvalds authored
      Looking good, but hey, it's not like I even have a real testcase for any
      of this.  But unlike the mess that this was yerstday, today read-cache
      is pretty readable and understandable.  Which is always a good sign.
      45132251
    • Linus Torvalds's avatar
      git-read-tree: simplify merge loops enormously · d723c690
      Linus Torvalds authored
      Stop trying to haev this stateful thing that keeps track of what it has
      seen, and use a much simpler "gather all the different stages with the
      same name together and just merge them in one go" approach.
      
      Makes it a lot more understandable, and allows the different merge
      algorithms to share the basic merge loop.
      d723c690
    • Junio C Hamano's avatar
      [PATCH] index locking like everybody else · 96cd5429
      Junio C Hamano authored
      This patch teaches read-tree how to use the index file locking
      helpers the same way "checkout-cache -u" and "update-cache" do.
      Signed-off-by: default avatarJunio C Hamano <[email protected]>
      Signed-off-by: default avatarLinus Torvalds <[email protected]>
      96cd5429
    • Linus Torvalds's avatar
      Add "__noreturn__" attribute to die() and usage() · 90334cf7
      Linus Torvalds authored
      Only with gcc. It fixes some warnings for certain versions
      of gcc, but not apparently all.
      90334cf7
    • Linus Torvalds's avatar
      git-rev-list: make sure to link with ssl libraries · 64de3562
      Linus Torvalds authored
      Needed for the bignum stuff used by merge-order.
      64de3562
    • jon@blackcubes.dyndns.org's avatar
      [PATCH] Modify git-rev-list to linearise the commit history in merge order. · a3437b8c
      [email protected] authored
      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: Jon Seymour's avatarJon Seymour <[email protected]>
      Signed-off-by: default avatarLinus Torvalds <[email protected]>
      a3437b8c
    • Linus Torvalds's avatar
      Fix off-by-one in new three-way-merge updates · d925ffbd
      Linus Torvalds authored
      That's the final one ("Yeah, sure, we believe you").
      
      Anyway, at least the tests pass, which is not saying a lot, since they
      don't end up testing all the new the things that the new merge world
      order tries to do. But hopefully we're now at least not any worse off
      than we were before the rewrite.
      d925ffbd
    • Junio C Hamano's avatar
      [PATCH] 3-way merge tests for new "git-read-tree -m"? · c3f13d59
      Junio C Hamano authored
      The updated git-tread-tree -m is more strict in that it wants to
      have the original cache up to date.  The initial part of t1000
      (merge tests from hell) fails due to it.
      Signed-off-by: default avatarJunio C Hamano <[email protected]>
      Signed-off-by: default avatarLinus Torvalds <[email protected]>
      c3f13d59
    • Linus Torvalds's avatar
      Three-way merge: fix silly bug that made trivial merges not work · a76d74fb
      Linus Torvalds authored
      Making the main loop look more like the one- and two-way cases
      introduced a bug where "src" had been updated early, but later
      users hadn't been adjusted to match.
      a76d74fb
    • Linus Torvalds's avatar
      Fix entry.c dependency and compile problem · 6ee67f26
      Linus Torvalds authored
      Bad Linus.
      6ee67f26
    • Linus Torvalds's avatar
      git-read-tree: fix up two-way merge · e6ee623b
      Linus Torvalds authored
      This is starting to look better.
      e6ee623b
    • Linus Torvalds's avatar
      More work on merging with git-read-tree.. · 220a0b52
      Linus Torvalds authored
      Add a "-u" flag to update the tree as a result of a merge.
      
      Right now this code is way too anal about things, and fails merges it
      shouldn't, but let me fix up the different cases and this will allow for
      much smoother merging even in the presense of dirty data in the working
      tree.
      220a0b52
    • Linus Torvalds's avatar
      Make fiel checkout function available to the git library · 12dccc16
      Linus Torvalds authored
      The merge stuff will want it soon, and we don't want to
      duplicate all the work..
      12dccc16