我的当前工作副本中的文件列表已在本地修改。大约有50个文件已被更改。
我使用以下命令将已在subversion中修改过的文件复制到名为/ backup的文件夹中。有没有办法做到这一点,但维护他们所在的目录?所以它会做类似于导出文件的SVN差异。例如,如果我更改了一个名为/usr/lib/SPL/RFC.php
的文件,那么它也会将usr/lib/SPL
目录复制到备份中。
cp `svn st | ack '^M' | cut -b 8-` backup
答案 0 :(得分:6)
看起来很奇怪,但使用tar
复制文件非常容易。 E.g。
tar -cf - $( svn st | ack '^M' | cut -b 8- ) |
tar -C /backup -xf -
答案 1 :(得分:1)
为什么不创建更改补丁?这样,您就有一个文件包含您可以在名称中添加时间戳的所有更改 - 类似2012-05-28-17-30-00-UnitTestChanges.patch
,每天一个。
然后,您可以在准备好后将更改汇总到新的结帐,然后提交。
仅供参考:Subversion 1.8应该有checkpointing / shelving(您似乎想要这样做),但这还有很长的路要走,而且可能只会在Subversion 1.9中添加