Subversion 移动后无法合并 [英] Subversion can't merge after a move

查看:18
本文介绍了Subversion 移动后无法合并的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对 Subversion 非常陌生,但多年来我一直在使用其他版本控制系统,例如 ClearCase.

I'm very new to Subversion, but I've used other revision control systems like ClearCase for years.

我的老板让我修复这个项目,以便它可以用 Maven 而不是 Ant 来构建.我必须做的重要事情之一是将 src/com 移动到 src/main/java/com,然后移动 test/comsrc/test/java/com,这是我使用 svn mv 命令完成的.我愚蠢地认为,既然我使用 Subversion 命令移动目录,那么 Subversion 就会知道东西已经被移动了.当我将我的分支合并到主干时,它似乎起作用了.但是现在其他人刚刚完成了他在我工作之前分支的分支上的工作.所以我们将他的东西合并到主干中,基本上 Subversion 似乎认为 好吧,他对 src/com/foo/bar/baz.java 进行了更改,但那个目录没有"不再存在,所以它不相关,所以丢弃它而不是我所期望的,这是好的,他对src/com/foo/bar/baz.java进行了更改,但 src/com 已被移动,所以我需要将其合并到 src/main/java/com/foo/bar/baz.java".

My boss asked me to fix this project so that it could be built with Maven instead of Ant. One of the important things I had to do to was to move src/com to src/main/java/com, and move test/com to src/test/java/com, which I did using the svn mv command. I foolishly assumed that since I used Subversion commands to move the directories, that Subversion would then know that things had been moved. And when I merged my branch into the trunk, it appeared to work. But now somebody else just finished work on a branch that he branched off before my work. So we go to merge his stuff into trunk, and basically Subversion appears to think "ok, he made changes to src/com/foo/bar/baz.java, but that directory doesn’t exist any more, so it’s irrelevant, so discard it" instead of what I expected, which was "ok, he made changes to src/com/foo/bar/baz.java, but src/com has been moved, so I need to merge that into src/main/java/com/foo/bar/baz.java".

有没有办法让 Subversion 进行修订管理,还是我要在接下来的两天内手动合并这个人的更改?

Is there a way to make Subversion do the revision management, or am I going to be manually merging this guy’s changes for the next two days?

推荐答案

直接回答您的问题:

有没有办法让 Subversion 进行修订管理,还是我要在接下来的两天内手动合并这个人的更改?

Is there a way to make Subversion do the revision management, or am I going to be manually merging this guy’s changes for the next two days?

你应该能够让自己更轻松一点.

You should be able to make it a little bit easier on yourself.

你可以做一件事来减轻一些痛苦(假设布局如下)

One thing that you can do to alleviate some of the pain (assuming a layout as follows)

/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 之前,您可以这样做:

Before you moved src/com to src/main/java/com and test/com to src/test/java/com you could have done:

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

希望这有助于为您节省一些时间.

Hope this helps to save you some time.

这篇关于Subversion 移动后无法合并的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆