我想恢复在某些提交中已删除的文件,并以不同的名称恢复它,以便它共享历史记录.在颠覆中,我会这样做
svn cp src@REV dest
Run Code Online (Sandbox Code Playgroud)
即使用挂钩修订.Mercurial中的等价物是什么?
我认为Mercurial没有内置的方法来做到这一点.但我认为你可以通过以下方式获得同样的效果:
hg up -C REV # Update to revision containing a copy of the file
<modify the file in question>
hg commit # Create second head based on old revision
hg merge # Merge two heads into one
# Note: make sure to choose to have the file exist
hg commit
hg mv MYFILE MYNEWNAME
Run Code Online (Sandbox Code Playgroud)
这将使文件保留其所有旧历史记录,因为最佳Mercurial可以跟踪它.
不只是(如果你hg remove在REV + 1中"src"):
hg revert -rREV src
hg status
A src
hg rename src dest
hg commit -m"restored src and renamed it to dest"
Run Code Online (Sandbox Code Playgroud)
工作?
编辑:我刚测试它,似乎没问题.实际上hg addsrc 不需要" ",因为revert正在处理这个问题.但是,如果您只执行一次提交而不是两次(如上面的代码中所示),hg将发出警告:
src尚未提交,因此不会为dest存储复制数据.
希望它会有所帮助.
| 归档时间: |
|
| 查看次数: |
3539 次 |
| 最近记录: |