You're not currently signed in.

MichaelSchwern, knowing CVS and not SVK, is mostly filling out the CVS parts.

Conceptual differences

SVK is quite similar to SVN so it might be useful to read SVN for CVS users.

Location of control files

  • CVS puts control files in the checkout directory (the CVS dirs).
  • SVK puts control files in the depot (usually ~/.svk) keeping the source tree clean. This also means checked out dirs are known by SVK (you can list them with svk co -l) and you must remember to detach them (svk co -d) before you delete them.

Workflow comparisons

Some common tasks you would do in CVS and their SVK equivalents.

Command comparisons

Because CVS and SVK use somewhat different workflows, some commands just don't make any sense. But let's try it anyway.

(ARGH! How do you do tables?! --Schwern)

| Idea                     |  CVS            |   SVK        |
| Initialize a repository  | cvs init        | svk depotmap |
| Diff between versions    | cvs diff        | svk diff     |
| Annotated source listing | cvs annotate    | svk annotate |
| Get help                 | info cvs        | svk help     |
| Delete file              | cvs rm          | svk rm       |
| Delete directory         |                 | svk rm       |
| Add file                 | cvs add         | svk add      |
| Add directory            | cvs add         | svk add      |
| Rename a file            | pain in the ass | svk mv       |
| Rename a directory       | pain in the ass | svk mv       |
| Importing from sources   | cvs import      | svk import   |
| Checkout                 | cvs co          | svk co       |
| Committing a change      | cvs ci          | svk ci       |
| Updating your local copy | cvs update      | svk update   |
| Throw out local edits    | rm && cvs update| svk revert   |
| Tag a release            | cvs tag         | svk cp       |

As you can see from the above table, SVK can behave quite similarly to CVS. Its advantages are clearer when using its more advanced features. -- MatthewDraper