So I've been playing around with this a little... and I think I'm
placated. By the way, David, there's still latex code talking about
filenames that end in '-conflict'.  I guess that be taken out now.

I was initially worried about something blowing up or us suddenly
refusing to do something in a rare event.  It's not like that at
all: it's just that now, we don't try to be extra-smart about the
rare event.  We keep on doing the same thing darcs always does,
which is to treat a conflict as if neither patch has an effect.
This seems much better to me, more consistent, simpler.  Less room
to mess up.

There is also the question of marking conflicts.  With hunk patches,
darcs puts those "v v v" markers.  With the file conflicts, darcs just
seems to pick one side as the winner.  I guess that's more UI than patch
theory stuff.  In any case, we seem to win on consistency again (it used
to do this for some cases, and do the -conflict stuff for others)

> Basically, this is like the old "merger 0.9" patches:  we disabled the
> creation of those patch types ages ago, and the result was that any
> merge that had created such a patch would need to be kept in place
> (not merged again), or you'd run into trouble.

Ok, so here we're doing the equivalent of no longer generating the
"merger 0.9"s (or in this case, no longer generating the weird filenames
with -conflict).  

A sample run
------------
Mostly to give an idea to other developers what the new behaviour is to
be.

mkdir nc1
cd nc1
darcs init
echo 1 > a
darcs add a
darcs record -am a1 -A moi
cd ..

mkdir nc2
cd nc2
darcs init
echo 2 > a
darcs add a
darcs record -am a2 -A moi 
cd ..

mkdir nc3
cd nc3
darcs init
echo 3 > b
darcs add b 
darcs record -am b3 -A moi 
cd ..

# test 1 (nothing new)
# --------------------
# Reports a conflict in ./a puts the nc1 version in a so here we see one
# case where the name conflict code already is not being used.  In a
# sense, we are already used to them 'not' being handled.  No changes in
# behaviour [should I be surprised that it never used to handle this?]
darcs get nc1 test1
cd test1
darcs pull -a ../nc2
cd ..

# test 3 (here's where they change)
# ---------------------------------
# before: does not report a conflict, but moves the test3 version to
# a-conflict and pulls in the test-1 version as a
#
# after: reports a conflict in a and b
darcs get nc3 test3
cd test3
darcs pull -a ../nc2
cd ..

-- 
Eric Kow                     http://www.loria.fr/~kow
PGP Key ID: 08AC04F9         Merci de corriger mon français.

Attachment: pgp7Lde9cm9NK.pgp
Description: PGP signature

_______________________________________________
darcs-devel mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-devel

Reply via email to