You're not currently signed in. Sign in.

Initialize

You need to create a primary repository for svk to use. You can create

this repository using

svk depotmap --init

The default repository svk looks for is ~/.svk/local

After the first time you run svk, you'll have a .svk/config file, you

can edit the depotmap to modify the default repository and add

other maps to make the repositories accessible from svk. Also, see

svk depotmap --help

Mirroring

For example if you want to bring the svk source tree to

your local repository:

svk mirror //svk/trunk http://svn.elixus.org/repos/member/clkao/svk

Then you can synchronize with:

svk sync //svk/trunk

If you don't want to sync every revision from the remote, you can

add a -s REV option as the first revision to sync without previous

changes.

svk sync //svk/trunk -s HEAD

Now you might want to create a local branch:

svk cp -m 'local branch for svk' //svk/trunk //svk/local

checkout / update / commit

Most of the normal operations you use in svn would be found in svk also:

svk co //svk/local svk # checkout to svk under current directory

(Note that for the moment: we don't use .svn directory, so you can't move the

checkout copies. A subcommand should be available in the future)

svk up -r REV # update to revision <REV>

Also note that subcommands do not support multiple targets at this

moment.

merge

In svk, you can merge into a checkout copy or into the repository

directly. For example, if you want to bring your local change from

rev 3 to rev 6 to the remote:

svk merge -r 3:6 //svk/local //svk/trunk

The commit by merge will be made to the remote repository in this

case. (It's advised to check with -C to see if the merge succeeded)

Please note that currently Algorithm::Merge has many bugs that will

cause merging to fail. A merge regression code is built into the merge command,

please help report failed merges to the authors. We will either try

to fix Algorithm::Merge or use svn's diff library when it goes

streamy instead of mmapping.

smerge

Smart merge, or star-merge. This is a frontend of merge

(described above) which stores extra information about performed merges

and finds appropriate revision numbers to use automatically.

smerge is (heavily?) inspired by the star-merge algorithm developed

by TomLord for the GnuArch revision control system. It also supports

baseless merges. Additionally, you have the option to specify an arbitary

common base revision.