[darcs-users] amend-record and patches pending

Dan Pascu dan at ag-projects.com
Wed Jan 14 21:22:50 UTC 2009


On Wednesday 14 January 2009, Nathan Gray wrote:
> I have tried the following with both --old-fashioned-inventory and
> --darcs-2, and both list files in _darcs/patches/pending that darcs
> thinks should be added, when in fact, I just deleted them and removed
> them from the only patch that knew about them.
>
> darcs init --darcs-2
> mkdir a
> mkdir b
> touch a/1
> touch a/2
> touch b/3
> touch b/4
> darcs add -r a
> darcs add -r b
> darcs record -m 'initial' --all --author testing
> cat _darcs/patches/pending
> rm -rf b
> echo y | darcs amend-record -m 'initial' --all
> cat _darcs/patches/pending
> echo 'why are this directory and its files listed in pending?'
>
> I was using darcs 2.2.pre2.  I have not checked the current release
> candidate.
>
> I came across this because I accidentally added a directory that I did
> not want to track in a repository.  I immediately amend-recorded the
> patch, and was amazed to see that 'darcs whatsnew -s' said that I had
> added the directory and files that I had just deleted.

I have encountered a similar problem with a darcs-1 repository and a 
darcs-2 binary.

The darcs repository was not updated for 2-3 months, but was clean (no 
unrecorded/unpushed change in it). I did a darcs pull -a in it using the 
darcs-2 binary. The tree I was pulling from, had a recent change that 
added a new directory and moved 4 wav files from one directory to this 
new directory. After pull finished, I was surprised to see some message 
about 2 of the wav files being deleted. ls showed that indeed only 2 wav 
files were in the new directory and the other 2 were missing. There was 
no wav file in the old directory. Finally darcs whatsnew -s showed those 
2 files in pending removal, as if I would have removed them, only I 
didn't. darcs revert -a did fix it, but the state after pull was 
inconsistent.

A similar problem I noticed with a darcs-1 repository and a darcs-1 
binary. Pushing (or pulling, I don't remember exactly) many changes to a 
repo added an unrecorded change to the repo that I did not do. This time 
it as a real diff, not just some file in a pending remove state. I also 
had to darcs revert -a to get it to the desired state.

So this problem may be there for a long time.

-- 
Dan


More information about the darcs-users mailing list