Chase Phillips wrote:
> I added "ignore-externals = False;" to vcpx/tests/tailor.py's DEFAULT
> config section, updated the verbose line to True, and got all of the
way
> through to change "four," and I found that the test failed for me:
> 
> ...
> 
> At change "two," bar and bar/baz are added and committed.  At change
> "four," bar/again is added, the commit is attempted, and the failure
> occurs -- bar is not added in change "four" before bar/again.

I discovered that Tailor doesn't have CVS create directories in a
working installation by running 'cvs .. update -d foo/' nor delete empty
directories by running 'cvs .. update -dP foo/'.  Since Tailor does this
by hand (I think Tailor should have CVS handle this), I reasoned that
the problem was when the directory was supposed to be removed, rather
than the second time it was added.  I began searching for where it would
delete the directory.

I found that Tailor doesn't delete empty directories... at least in the
test case as I ran it.  Tailor just schedules a removal event to occur
on the target tree.  This leads to a situation where the source and
target trees get out of sync.  I've attached a patch which fixes that
problem.  With the patch applied, the CvsReappearedDirectory test
completes successfully for me.  Also, in my tests my repository gets
past the problem that brought about my original email.
 
Some comments:

1. Why the code at cvsps.py:336?  It looks like it's trying to do what
maybeDeleteDirectory() tries.  With my patch applied, rmtree() appears
in two cases when a directory is to be removed at a deleted event.  If
it makes sense to do so, maybe the code could be reorganized to only
call rmtree() once.

2. It wasn't clear in the verbose or debug output how a new directory
was added.  For that I had to track the code.  Maybe debugging output
could be added which calls out when a new directory is being added in
the CVS working directory?
 
Chase

Attachment: tailor-dir-revival.patch
Description: tailor-dir-revival.patch

_______________________________________________
Tailor mailing list
[email protected]
http://lists.zooko.com/mailman/listinfo/tailor

Reply via email to