[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Reverting question

From: Alex Zoro
Subject: Reverting question
Date: Wed, 26 Jun 2002 14:38:52 +0100

I'm new to this mailing list, so I hope this is the right place to ask my question. I've looked in all the FAQs I can find, but can't find an explanation of what I'm trying to do. Plus, documentation doesn't match up with what I try, and the results I get.

Here's the issue:

I work for a video games company, and we use WinCVS to manage the source to a third party engine. We have the repositry setup with a main / vendor branch system, and take updates to the main engine around once a month. We do find, and fix, problems in the engine as we go along, and then send these back to the third party, who usually incorporate the fixes back into the vendor code.

If we Modify one of the engine files, then the local branch becomes designated as the main branch for that file. If the change we have made is then incorportated into the next vendor release, the two files become identical (except for the cvs logs). Every time a new version of the engine is merged, the cvs logs conflict, and the files have to be fixed and recommitted by hand, even though there are no differences in the code at all. As time goes by, more files in the repository end up in this state.

We would prefer the logs to be removed from the engine files, and while
others have also expressed this opinion, the third party vendor insists on keeping them.

It seems that it should be possible in cvs to revert back to the vendor branch, and so avoid the above merge by hand problem. According to the
wincvs documentation:


Reverting to the latest vendor release

You can also revert local changes completely and return to the latest vendor release by changing the `head' revision back to the vendor branch on all files. For example, if you have a checked-out copy of the sources in ~/work.d/wdiff, and you want to revert to the vendor's version for all the files in that directory, you would type:

$ cd ~/work.d/wdiff
$ cvs admin -bWDIFF .

You must specify the -bWDIFF without any space after the -b. See admin options.


And also :


admin options



Set the default branch to rev. In CVS, you normally do not manipulate default branches; sticky tags (see Sticky tags) are a better way to decide which branch you want to work on. There is one reason to run cvs admin -b: to revert to the vendor's version when using vendor branches (see Reverting local changes). There can be no space between -b and its argument.



And on the subject of admin users:


·       Requires: repository, working directory.

        ·       Changes: repository.

        ·       Synonym: rcs

This is the CVS interface to assorted administrative facilities. Some of them have questionable usefulness for CVS but exist for historical purposes. Some of the questionable options are likely to disappear in the future. This command does work recursively, so extreme care should be used.

On unix, if there is a group named cvsadmin, only members of that group can run cvs admin. This group should exist on the server, or any system running the non-client/server CVS. To disallow cvs admin for all users, create a group with no users in it. On NT, the cvsadmin feature does not exist and all users can run cvs admin.


However, trying to perform the following command "cvs admin -banim.c" (i.e. we are trying to revert the file anim.c to the vendor version)causes the following error "cvs [admin aborted]: usage is restricted to repository administrators"

So, my questions are:

(1) Can anyone explain how to revert a single file back to the vendor
(2) Why do I get the error - documentation seems to indicate I should be able to perform admin commands (I'm running wincvs on Win2000, and the server is running cvsnt(don't know version off-hand). (3) Is the -b option is restricted to a whole branch (or can it be used on individual files).
(4) Anyone have any suggestions for workarounds?


Alex Zoro

Alex Zoro

Chat with friends online, try MSN Messenger:

reply via email to

[Prev in Thread] Current Thread [Next in Thread]