Local CVS Tools

The following is a collection of tools that I use to work locally with cvs (for example if I'm working on my laptop and are currently offline so that I cannot access the cvs repository directly).

cvsq queues commits and other cvs commands in a queue to be executed later, when the machine is online again. In case of a commit (the default action) an actual copy of the working directory is made, so that you can continue editing without affecting the scheduled commit. You can even schedule several successive commits to the same file and they will be correctly committed as successive commits at the time of upload. This is different from an earlier script also named cvsq that you might have seen elsewhere.

lcvs uses rsync to maintain a local copy of a cvs repository. It also gives a convenient interface to call cvs in such a way that it believes the current working directory refers to the local copy rather than to the actual repository. This is useful for commands like log, diff, etc; however it cannot be used for commits (that's what cvsq is for).


The latest version of my tool collection is 1.11 (Mar 7, 2020). They are freely available and may be distributed under terms and conditions of the BSD licence. You can either download the tools as tar ball, browse its contents, download a tar ball ready for stow, or install it as a FreeBSD port.

For any questions or bug reports please feel free to contact me (Klaus Aehlig).



From Version 1.7 onwards all versions are available on the following stable URLs.

cvsq-1.11.tgz
cvsq-1.11.stow.tgz
cvsq-1.11.port.shar
cvsq-1.10.tgz
cvsq-1.10.stow.tgz
cvsq-1.10.port.shar
cvsq-1.9.tgz
cvsq-1.9.stow.tgz
cvsq-1.9.port.shar
cvsq-1.8.tgz
cvsq-1.8.stow.tgz
cvsq-1.8.port.shar
cvsq-1.7.tgz
cvsq-1.7.stow.tgz
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

MD5 (cvsq-1.11.tgz) = d0c41176ac7b8ba76ed91568e7f15a74
SHA256 (cvsq-1.11.tgz) = 9a973b1976a29e64a20f6d1fc8744e5bf55e6164535c7a4df35e8e3935992111
MD5 (cvsq-1.11.stow.tgz) = ff9c03b82eed3d6d10f2759e5c0fd83a
SHA256 (cvsq-1.11.stow.tgz) = 6b03a7fbabad9a59fca272e51709f417050c1049d4240ed9a743e2b2ea09f9b7
MD5 (cvsq-1.11.port.shar) = 0dce74e8d7bebbe1193a82a149227c8c
SHA256 (cvsq-1.11.port.shar) = 827ed74db5a28e8acdea822d9283d64201949df68698158f85360f1701443932
MD5 (cvsq-1.10.tgz) = 389d9351e33f3180388be7df7fbcbd23
SHA256 (cvsq-1.10.tgz) = 1a2e5666d4d23f1eb673a505caeb771ac62a86ed69c9ab89c4e2696c2ccd0621
MD5 (cvsq-1.10.stow.tgz) = a030ca3db82f81cc2c8fed54d9120a62
SHA256 (cvsq-1.10.stow.tgz) = e07c244e56d0d941fa1820a94ad8ac9595b901f8d316d2441490519c6f5ab4a7
MD5 (cvsq-1.10.port.shar) = 244371b2be590b0171bf636435339b7a
SHA256 (cvsq-1.10.port.shar) = a65873826337e1ac645ca866476d3c66c449a3f0ff64aeac97d567666c0e247e
MD5 (cvsq-1.9.tgz) = 8b1642cda08a35b01563deccca1ded3b
SHA256 (cvsq-1.9.tgz) = 49983a96767e31a2150e0b22cb6d52b1574cd54ac36689e5afb58ff825530bbb
MD5 (cvsq-1.9.stow.tgz) = 3c22f3067d1ac51512385cfb2cf2d719
SHA256 (cvsq-1.9.stow.tgz) = eaa66d26b71e11560cf9aacfa29e78042e5144b32f5e6188ff699d90ab923c3e
MD5 (cvsq-1.9.port.shar) = e16d505f90e122b9eff02761b0cd762e
SHA256 (cvsq-1.9.port.shar) = f438da100d128c2017e6b1cea188e314be8348b82c85ceadb96fa67a1f1bbbad
MD5 (cvsq-1.8.tgz) = e6405f4ec147f0232f66bfa0f9658fc1
SHA256 (cvsq-1.8.tgz) = 323fd1ce925762a3465257133572c8f1175360885183fcb8d5a008fd27f08076
MD5 (cvsq-1.8.stow.tgz) = 2787d0c96d3659250134bdac1e79ac13
SHA256 (cvsq-1.8.stow.tgz) = 2c24f7ef8407ecc8d2b9fbc148734ee465345cb6eb073d4e861a19bf6277b7a8
MD5 (cvsq-1.8.port.shar) = df068c6c3739b028e92e9f0b52afa55c
SHA256 (cvsq-1.8.port.shar) = d73be4de4e881804d3a25f70391110e4c0d6a71d6c5c27819feca25cdc7186a7
MD5 (cvsq-1.7.tgz) = 1dd77080a0655ada5cb82347e515a859
SHA256 (cvsq-1.7.tgz) = 216eb0d0b6ae7b06a62feed722965e14c35a9d67d95071f98f522c57c65c0458
MD5 (cvsq-1.7.stow.tgz) = 105c6f0d3cee04390dd609abcfd0579d
SHA256 (cvsq-1.7.stow.tgz) = 484404e4bdeb9a723361f2697c1af7d1f89851f4e1c9b51184d54e8b135eafaa

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEVGdlfIbrcljV/NX93T75Y5kfHsIFAl5jeWYACgkQ3T75Y5kf
HsIm9BAAr42btBKoBaq4GtdbvQL5VggLmpZl+qDB9aDMhcOjYBZcNJvGQE2aGXTM
RZ9v4AVZqqJqR0ntw8FzX7K95hutwVBh9REkK81QCvyX0yiaWddjg5MCYqcUJCWC
q+T99MxV6qB8VTLlaWIMaGitBTgx+t/YEk6wijg3GL2D9n2T4lEcxUWAh7Sfl0MQ
VrYoyzm5MEOfs5We26YGcwrvHgGiCgU+PFgd4p69qLl8cDRRAmLF+ANU2oplg4Xd
VdLKff0mDGrJ+Cppw7jKyJTHBqWjm4M2QnEB25S57t4yHaEEJDcD6K8ttFHUZZ8S
BSj1RhanFkLDzsp5zExm9FTu/xSZqlgOIDk5q3kmAvz56ZFcDMt/2s77z6gNLp5X
uMdztbYX0c6MPwBmoH3RhZFo4y+30DYlR5X23UPHdXJxe1d7L+x35EE36YwM9Elz
uxU/Ety2fil8dLvNOah5PgQc3QvgXFtOd1ZpGCaBAM7Dvg7EvEA/V2+no+HeDrTG
k27A5wppqFn1Bb5dZEfiPw0p0XbVKEd3cif1Qp4iOK5+fpFuJUrNHHbsb+Z3ImN5
wEI4/e4N9AJ7xnV+DmqRODkUfiVscGJ1xwsUU09T2r4hUW/UI12sVUXQt31fkXnp
hBQoceYIYQNlkEHQObWrOBLFTGTBiyEw3ktZgnMNE86HMoMOZ+4=
=0+Ql
-----END PGP SIGNATURE-----