Talk:CVS FAQ

Discussion of Existing Questions

Rolling back the repository based on a date

I'm not sure what the person who made yesterday's addition to this question thought they were doing, but I don't think it was what they wrote. cvs update -C will not set any sticky tags, and cvs update -A is expected to merge any local changes into the trunk, if you are not already working on the trunk. I don't think this was the place for this note, and the segue into warning the user not to run this command was not clear enough about there being local changes. I think this likely to only confuse a beginning user. Perhaps you could add or clarify another question in regards to the behavior of cvs update -A or clarify some appropriate section of the Cederqvist?

I kept the cvs diff -u -r NEWTAG -r OLDTAG |patch -p0 example even though it almost exactly duplicates the first example and I kept the note about tagging after each commit, though I added a few extra notes. Derek 12:38, 2 Sep 2005 (EDT)

Suggested Questions with Answers

If you have a question and answer which you think might be appropriate for this FAQ but are not quite sure, please list them and discuss them here.

Suggested Questions without Answers

Really, if your question does not have an answer, you should be asking it on the info-cvs@nongnu.org mailing list and not here, but I have included these questions from the old FAQ until someone has time to evaluate them and either answer or remove them.

Getting error when using tags

I've tried this in Eclipse with the CVS perspective, and also on the command line. I'm not understanding why I am getting this error, so if anyone can shed light on where to look or possibly have encountered this yourself, your help is greatly appreciated! This is the error I get when I try to tag a directory as a version:

Problems reported tagging the resource.
Reason: : cvs aborted: could not get working directory:Permission denied
   

What I can't figure out is why is it not working when I use tags, but it works when I just do a regular check out? Also, all the directors have 755 or 777 access, but it seems like cvs is calling a directory somewhere that is not at one of these r/w levels.

Thanks again for the help!

$Name: $ Keyword - only works with TAG?

hi!: may be I'm work but anyway ... I would like to use $Name: $ to get the BRANCH name, but after a lot of tests (using tortoise CVS in local mode), it seems like $Name: $ works only with TAGS, not with BRANCHS.

Anyone out there can point me to a document (not cerqervist) to understand why ?

Thanks a lot 1

Failed to create lock directory, while trying to commit changes

How do I un-add an uncommitted file addition?

I added the wrong file. How do un-add? (I haven't committed it.)

Why does import create 1.1.1.1 revisions?

I make cvs import -m "..." MyProject VendorTag ReleaseTag

cvs checkout MyProject

For me i get the main branch but when i make cvs status MyFile, cvs said:

File: MyFile            Status: Up-to-date
   
   Working revision:    1.1.1.1
   Repository revision: 1.1.1.1 /home/cvs/MyProject/MyFile,v
   Sticky Tag:          (none)
   Sticky Date:         (none)
   Sticky Options:      (none)

I have the vendor branch ? But if i make update and commit then the result is

$ cvs commit -m "My Modif" MyFile
Checking in MyFile;
/home/cvs/MyProject/MyFile,v  <--  MyFile
new revision: 1.2; previous revision: 1.1
done
...

I commit in main branch? I don't understand. Can you explain me why the command chechout give the revision 1.1.1.1 (vendor branch) and not 1.1 (main branch)?

PS : Excuse me for my bad english.

Commit bad code, want to back up to previous version

I made some changes and committed the changes. Later I've found something wrong the codes, and I want the old ones back and disguard the previously submitted version. How do I do it in Windows and command line in Linux?

How do I intelligently trim the history file?

The history file has grown into a rather large file. I would like to trim the entries older than a given date. Can this be done without harming the history file?

Can I have several branches of the CVSROOT/modules file?

Can I have several branches of the CVSROOT/modules file? What I want to accomplish is the ability to use different modules description for different release branches. Suppose, release 1.0 of the Product used libA and libB, thus it was described as:

product      product & libs/libA & libs/libB

However, further development towards release 2.0 requires the use of an extra library libC and on the other hand libA is no longer required. Thus, the main trunk should have the following description of the product:

product      product & libs/libB & libs/libC

Obviously, I can "tag -b" the file CVSROOT/modules, but what I want is that the command "cvs checkout product" will use the head version of the modules (therefore, retreiving "product", "libB" and "libC"), while "cvs checkout -r release_1_0 product" will use the corresponding version of modules file, and thus retreive "product", "libA" and "libB". Unfortunately, my tests show that "cvs checkout" always uses the head version. Is it possible to change its behaviour and achieve desired functionality?

Does CVS maintain the difference among revisions of binary files?

Recover binary file stored as text.

How does CVS handle binary files of known format?

How does CVS handle BMP, JPEG and other binary files of known format? Does CVS store unknown binaries as differences in a stream of characters, or does it store two complete copies of the unknown binary format file?

cvs aborted: Invalid username - cannot specify domain as server is not acting as a domain member

Hello, I want to add a user in the passwd-file with a domain password. USER:!Domain:cvsadmin The result is the error message cvs aborted.

Our CVS-Server is part of the domain. Which preferences are necessary on the server?

Thank you,

Uli

in modules file contains infinite loop

Got bored thought you might want to block people from this edit.

how to assign user when using cvsnt

How to add Access Control Permissions to a repository?

Hi, I have a Group called CVSUSERS which consists of many users. I have a bunch of repositories created. The repositories have full-control for all the users on all repositories. How Can i restric them so that they wont be able to see the unwanted repositories?

"error communicating with lock server" why do i get the above message

Differences between :ssh: and :ext:

Working with TortoiseCVS and WinCVS we are able to use both an :ssh: and an :ext: method. My understanding was that they were the same, but they have different performance and failure characteristics. Is there a difference? Are these methods specific to these two clients? (Seems doubtful, as WinCVS at least delegates to a CVS command line program.) Any help on this would be appreciated!

cvs commit: Up-to-date check failed for `/CVSROOT/modules'

Stefan Dox

I like your decision concerning design and programming both! Good fellows, so to hold ?!