[darcs-users] Re: Bug#316375: arch2darcs: darcs diff shows changes after import

John Goerzen jgoerzen at complete.org
Fri Jul 1 02:02:01 UTC 2005


Hi everyone,

I got a strange report over at http://bugs.debian.org/316375 that I'm trying
to track down.  I'm not sure if this is a bug in darcs or tla, but I'm
leaning towards darcs as the culprit.   There seems to be a
non-deterministic difference in behavior of darcs diff on a repository
converted from arch to darcs using arch2darcs (which is nothing more
than a thin wrapper that invokes both tools via their respective
command-line interfaces).

Any help any of you could provide would be great.

Thanks,

-- John


On Thu, Jun 30, 2005 at 11:28:53PM +0200, Gintautas Miliauskas wrote:
> Hello,
> 
> > This is probably going to be a darcs bug.
> > 
> > I tried the conversion over your repository, using the instructions in
> > the arch2darcs README, and couldn't duplicate the problem.
> > 
> > What file did darcs diff have a patch for?
> > 
> > You might also possibly try darcs 1.0.3, in case it is in fact a darcs
> > bug.
> 
> I'm sorry, my bug report was indeed incomplete.  I'm now attaching the
> diff and a converted broken repository.
> 
> In fact now I think that the bug is not deterministic.  I checked out
> pyguitest using tla-1.3-1 (I actually tried bazaar too, didn't make a
> difference) into the directory `pyguitest` and then ran a script which
> copies the arch repository and converts it to darcs 10 times (the script
> is attached).  Both darcs 1.0.2 (Debian package) and 1.0.3 (compiled by
> self) exhibit the problem most of the time.
> 
> The results are attached -- as you can see, more than half the time
> there is a diff, but sometimes there isn't.  I have no idea why this is,
> especially given the quite deterministic Haskell programming model and
> that no parallel programming is involved (by the way, I added sleeps to
> make sure there were no race conditions involved in the script).
> 
> I'm sure you're better at figuring this out than me, I hope you can
> trace the problem or at least reproduce it.
> 
> -- 
> Gintautas Miliauskas
> http://gintasm.blogspot.com

> diff -rN -u old-guitest-darcs-broken/Makefile new-guitest-darcs-broken/Makefile
> --- old-guitest-darcs-broken/Makefile	2005-06-21 20:48:29.000000000 +0200
> +++ new-guitest-darcs-broken/Makefile	2005-06-21 20:48:29.000000000 +0200
> @@ -1,5 +1,5 @@
>  test:
> -	python test.py -w -v
> +	python2.4 test.py -w
>  
>  clean:
>  	find . -name '*.pyc' -exec rm -f {} \;
> 


> 1
> diff -rN -u old-pyguitest1/Makefile new-pyguitest1/Makefile
> --- old-pyguitest1/Makefile	2005-06-30 22:57:03.000000000 +0200
> +++ new-pyguitest1/Makefile	2005-06-30 22:57:03.000000000 +0200
> @@ -1,5 +1,5 @@
>  test:
> -	python test.py -w -v
> +	python2.4 test.py -w
>  
>  clean:
>  	find . -name '*.pyc' -exec rm -f {} \;
> 
> ----
> 2
> diff -rN -u old-pyguitest2/Makefile new-pyguitest2/Makefile
> --- old-pyguitest2/Makefile	2005-06-30 22:57:16.000000000 +0200
> +++ new-pyguitest2/Makefile	2005-06-30 22:57:16.000000000 +0200
> @@ -1,5 +1,5 @@
>  test:
> -	python test.py -w -v
> +	python2.4 test.py -w
>  
>  clean:
>  	find . -name '*.pyc' -exec rm -f {} \;
> 
> ----
> 3
> ----
> 4
> diff -rN -u old-pyguitest4/Makefile new-pyguitest4/Makefile
> --- old-pyguitest4/Makefile	2005-06-30 22:57:41.000000000 +0200
> +++ new-pyguitest4/Makefile	2005-06-30 22:57:41.000000000 +0200
> @@ -1,5 +1,5 @@
>  test:
> -	python test.py -w -v
> +	python2.4 test.py -w
>  
>  clean:
>  	find . -name '*.pyc' -exec rm -f {} \;
> 
> ----
> 5
> diff -rN -u old-pyguitest5/Makefile new-pyguitest5/Makefile
> --- old-pyguitest5/Makefile	2005-06-30 22:57:54.000000000 +0200
> +++ new-pyguitest5/Makefile	2005-06-30 22:57:54.000000000 +0200
> @@ -1,5 +1,5 @@
>  test:
> -	python test.py -w -v
> +	python2.4 test.py -w
>  
>  clean:
>  	find . -name '*.pyc' -exec rm -f {} \;
> 
> ----
> 6
> ----
> 7
> ----
> 8
> ----
> 9
> ----
> 10
> diff -rN -u old-pyguitest10/Makefile new-pyguitest10/Makefile
> --- old-pyguitest10/Makefile	2005-06-30 22:59:00.000000000 +0200
> +++ new-pyguitest10/Makefile	2005-06-30 22:59:00.000000000 +0200
> @@ -1,5 +1,5 @@
>  test:
> -	python test.py -w -v
> +	python2.4 test.py -w
>  
>  clean:
>  	find . -name '*.pyc' -exec rm -f {} \;
> 
> ----


> 
> 1
> diff -rN -u old-tmp1/Makefile new-tmp1/Makefile
> --- old-tmp1/Makefile	2005-06-30 23:10:58.000000000 +0200
> +++ new-tmp1/Makefile	2005-06-30 23:10:58.000000000 +0200
> @@ -1,5 +1,5 @@
>  test:
> -	python test.py -w -v
> +	python2.4 test.py -w
>  
>  clean:
>  	find . -name '*.pyc' -exec rm -f {} \;
> 
> ----
> 2
> diff -rN -u old-tmp2/Makefile new-tmp2/Makefile
> --- old-tmp2/Makefile	2005-06-30 23:11:10.000000000 +0200
> +++ new-tmp2/Makefile	2005-06-30 23:11:10.000000000 +0200
> @@ -1,5 +1,5 @@
>  test:
> -	python test.py -w -v
> +	python2.4 test.py -w
>  
>  clean:
>  	find . -name '*.pyc' -exec rm -f {} \;
> 
> ----
> 3
> ----
> 4
> diff -rN -u old-tmp4/Makefile new-tmp4/Makefile
> --- old-tmp4/Makefile	2005-06-30 23:11:34.000000000 +0200
> +++ new-tmp4/Makefile	2005-06-30 23:11:34.000000000 +0200
> @@ -1,5 +1,5 @@
>  test:
> -	python test.py -w -v
> +	python2.4 test.py -w
>  
>  clean:
>  	find . -name '*.pyc' -exec rm -f {} \;
> 
> ----
> 5
> ----
> 6
> ----
> 7
> diff -rN -u old-tmp7/Makefile new-tmp7/Makefile
> --- old-tmp7/Makefile	2005-06-30 23:12:11.000000000 +0200
> +++ new-tmp7/Makefile	2005-06-30 23:12:11.000000000 +0200
> @@ -1,5 +1,5 @@
>  test:
> -	python test.py -w -v
> +	python2.4 test.py -w
>  
>  clean:
>  	find . -name '*.pyc' -exec rm -f {} \;
> 
> ----
> 8
> diff -rN -u old-tmp8/Makefile new-tmp8/Makefile
> --- old-tmp8/Makefile	2005-06-30 23:12:23.000000000 +0200
> +++ new-tmp8/Makefile	2005-06-30 23:12:23.000000000 +0200
> @@ -1,5 +1,5 @@
>  test:
> -	python test.py -w -v
> +	python2.4 test.py -w
>  
>  clean:
>  	find . -name '*.pyc' -exec rm -f {} \;
> 
> ----
> 9
> diff -rN -u old-tmp9/Makefile new-tmp9/Makefile
> --- old-tmp9/Makefile	2005-06-30 23:12:39.000000000 +0200
> +++ new-tmp9/Makefile	2005-06-30 23:12:39.000000000 +0200
> @@ -1,5 +1,5 @@
>  test:
> -	python test.py -w -v
> +	python2.4 test.py -w
>  
>  clean:
>  	find . -name '*.pyc' -exec rm -f {} \;
> 
> ----
> 10
> ----




-- 
John Goerzen
Author, Foundations of Python Network Programming
http://www.amazon.com/exec/obidos/tg/detail/-/1590593715




More information about the darcs-users mailing list