gpt4 book ai didi

SVN 看不到原始文件夹和移动版本之间的冲突

转载 作者:行者123 更新时间:2023-12-02 00:07:55 25 4
gpt4 key购买 nike

我在主干中有一个具有旧目录结构的文件夹,以及几个目录被分组为新文件夹的子文件夹的分支:

old(trunk) > root/dirA
/dirB
/dirC

new(branch) > root/dirGROUP/dirA
/dirB
/dirC

new 目录中使用 svn move 命令移动。

旧的dirA和新的dirA的文件之间存在文本冲突。

当我执行 svn merge --reintegrate http://url.to.the.branch 时,SVN 只会删除旧的 dirAdirBdirC 并且只给我新的目录结构,没有注意到新旧 dirA 版本文件之间的冲突,就好像它是独立目录一样。新 dirA 中的文件已合并为 A 状态。
SVN默认支持这样的合并吗?如果是的话,事实证明我错过了什么
如果不是 - 如何教 SVN 注意到这种冲突?

最佳答案

这现在可能有帮助,我有两个解决方案。您遇到的问题可以通过这些方法解决。

解决方案 1:

假设你有以下文件

/branch/foo/src/com
/branch/foo/test/com
/trunk/src/main/java/com
/trunk/src/test/java/com

在将 src/com 移动到 src/main/java/com 并将 test/com 移动到 src/test/java/com 之前,您可以这样做:

cd $TRUNK
svn merge -r N:M http://server/branch/foo .

你现在可以做的是:

cd $TRUNK
svn merge -r N:M http://server/branch/foo/src/com src/main/java/com
svn merge -r N:M http://server/branch/foo/test/com src/test/java/com

或者你还可以做的是

解决方案2:

1) 执行 svn up 以获取最新的代码副本(在旧目录结构中)

svn up 

2) 在 dir 目录结构中使用 unix 命令复制目录

cp -r /root/dirA /root/dirGroup/
cp -r /root/dirB /root/dirGroup/
cp -r /root/dirC /root/dirGroup/

现在您在所需路径中有了本地副本。

3) 删除旧文件。

svn -d file names.
svn ci

4) 添加新文件和目录 svn 添加目录 svn 添加目录 svn 添加目录 所有三个目录的 svn ci

关于SVN 看不到原始文件夹和移动版本之间的冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17237352/

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