Code

Status update on merge-recursive in C
authorJohannes Schindelin <Johannes.Schindelin@gmx.de>
Sat, 8 Jul 2006 16:42:41 +0000 (18:42 +0200)
committerJunio C Hamano <junkio@cox.net>
Fri, 14 Jul 2006 06:10:19 +0000 (23:10 -0700)
commit6d297f81373e19d86b8f02cb68120201d1b0ab1d
treef036ee3b98ce1a260895d8d3bec4889189dabafe
parent4b7ce6e2d6ba088da50de1df38b040ea2c0b8f18
Status update on merge-recursive in C

This is just an update for people being interested. Alex and me were
busy with that project for a few days now. While it has progressed nicely,
there are quite a couple TODOs in merge-recursive.c, just search for "TODO".

For impatient people: yes, it passes all the tests, and yes, according
to the evil test Alex did, it is faster than the Python script.

But no, it is not yet finished. Biggest points are:

- there are still three external calls
- in the end, it should not be necessary to write the index more than once
  (just before exiting)
- a lot of things can be refactored to make the code easier and shorter

BTW we cannot just plug in git-merge-tree yet, because git-merge-tree
does not handle renames at all.

This patch is meant for testing, and as such,

- it compile the program to git-merge-recur
- it adjusts the scripts and tests to use git-merge-recur instead of
  git-merge-recursive
- it provides "TEST", a script to execute the tests regarding -recursive
- it inlines the changes to read-cache.c (read_cache_from(), discard_cache()
  and refresh_cache_entry())

Brought to you by Alex Riesen and Dscho

Signed-off-by: Junio C Hamano <junkio@cox.net>
Makefile
TEST [new file with mode: 0755]
cache.h
git-merge.sh
git-rebase.sh
merge-recursive.c [new file with mode: 0644]
path-list.c [new file with mode: 0644]
path-list.h [new file with mode: 0644]
read-cache.c
t/t3402-rebase-merge.sh