Hi,
I've come across a rather obscure bug involving ampersand modules, cvs
client, and tags. I've tested against cvs versions up through 1.11.
Essentially, if you have two projects, "foo", and "bar", and create a
"baz" module as follows, in the modules file:
baz -d foo foo &i_bar
i_bar -d two/bar bar
then "baz" is created by checking out "foo", and then checking out
"bar" within "foo"s "two" directory.
Now, if you check out "baz", using a tag, using client-server CVS,
the "Tag" file will be missing in the directory "foo/two/CVS". The
problem does not exist unless using client-server mode.
I've attached below a tar'd and gzipped repository, repos.tgz,
exhibiting this bug. To see it, with the tarball untarred in
/phl/greg/junk/repos, do the following to see the bug does not exist
in non client-server mode:
[test4] phl| cvs -d /phl/greg/junk/repos co -r branch baz
cvs checkout: Updating foo
U foo/one
cvs checkout: Updating foo/two
U foo/two/four
cvs checkout: Updating two/bar
U two/bar/three
[test4] phl| ls -l foo/two/CVS/
total 16
-rw-r--r-- 1 greg ita 54 Oct 19 20:51 Entries
-rw-r--r-- 1 greg ita 8 Oct 19 20:51 Repository
-rw-r--r-- 1 greg ita 21 Oct 19 20:51 Root
-rw-r--r-- 1 greg ita 8 Oct 19 20:51 Tag
But in client-server mode:
[test5] phl| cvs -d greg@phl:/phl/greg/junk/repos co -r branch baz
cvs server: Updating foo
U foo/one
cvs server: Updating foo/two
U foo/two/four
cvs server: Updating two/bar
U two/bar/three
[test5] phl| ls -l foo/two/CVS/
total 12
-rw-r--r-- 1 greg ita 54 Oct 19 20:52 Entries
-rw-r--r-- 1 greg ita 0 Oct 19 20:52 Entries.Static
-rw-r--r-- 1 greg ita 8 Oct 19 20:52 Repository
-rw-r--r-- 1 greg ita 30 Oct 19 20:52 Root
Notice that the Tag file does not exist, and there's an additional
"Entries.Static" file with zero length.
Thanks for any help you may be able to provide,
Greg Klanderman
[EMAIL PROTECTED]
repos.tgz