[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Bug in `cvs commit -r 2'?
From: |
Stefan Merten |
Subject: |
Bug in `cvs commit -r 2'? |
Date: |
Fri, 07 Nov 2003 18:35:28 +0100 |
-----BEGIN PGP SIGNED MESSAGE-----
Hi cvs hackers!
First of all thanks for the great work you are doing :-) . I use CVS
for years and can't do without it.
I guess I discovered a bug in `cvs'. It happens when I try something
like
cvs commit -r 2
on a module containing sub-directories.
I checked it with version version 1.11.1p1 and version 1.11 on
GNU/Linux. In the later case I added `-f -R' which were needed in this
version to apply the commit to the whole directory.
I used a local repository in all cases.
I checked
http://ccvs.cvshome.org/issues/query.cgi?component=ccvs
but did not find a report similar to this one. This is why I'm
reporting this here though I'm using a rather outdated version.
Here is what happens:
$ find .
.
./CVS
./CVS/Root
./CVS/Repository
./CVS/Entries
./bla
./tag.log
./global.log
./sub
./sub/CVS
./sub/CVS/Root
./sub/CVS/Repository
./sub/CVS/Entries
./sub/blub
./sub/toggle
./new_trunk
./new_trunk/CVS
./new_trunk/CVS/Root
./new_trunk/CVS/Repository
./new_trunk/CVS/Entries
./new_trunk/global.log
./new_trunk/tag.log
The tree is well. For instance `cvs status' reports no problems. All
the files are up to date and they all have a trunk revision of 1.x.
$ cvs commit -r 2 -m 'Commit to revision 2.'
cvs commit: Examining .
cvs commit: Examining new_trunk
cvs commit: Examining sub
Checking in bla;
/home/merten/vault/sm/try_lcvs/bla,v <-- bla
new revision: 2.1; previous revision: 1.104
done
Checking in global.log;
/home/merten/vault/sm/try_lcvs/global.log,v <-- global.log
new revision: 2.1; previous revision: 1.83
done
Checking in tag.log;
/home/merten/vault/sm/try_lcvs/tag.log,v <-- tag.log
new revision: 2.1; previous revision: 1.80
done
Checking in new_trunk/global.log;
/home/merten/vault/sm/try_lcvs/new_trunk/global.log,v <-- global.log
new revision: 2.1; previous revision: 1.1
done
Checking in new_trunk/tag.log;
/home/merten/vault/sm/try_lcvs/new_trunk/tag.log,v <-- tag.log
new revision: 2.1; previous revision: 1.1
done
cvs commit: in directory new_trunk:
cvs [commit aborted]: there is no version here; do 'cvs checkout' first
Bang! I tried this in some variations but obviously it happens as soon
as any sub-directory is involved.
I used `strace' to get an idea of what is going wrong here. It seems
that in a sub-directory - e.g. `sub' - `cvs' tries to access `sub/CVS'
instead of `CVS'. Of course this does not work.
I then tried to create a link in each sub-directory pointing to
itself. This helped. I recreated the situation in `$CVSROOT' and in
the working directory as it was before from an archive. Then I did:
$ ln -s . new_trunk/new_trunk
$ ln -s . sub/sub
$ cvs commit -r 2 -m 'Commit to revision 2.'
and this worked as it should.
I then tried the same but used the `:fork:' method to access the local
repository. This worked from the start without any problems. So this
is at least a work-around.
Mit Freien Grüßen
Stefan
-----BEGIN PGP SIGNATURE-----
Version: 2.6.3in
Charset: noconv
Comment: Processed by Mailcrypt 3.5.7, an Emacs/PGP interface
iQCVAwUBP6vX4AnTZgC3zSk5AQG4OQP/WpcP579rbD0OuneMnSfI7+IoORGF7D68
GVQy6UX66UTcaa+FICWsqz+s75lYdyK46xERMdWAwpdCDyLOYYRLI/Y6grczubCY
2B5WqjbGShJAsa1ivNeLafHq2TsnAvyGOXe87+ua6Py6Hz6vxhlUYlgy96u8g02j
6ktJX1Y4XB4=
=ZHxu
-----END PGP SIGNATURE-----
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Bug in `cvs commit -r 2'?,
Stefan Merten <=