直到最近,我们一直在网络工作室的所有项目中使用 SVN,并且 Subversive 和 TortoiseSVN 等多个客户端中存在一个非常方便的功能,可以提取在某个版本中更改的所有文件。
Mercurial 有没有办法做到这一点?我不在乎它是通过 GUI 还是命令行完成的,拥有一组在某个变更集中已更改的文件非常方便。
附:一定是我第一次写错了。我需要的不仅仅是文件列表,如果能将所有文件导出到其他文件夹就太好了。
根据杰罗姆的回答,这将为您提供文件的副本修订版 4 中的更改:
hg archive --type files --rev 4 -I $(hg log -r 4 --template {files} | sed 's/ / -I /g') ~/changedfiles
这会将所有更改为修订版 4 的文件放入您的主目录中新创建的名为changedfiles 的目录中。
如果你将其更改为:
hg archive --type zip --rev 4 -I $(hg log -r 4 --template {files} | sed 's/ / -I /g') ~/changedfiles.zip
然后它们会出现在 zip 存档中。
值得注意的是,只有当文件名中没有空格时,这才有效。如果你犯了这个错误那么我们需要使用hg status --print0 -r revision -r parent-of-revision
相反,但希望这不是必要的。
另请注意,版本号(在我们的示例中为“4”)出现了两次。整个事情可以很容易地包装在 shell 脚本中,并且可以参数化,这样您就不必记住在两个地方都更改它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)