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

Svn 是否将每个subversion版本签出到其自己的目录中?,svn,version-control,git-svn,Svn,Version Control,Git Svn,我想将SVN归档的每个版本签出到它自己的目录中 最后一个问题措辞拙劣,提示我创建一个重复的SVN存储库,然而,这显然不是我想要的 我不是在寻找一个重复的SVN存档-每个修订版都必须放在自己的文件夹中 我不知道你为什么要这么做,但是写一些脚本来做应该很容易。您只需要确定HEAD修订号为,然后编写签出脚本。例如,使用php(因为它最容易从我的头顶上注销): $head=5042; $base=1; $basepath=“/path/to/folder”; $svnbin='/usr/bin/svn'

我想将SVN归档的每个版本签出到它自己的目录中

最后一个问题措辞拙劣,提示我创建一个重复的SVN存储库,然而,这显然不是我想要的


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

我不知道你为什么要这么做,但是写一些脚本来做应该很容易。您只需要确定HEAD修订号为,然后编写签出脚本。例如,使用php(因为它最容易从我的头顶上注销):

$head=5042;
$base=1;
$basepath=“/path/to/folder”;
$svnbin='/usr/bin/svn';
$svnurl='1http://svn.whatever.com/path/to/repo';
$cmdtpl=“$svnbin co-r%d$svnrl%s”;

对于($n=$base;$n也许你应该解释一下你为什么要这么做——如果你想把SVN回购转换成git,我认为有现成的工具可以做到这一点……我不想这么做。如果我想转换成git,我会说:P为什么你不说你想做什么?你怎么误解了第一个和最后一个sentences?写得很清楚…你是怎么误解我的第一句话的?我问你为什么,关于你的第一句话。我在寻找答案。但是,嘿,你得到了答案,所以没关系。
$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\".");
   }

}