Commit Graph

19 Commits

Author SHA1 Message Date
Junio C Hamano
58cce8a85d merge-recursive: match the unmerged index entry behaviour with merge-resolve
This minimally changes merge-recursive to match what happens
when O->A, O->B, A!=B 3-way filelevel merge leaves conflicts to
the new merge-resolve behaviour.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-30 02:37:06 -08:00
Fredrik Kuivinen
a6322d079b merge-recursive: Replace 'except:'
Plain except:s are evil as they will catch all kinds of exceptions
including NameError and AttrubiteError.

Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-20 10:47:16 -08:00
Junio C Hamano
80e21a9ed8 merge-recursive::removeFile: remove empty directories
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 <junkio@cox.net>
2005-11-19 19:57:54 -08:00
Johannes Schindelin
ad4f4daae8 Give python a chance to find "backported" modules
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 <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-15 22:10:59 -08:00
Fredrik Kuivinen
e9af60c88b merge-recursive: Use '~' instead of '_' to separate file names from branch names
Makes it less probable that we get a clash with an existing file,
furthermore Cogito already uses '~' for this purpose.

Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-11 21:14:39 -08:00
Fredrik Kuivinen
857f26d2f4 merge-recursive: Add copyright notice
Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-11 21:14:36 -08:00
Fredrik Kuivinen
46e651743a merge-recursive: Indent the output properly
If we have multiple common ancestors and have to recursively merge
them then the output will be much more readable with this commit.

Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-11 21:14:34 -08:00
Fredrik Kuivinen
186f855fc6 merge-recursive: Fix support for branch names containing slashes
A branch name could have a slash in it.

Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-09 12:32:36 -08:00
Fredrik Kuivinen
c8a4f5e542 merge-recursive: Fix limited output of rename messages
The previous code did the right thing, but it did it by accident.

Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-09 12:32:34 -08:00
Fredrik Kuivinen
d1745afa2f merge-recursive: Only print relevant rename messages
It isn't really interesting to know about the renames that have
already been committed to the branch you are working on. Furthermore,
the 'git-apply --stat' at the end of git-(merge|pull) will tell us
about any renames in the other branch.

With this commit only renames which require a file-level merge will
be printed.

Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-07 17:13:10 -08:00
Junio C Hamano
4769948afe Deal with $(bindir) and friends with whitespaces.
... using HPA's shellquote macro.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-10 13:51:52 -07:00
Fredrik Kuivinen
af215114f5 [PATCH] Teach the recursive merge strategy about renames.
It will now merge cases where a file was renamed in one branch and
modified in the other branch cleanly. We also detect a couple of
conflict cases now that wasn't detected before.

Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-02 10:03:00 -07:00
Fredrik Kuivinen
0bed18998a [PATCH] recursive-merge: Don't print a stack trace when read-tree fails.
If the working tree is dirty read-tree will fail, and we don't want an
ugly stack trace in that case. Also make sure we don't print stack
traces when we use 'die'.

Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-25 16:08:53 -07:00
Junio C Hamano
74376a6864 git-merge-recursive: Trivial RE fixes.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-13 21:09:03 -07:00
Fredrik Kuivinen
6511cce24b [PATCH] Use a temporary index file when we merge the common ancestors.
With this change we can get rid of a call to 'git-update-index
--refresh'.

Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-13 15:45:25 -07:00
Fredrik Kuivinen
87a71b65ac [PATCH] Adjust git-merge-recursive.py for the new tool names.
Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-13 15:45:25 -07:00
Fredrik Kuivinen
0d214b6619 [PATCH] Don't output 'Automatic merge failed, ...'
git-merge.sh does this for us.

Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-13 15:45:24 -07:00
Fredrik Kuivinen
d9a23fa6f7 [PATCH] Be more like the 'resolve' strategy.
If there are non-mergeable changes leave the head contents in the
cache and update the working directory with the output from merge(1).

In the add/add and delete/modify conflict cases leave unmerged cache
entries in the index.

Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-13 15:45:23 -07:00
Fredrik Kuivinen
e4cf17ce0d [PATCH] Rename the 'fredrik' merge strategy to 'recursive'.
Otherwise we would regret when Fredrik comes up with another merge
algorithm with different pros-and-cons with the current one.

Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-13 00:20:54 -07:00