3

我的当前工作副本中有一个已在本地修改的文件列表。大约有 50 个文件已更改。

我正在使用以下命令将已在 subversion 中修改的文件复制到名为 /backup 的文件夹中。有没有办法做到这一点,但维护他们所在的目录?所以它会做一些类似于导出文件的 SVN 差异的事情。例如,如果我更改了一个名为的文件,/usr/lib/SPL/RFC.php那么它也会将该usr/lib/SPL目录复制到备份中。

cp `svn st | ack '^M' | cut -b 8-` backup
4

2 回答 2

7

看起来很奇怪,但是用tar. 例如

tar -cf - $( svn st | ack '^M' | cut -b 8- ) |
tar -C /backup -xf -
于 2012-05-25T16:22:24.053 回答
1

为什么不为您的更改创建一个补丁?这样,您就有了一个包含所有更改的文件,您可以在名称中加上时间戳 - 例如2012-05-28-17-30-00-UnitTestChanges.patch,每天一个。

然后,您可以在准备好后将更改汇总到新的结帐,然后提交它们。

仅供参考:Subversion 1.8应该有检查点/搁置(这是您似乎想要做的),但这还有很长的路要走,并且可能只会在 Subversion 1.9 中添加。

于 2012-05-28T00:17:14.457 回答