monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] Bug #21545 -- really annoying


From: William Uther
Subject: Re: [Monotone-devel] Bug #21545 -- really annoying
Date: Mon, 26 May 2008 21:33:00 +1000


On 23/05/2008, at 4:44 PM, Richard Levitte wrote:

Good idea, I like it!  However, using directory_empty() can lead to
confusion (': ; ' is my prompt):

 : ; mkdir monotone-experiment
 : ; cd monotone-experiment/
 : ; mtn -d ../mtn.monotone-experiment db init
 : ; mtn -d ../mtn.monotone-experiment setup --branch mtn-ex .
 : ; mkdir foo
 : ; touch bar
 : ; touch foo/cookie~
: ; LANG=en_US ~/monotonework/off.net/monotone/build/mtn add -- unknown
 mtn: adding bar to workspace manifest
 mtn: adding foo to workspace manifest
mtn: warning: Non-recursive add: Files in the directory 'foo' will not be added automatically.
 : ; ls --color=no -R .
 .:
 bar  foo  _MTN

 ./foo:
 cookie~

 ./_MTN:
 format  log  options  revision  revision~
: ; LANG=en_US ~/monotonework/off.net/monotone/build/mtn add -- unknown
 mtn: skipping ignorable file foo/cookie~

I found another issue with my previous implementation. If you had a directory that was itself ignored, it would still be checked to see if it was empty and possibly a warning generated even though that directory itself wouldn't be added.

I've fixed it all up now. I think it now warns iff you are doing a non-recursive add and it comes across a file that a recursive add would add.

; mtn -d mtn.db db init
: [ address@hidden:~/testdir:Mon 26, 9:16pm ]
; mtn setup -d mtn.db -b testbranch .
: [ address@hidden:~/testdir:Mon 26, 9:17pm ]
; ls
_MTN    mtn.db
: [ address@hidden:~/testdir:Mon 26, 9:17pm ]
; mkdir dir
: [ address@hidden:~/testdir:Mon 26, 9:17pm ]
; mkdir dirB
: [ address@hidden:~/testdir:Mon 26, 9:17pm ]
; touch dir/fileA
: [ address@hidden:~/testdir:Mon 26, 9:17pm ]
; touch dirB/fileB~
: [ address@hidden:~/testdir:Mon 26, 9:17pm ]
; mtn add --unknown
mtn: skipping ignorable file mtn.db
mtn: warning: Non-recursive add: Files in the directory 'dir' will not be added automatically.
mtn: adding dir to workspace manifest
mtn: adding dirB to workspace manifest
: [ address@hidden:~/testdir:Mon 26, 9:18pm ]
; mtn add --unknown
mtn: skipping ignorable file dirB/fileB~
mtn: skipping ignorable file mtn.db
mtn: adding dir/fileA to workspace manifest
: [ address@hidden:~/testdir:Mon 26, 9:18pm ]
; mtn add --unknown
mtn: skipping ignorable file dirB/fileB~
mtn: skipping ignorable file mtn.db


Along the way I came across a possible bug. If you moved a file and that triggered the "magic add" of a parent directory, AND that parent directory was 'ignorable', then the file would be added, but the parent directory wouldn't be. I've changed that so the parent directory will now be added.

I'm off-line right now. Hopefully I'll remember to sync the new rev (6d847e03cd69c9ddd982c652110eefc1774c57bf) soon after this mail gets sent...

Cheers,

Will        :-}






reply via email to

[Prev in Thread] Current Thread [Next in Thread]