【发布时间】:2018-03-23 14:38:55
【问题描述】:
我有一个跟踪的数据文件,我想用更新的(当前未跟踪的)版本覆盖它
如何在不破坏历史的情况下在 mercurial 中实现这一目标?
我可以覆盖原始文件,只要文件名保持不变,一切都应该没问题吗?
【问题讨论】:
我有一个跟踪的数据文件,我想用更新的(当前未跟踪的)版本覆盖它
如何在不破坏历史的情况下在 mercurial 中实现这一目标?
我可以覆盖原始文件,只要文件名保持不变,一切都应该没问题吗?
【问题讨论】:
覆盖效果很好。唯一的问题是 mercurial 认为您已经对现有文件进行了更改。
如果新文件确实与原始文件无关,最好的方法是完全删除该文件(hg rm 文件名)并提交删除,然后创建具有相同名称的文件并将其添加到 repo(hg添加文件名),以便用户清楚地知道原始文件已被删除,然后创建了一个新文件。
hg rm filename
hg commit -m "Removed filename"
echo "New file contents" > filename
hg add filename
hg commit -m "New version of filename"
当你说
hg log filename
无论如何都会保留文件的整个历史记录,并且用户清楚地知道旧文件已被删除并添加了新文件。
【讨论】: