The following script demonstrates the problem. What happens is that hunks which
conflict with replaces do not get marked up. Probably the biggest problem is
that the result is very confusing.
The script below could probably be simplified. I was actually chasing a
slightly different problem with replace patches and this script almost hits that
case but not quite.
\begin{bash}
rm -rf temp1 temp2
mkdir temp1
cd temp1
darcs init
echo "Line1" > foo
echo "Line2" >> foo
echo "Line3" >> foo
echo "Line4" >> foo
echo "3eniL" >> foo
darcs add foo
darcs record -am 'foo1'
cd ..
darcs get temp1 temp2
cd temp2
darcs replace Line1 1eniL foo
darcs replace --force 3eniL Line3 foo
darcs record -am 'replaces'
cd ../temp1
echo "Line1" > foo
echo "Line2" >> foo
echo "edityou" >> foo
echo "Line4" >> foo
echo "3eniL" >> foo
darcs record -am 'edityou'
cd ../temp2
darcs pull -a ../temp1
\end{bash}
On Sat, Nov 01, 2008 at 11:52:12AM +0000, Jason Dagit wrote:
> The following script demonstrates the problem. What happens is that
> hunks which conflict with replaces do not get marked up. Probably
> the biggest problem is that the result is very confusing.
I have pushed this into bugs/.
Better conflict marking would always be nice. I imagine this is not nearly as
difficult as issue833.
I think we need a mock-up for sensible UI when replace and hunk patches conflict.
There are loads of other conflicts I think we could think about marking up
better like mv, addfile etc. I'd suggest maybe putting together a wiki page
where we think about this in more detail.