[darcs-devel] nonmerging paralell changes and mergers

Tommy Pettersson ptp at lysator.liu.se
Tue May 17 04:16:21 PDT 2005


On Mon, May 16, 2005 at 11:48:37PM +0100, Ian Lynagh wrote:
> On Sun, May 15, 2005 at 10:56:12PM +0200, Tommy Pettersson wrote:
> > I don't know if anyone else have noticed, but I know from bitter
> > experience that this is no good:
> > 
> [...]
> > 
> > And before long comes the exponential spin hang.
> 
> I'm a bit lost as to which changes in which repo are causing this
> problem.
> 
> Can you describe a minimal set of repos and changes to set this problem
> up, and then the minimal changes that get done in a loop causing it to
> get bigger, please?


#!/bin/sh

DARCS=darcs

mkdir r1
(cd r1 ; $DARCS init)
echo ALL ignore-times  >> r1/_darcs/prefs/defaults
echo record author a >> r1/_darcs/prefs/defaults
echo version 0/repo 1 | tr / \\012 > r1/f
$DARCS rec --repo r1 -alm init

$DARCS get r1 r2
cp r1/_darcs/prefs/defaults r2/_darcs/prefs/defaults
#echo version 0/repo 2 | tr / \\012 > r2/f
echo version _/repo 2 | tr / \\012 > r2/f
$DARCS rec --repo r2 --no-ask-deps -am repo2

v=0
while :
do
	v=$(($v+1))
	echo version $v/repo 1 | tr / \\012 > r1/f
	$DARCS rec --repo r1 --no-ask-deps -am "bump $v"

	(cd r2 ; $DARCS pull -a ../r1)
	echo version $v/repo 2 | tr / \\012 > r2/f
	$DARCS rec --repo r2 --no-ask-deps -am "merge $v"
done





The mergers form in r2.

If line 15 (commented out) is used instead of line 16, the
whole thing works as expected without any conflicts.


-- 
Tommy Pettersson <ptp at lysator.liu.se>




More information about the darcs-devel mailing list