将每个subversion版本签出到自己的目录中?

时间:2013-02-25 00:35:49

标签: svn version-control git-svn

我想将SVN存档的每个版本签出到自己的目录。

我措辞不好的最后一个问题提示答案告诉我创建一个重复的SVN存储库,但是,这显然不是我想要的。

我不是在寻找重复的SVN存档 - 每个版本都必须放在自己的文件夹中。

1 个答案:

答案 0 :(得分:1)

我不确定你为什么要这样做,但编写某种脚本应该很容易。您只需要弄清楚HEAD修订号是什么,然后编写检查脚本。例如使用php(导致它最容易写下我的头脑):

$head = 5042;
$base = 1;
$basepath = "/path/to/folder";
$svnbin = '/usr/bin/svn';
$svnurl = 'http://svn.whatever.com/path/to/repo';

$cmdtpl = "$svnbin co -r%d $svnrl %s";

for ($n = $base; $n <= $head; $n++) {
   $dir = $basepath . '/r' . $n; // folders names like r1, r2, etc.
   $cmd = sprintf($cmdtpl, $n, $dir);

   exec($cmd, $out, $ret);

   // blow up if it fails!
   if($ret) {
      throw new Exception("Command ($cmd) failed with return value \"$ret\".");
   }

}