+my %update_method = (
+ 'src-svn' => {
+ 'init' => "svn checkout '%s' '%s'",
+ 'update' => "svn update",
+ 'controldir' => ".svn"},
+ 'src-cpy' => {
+ 'init' => "cp -Rf '%s' '%s'",
+ 'update' => ""},
+ 'src-link' => {
+ 'init' => "ln -s '%s' '%s'",
+ 'update' => ""},
+ 'src-git' => {
+ 'init' => "git clone --depth 1 '%s' '%s'",
+ 'init_branch' => "git clone --depth 1 --branch '%s' '%s' '%s'",
+ 'update' => "git pull",
+ 'controldir' => ".git"},
+ 'src-gitsvn' => {
+ 'init' => "git svn clone -r HEAD '%s' '%s'",
+ 'update' => "git svn rebase",
+ 'controldir' => ".git"},
+ 'src-bzr' => {
+ 'init' => "bzr checkout --lightweight '%s' '%s'",
+ 'update' => "bzr update",
+ 'controldir' => ".bzr"},
+ 'src-hg' => {
+ 'init' => "hg clone '%s' '%s'",
+ 'update' => "hg pull --update",
+ 'controldir' => ".hg"},
+ 'src-darcs' => {
+ 'init' => "darcs get '%s' '%s'",
+ 'update' => "darcs pull -a",
+ 'controldir' => "_darcs"},
+);