gpt4 book ai didi

mercurial - "hg mv"命令的执行情况如何

转载 作者:行者123 更新时间:2023-12-02 19:35:14 26 4
gpt4 key购买 nike

假设,某个存储库中有 file.txt,并且有两个人正在攻击它。其中一个使用 hg mvfile.txt 移动到另一个文件夹,并立即将其推送到存储库中。当同事决定插入自己的修改时,Mercurial 是否有可能自动将原始 file.txt 中的更改 merge 到移动后的 file.txt 中?

我是不是太乐观了?

最佳答案

简短回答:是的,可以。

长示例:经典 Java 重构与同一文件中的代码更改

mkdir hgmv
cd hgmv/
mkdir -p com/example/hgmv/
cat << EOF > com/example/hgmv/Main.java
package com.example.hgmv;
class Main
{
public static void main(String args[])
{
System.out.println("Hello World!");
}
}
EOF
hg init .
hg add com/example/hgmv/Main.java
hg commit -m "First working version"
cd ..
hg clone hgmv hgmv.refactor
hg clone hgmv hgmv.translation

cd hgmv.refactor
hg branch refactor
hg mv com/example/hgmv/Main.java com/example/hgmv/HgMv.java
sed -i'' 's/Main/HgMv/g' com/example/hgmv/HgMv.java
hg commit -m "refactoring Main->HgMv"
hg push -f --new-branch ../hgmv
cd ..

cd hgmv.translation
hg branch translation
sed -i'' 's/Hello World!/Bonjour Monde!/g' com/example/hgmv/Main.java
hg commit -m "french translation"
hg push -f --new-branch ../hgmv
cd ..

cd hgmv
hg up refactor
hg merge translation
hg commit -m "merge"
cat com/example/hgmv/HgMv.java

还有火焰:这是 Mercurial 相对于 git 的优势之一

  • Mercurial 在提交时存储重命名/复制。
  • Git 猜测在 merge 时重命名/复制。

关于mercurial - "hg mv"命令的执行情况如何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5190913/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com