<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/git-merge-recursive.py, branch v1.2.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v1.2.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v1.2.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2006-02-02T20:30:51Z</updated>
<entry>
<title>merge-recursive: Make use of provided bases</title>
<updated>2006-02-02T20:30:51Z</updated>
<author>
<name>Fredrik Kuivinen</name>
<email>freku045@student.liu.se</email>
</author>
<published>2006-02-02T11:43:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=008bb6ea695e14740bfd14bec805cde6219b336e'/>
<id>urn:sha1:008bb6ea695e14740bfd14bec805cde6219b336e</id>
<content type='text'>
This makes some cases faster as we don't have to build the commit graph.

Signed-off-by: Fredrik Kuivinen &lt;freku045@student.liu.se&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>merge-recursive: Improve the error message printed when merge(1) isn't found.</title>
<updated>2006-01-29T23:00:42Z</updated>
<author>
<name>Fredrik Kuivinen</name>
<email>freku045@student.liu.se</email>
</author>
<published>2006-01-29T12:16:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4353f386166d74fd96cb552900fc22f6df211c21'/>
<id>urn:sha1:4353f386166d74fd96cb552900fc22f6df211c21</id>
<content type='text'>
Signed-off-by: Fredrik Kuivinen &lt;freku045@student.liu.se&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>merge-recursive: conflicting rename case.</title>
<updated>2005-12-22T06:34:59Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-12-12T00:44:05Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=724b511d4fb363ebee828ba3992c831ba006444c'/>
<id>urn:sha1:724b511d4fb363ebee828ba3992c831ba006444c</id>
<content type='text'>
This changes the way the case two branches rename the same path
to different paths is handled.  Earlier, the code removed the
original path and added both destinations to the index at
stage0.  This commit changes it to leave the original path at
stage1, and two destination paths at stage2 and stage3,
respectively.

[jc: I am not really sure if this makes much difference in the
real life merge situations.  What should happen when our branch
renames A to B and M to N, while their branch renames A to M?
That is, M remains in our tree as is.]

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>merge-recursive: cleanup setIndexStages</title>
<updated>2005-12-11T09:55:52Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-12-11T09:55:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=157dc07368faf6537af1d2ce676a4f2dda2f71a6'/>
<id>urn:sha1:157dc07368faf6537af1d2ce676a4f2dda2f71a6</id>
<content type='text'>
Fredrik points out there is a useful wrapper runProgram() used
everywhere that we can use to feed input into subprocess.  Use
it to catch errors from the subprocess; it is a good cleanup as
well.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>merge-recursive: leave unmerged entries in the index.</title>
<updated>2005-12-11T09:47:15Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-12-11T06:05:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=28e77a81647584bfbe112f19e12e9952ab0b2fab'/>
<id>urn:sha1:28e77a81647584bfbe112f19e12e9952ab0b2fab</id>
<content type='text'>
This does two things.

 - When one branch renamed and the other branch did not, the
   resulting half-merged file in the working tree used to swap
   branches around and showed as if renaming side was "ours".
   This was confusing and inconsistent (even though the conflict
   markers were marked with branch names, it was not a good
   enough excuse).  This changes the order of arguments to
   mergeFile in such a case to make sure we always see "our"
   change between &lt;&lt;&lt; and ===, and "their" change between ===
   and &gt;&gt;&gt;.

 - When both branches renamed to the same path, and when one
   branch renamed and the other branch did not, we attempt
   mergeFile.  When this automerge conflicted, we used to
   collapse the index.  Now we use update-index --index-info
   to inject higher stage entries to leave the index in unmerged
   state for these two cases.

What this still does _not_ do is to inject unmerged state into
the index when the structural changes conflict.  I have not
thought things through what to do in each case yet, but the
cases this commit cover are the most common ones, so this would
be a good start.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>merge-recursive: adjust git-ls-tree use for the latest.</title>
<updated>2005-12-02T05:39:41Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-12-02T05:39:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a6b51f11ab7f7f838a9b17f81059eebfc36e4c84'/>
<id>urn:sha1:a6b51f11ab7f7f838a9b17f81059eebfc36e4c84</id>
<content type='text'>
You need to pass -t flag if you want to see tree objects in
"git-ls-tree -r" output these days.  This change broke the tree
structure reading code in git-merge-recursive used to detect D/F
conflicts.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>merge-recursive: match the unmerged index entry behaviour with merge-resolve</title>
<updated>2005-11-30T10:37:06Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-11-30T10:37:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=58cce8a85da745e20c9527c569a0e0935ff3ab30'/>
<id>urn:sha1:58cce8a85da745e20c9527c569a0e0935ff3ab30</id>
<content type='text'>
This minimally changes merge-recursive to match what happens
when O-&gt;A, O-&gt;B, A!=B 3-way filelevel merge leaves conflicts to
the new merge-resolve behaviour.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>merge-recursive: Replace 'except:'</title>
<updated>2005-11-20T18:47:16Z</updated>
<author>
<name>Fredrik Kuivinen</name>
<email>freku045@student.liu.se</email>
</author>
<published>2005-11-20T12:14:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a6322d079b1d2e2cb72da1271171b35a173f3d22'/>
<id>urn:sha1:a6322d079b1d2e2cb72da1271171b35a173f3d22</id>
<content type='text'>
Plain except:s are evil as they will catch all kinds of exceptions
including NameError and AttrubiteError.

Signed-off-by: Fredrik Kuivinen &lt;freku045@student.liu.se&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>merge-recursive::removeFile: remove empty directories</title>
<updated>2005-11-20T03:57:54Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-11-20T03:50:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=80e21a9ed809d98788ff6fb705d911bee37d460b'/>
<id>urn:sha1:80e21a9ed809d98788ff6fb705d911bee37d460b</id>
<content type='text'>
When the last file in a directory is removed as the result of a
merge, try to rmdir the now-empty directory.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Give python a chance to find "backported" modules</title>
<updated>2005-11-16T06:10:59Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>Johannes.Schindelin@gmx.de</email>
</author>
<published>2005-11-16T02:33:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ad4f4daae80cb00000aca76e1528add6daf8f033'/>
<id>urn:sha1:ad4f4daae80cb00000aca76e1528add6daf8f033</id>
<content type='text'>
python 2.2.1 is perfectly capable of executing git-merge-recursive,
provided that it finds heapq and sets. All you have to do is to steal
heapq.py and sets.py from python 2.3 or newer, and drop them in your
GIT_PYTHON_PATH.

Signed-off-by: Johannes Schindelin &lt;Johannes.Schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
</feed>
