>>>>> "LT" == Linus Torvalds <[EMAIL PROTECTED]> writes:
LT> Just a heads-up - I'd really want to do the same thing to "merge-tree.c"
LT> too, but since you said that you were working on extending that to do
LT> recursion etc, I decided to hold off. So if you're working on it, maybe
LT> you can add the "-z" flag there too?
Sent as a separate patch already.
LT> I'm actually holding off merging the perl version exactly because you
LT> seemed to be working on the C version. I don't mind perl per se, but if
LT> there's a real solution coming down the line..
I'd take the hint, but I would say the current Perl version
would be far more usable than the C version I would come up with
by the end of this weekend because:
- the Perl version creates a new temporary directory and leaves
a ready-to-use dircache there---the only thing needed from
that point for you is to fix it up any conflicts and do
update-cache on that dircache. In that sense it is already
usable (Linus-usable, but probably not Pasky-usable due to
differences in phylosophy).
- the enhancement I am planning on the C version does not do
the real work itself, as you have originally written (the
workings and the output from it are outlined in [*R1*]).
Somebody has to write the executor part that does read-tree
the base, update-cache --cacheinfo --add for the selects,
runs 3-way merge on conflicting files and runs update-cache
for the merges, update-cache --remove for the deletes, before
it matches the usability of the Perl version. I do not
expect to have enough time this weekend to finish this.
I know of one case in Perl version I need to see if it does the
right thing but other than that it would be far better than the
C version I'm toying with.
Just to let you know, here is the plan I have for my part.
1. I am currently writing some test cases. The plan is first
to make sure the Perl version works OK with the test cases
to flush initial problems out.
2. After that I'll see if a dumb but recursive C version I
already have spits out the right instructions. This step is
to make sure that the test cases are sane, and by making
that sure, we will be able to say that we have something
usable in extremely short run (i.e. the Perl version) after
this step.
3. After that is done, I'll add the fourth argument to
merge-tree.c to specify the base so that it can cut down 90%
of trivial selects. Only after this happens the executioner
script would be useful performance wise.
[References]
*R1* <[EMAIL PROTECTED]>
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html