How do I revert a big change in CVS?

前端 未结 10 543
离开以前
离开以前 2021-02-01 16:49

One of my colleagues has totally messed up the contents of a directory in our main CVS repository. I need to just revert the whole module to the state it was in at the end of l

10条回答
  •  醉梦人生
    2021-02-01 17:12

    There are several problems with CVS and you're hitting them with such a problem.

    1. CVS is file-oriented, no concept of a changeset or snasphot. That means that changes such as the one you want to revert are a bit difficult to handle. Commits are atomic within a given directory, not outside.

    2. Directories are not versioned. That means that empty directories will be deleted (if you update with -P) and that you have to specify -d to create them on checkout/update.

    So, to answer your question, dates are probably the only way to deal with because you didn't use tags to create some poor man's version of changeset.

    My comment about backups is that it may be easier to recover the whole repo from backups than try to correct things that CVS is not really good at.

    I would encourage you -- but that is another subject -- to change version control as soon as you can. Trust me, I've been dealing with CVS for a long time within the FreeBSD project and learn very quickly how hateful CVS is... See here for some of my views on version control software.

提交回复
热议问题