Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I'm still interested to know if there's an easier way. (There must surely be an easier way). What I ended up doing was, on a Linux PC using bash:</p> <pre><code># Get woking copy we're going to change cd ~/work rm -rf modulename cvs up -dP modulename cd modulename # Remove all files find . -name CVS -prune -o -type f -print | xargs cvs rm -f # Get the old revision cd ~ mkdir scratch cd scratch cvs -q co -D 2008-12-31 modulename cd modulename # Copy everything to the working dir and do "cvs add" on it find . -name CVS -prune -o -type f -print | \ xargs tar c | \ (cd ~/work/modulename &amp;&amp; tar xv | \ xargs cvs add) # Check everything is OK before we commit cd ~/work/modulename cvs -nq up # it gave me an error on readme.txt because I'd deleted and then added it, so: mv readme.txt x # save good rev cvs add readme.txt # resurrect the bad rev mv x readme.txt # clobber file with good rev # Commit it cvs commit -m "Revert all changes this year" # Delete now-empty directories cvs -q up -dP # Double-check everything is back how it was diff -ur -xCVS ~/scratch/modulename ~/work/modulename </code></pre> <p>Then I discovered that there were still differences - my colleague had added filenames containing spaces, which weren't deleted by the above process. I had to delete those separately. (I should have used <code>find ... -print0</code> rather than <code>-print</code>, and passed the <code>-0</code> argument to <code>xargs</code>. I just didn't realise there were files with spaces.)</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload