SVN冲突解决方法

时间:2023-03-23 03:13:57 解决方法 我要投稿
  • 相关推荐

SVN冲突解决方法大全

错误信息一:

SVN Attempted to lock an already-locked dir 出现这个问题后使用“清理”功能,如果还不行,就直接到上一级目录,再执行“清理”,然后再“更新”。

有时候如果看到某个包里面的文件夹没有SVN的标志,直接用“Ctrl+Delete”手工删除,然后“清理”,最后“更新”或“提交”。

中断提交,都会进入这种工作拷贝的锁定状态。用svn cleanup上次关闭时的锁定。

注:SVN使用规范

1.同步,合并,再提交

2.每天开工时,先在ECLIPSE里同步,下班时,要提交(提交前,先在文件夹的右菜单中,选择小组>清除),保证每个人的机子里在开工前都是最新版本

错误信息二:

Malformed file

svn: E:\svn\repository\conf\http://www.oh100.comnf:12: Option expected

原因:

配置文件12行开头有空格

错误信息

Attempted to lock an already-locked dir

svn: Working copy 'E:\integration\com.svn.practise' locked

原因:

需要用svn cleanup上次关闭时的锁定

错误问题三:

svn' containing working copy admin area is missing

一直使用SVN进行版本控制,环境是:

win2003+myeclipse6+svn1.46

部署到tomcat5.5和weblogic8.1

问题描述:

eclipse开发过程经常进行自动编译和发布,这导致/web-inf/目录下相关文件夹对应的.svn文件夹被连同删除,导致同步时出现:svn' containing working copy admin

area is missing提示。

解决办法:

浏览SVN仓库目录结构,把工程目录下对应的/web-inf/目录下相关文件全部或部分删除(这里我仅仅删除classes目录),刷新。再进行同步工作,OK。

------------------------------

本地项目与svn服务器比对时,

产生.../项目名/bin/org/.svn .....containing working copy admin area is

missing之类的问题解决办法:

不应该把bin目录(即class生成目录作为svn监管对象),

右键项目-》team-》设置属性-》名称: svn:ignore 内容: bin;

在svn的仓库bin目录删除;

在本地将bin目录下的org开始删除,然后右键bin目录,更新,然后bin目录消失;

clean并重新build该项目

错误问题四:myeclipse用svn提交的时候报错:

Attempted to lock an already-locked dir

svn: Working copy 'D:\Program Files\MyEclipse

6.6flex\workspace\emis\WebRoot\emis\emresource' locked

org.tigris.subversion.javahl.ClientException: Attempted to lock an already-locked dir

svn: Working copy 'D:\Program Files\MyEclipse

6.6flex\workspace\emis\WebRoot\emis\emresource' locked

解决方法:

1、在客户端命令行使用命令 svn cleanup D:\Program Files\MyEclipse

6.6flex\workspace\emis\WebRoot\emis\emresource

2、直接进入到上面的文件夹下的.svn目录,删除lock文件就可以了

SVN冲突解决方法大全2017-03-23 06:08 | #2楼

解决svn冲突的办法:

-手动解决:冲突发生时,通过和其他用户沟通之后,手动更新目标文件。然后执行svnresolvedfilename来解除冲突,最后提交。

-放弃自己的更新,使用别人的更新。使用最新获取的版本覆盖目标文件,执行svnresolvedfilename并提交。

《SVN冲突解决方法大全》全文内容当前网页未完全显示,剩余内容请访问下一页查看。

-放弃自己的更新,使用svnrevert,然后提交。在这种方式下不需要使用svnresolved。

对于svnresolved命令需要非常小心,必须是非常确定冲突已经解决才能使用。否则,会导致subversion以为冲突解决,而使代码库不正确。

解决冲突详细文档:http://www.oh100.com

解决冲突(合并别人的修改)

我们可以使用svnstatus-u来预测冲突,当你运行svnupdate一些有趣的事情发生了:

$svnupdate

uinstall

greadme

cbar.c

updatedtorevision46.

u和g没必要关心,文件干净的接受了版本库的变化,文件标示为u表明本地没有修改,文件已经根据版本库更新。g标示合并,标示本地已经修改过,与版本库没有重迭的地方,已经合并。

但是c表示冲突,说明服务器上的改动同你的改动冲突了,你需要自己手工去解决。当冲突发生了,有三件事可以帮助你注意到这种情况和解决问题:

subversion打印c标记,并且标记这个文件已冲突。

如果subversion认为这个文件是可合并的,它会置入svn冲突标记—特殊的横线分开冲突的“两面”—在文件里可视化的描述重叠的部分(subversion使用svn:mime-type属性来决定一个文件是否可以使用上下文的,以行为基础合并,更多信息可以看“svn:mime-type”一节)。

对于每一个冲突的文件,subversion放置三个额外的未版本化文件到你的工作拷贝:filename.mine

你更新前的文件,没有冲突标志,只是你最新更改的内容。(如果subversion认为这个文件不可以合并,.mine文件不会创建,因为它和工作文件相同。)

filename.roldrev这是你的做更新操作以前的base版本文件,就是你在上次更新之后未作更改的版本。

filename.rnewrev这是你的subversion客户端从服务器刚刚收到的版本,这个文件对应版本库的head版本。

这里oldrev是你的.svn目录中的修订版本号,newrev是版本库中head的版本号。

举一个例子,sally修改了sandwich.txt,harry刚刚改变了他的本地拷贝中的这个文件并且提交到服务器,sally在提交之前更新它的工作拷贝得到了冲突:

$svnupdate

csandwich.txt

updatedtorevision2.

$ls-1

sandwich.txt

sandwich.txt.mine

sandwich.txt.r1

sandwich.txt.r2

在这种情况下,subversion不会允许你提交sandwich.txt,直到你的三个临时文件被删掉。

$svncommit--message"addafewmorethings"

svn:commitfailed(detailsfollow):

svn:abortingcommit:'/home/sally/svn-work/sandwich.txt'remainsinconflict

如果你遇到svn冲突,三件事你可以选择:

“手动”合并冲突文本(检查和修改文件中的冲突标志)。

用某一个临时文件覆盖你的工作文件。

运行svnrevert<filename>来放弃所有的修改。

一旦你解决了冲突,你需要通过命令svnresolved让subversion知道,这样就会删除三个临时文件,subversion就不会认为这个文件是在冲突状态了。

[5]$svnresolvedsandwich.txt

resolvedconflictedstateof'sandwich.txt'

手工合并svn冲突

第一次尝试解决冲突让人感觉很害怕,但经过一点训练,它简单的像是骑着车子下坡。

这里一个简单的例子,由于不良的交流,你和同事sally,同时编辑了sandwich.txt。sally提交了修改,当你准备更新你的版本,冲突发生了,我们不得不去修改sandwich.txt来解决这个问题。首先,看一下这个文件:

$catsandwich.txt

toppieceofbread

mayonnaise

lettuce

tomato

provolone

<<<<<<<.mine

salami

mortadella

prosciutto

=======sauerkraut

grilledchicken

>>>>>>>.r2

creolemustard

bottompieceofbread

小于号、等于号和大于号串是冲突标记,并不是冲突的数据,你一定要确定这些内容在下次提交之前得到删除,前两组标志中间的内容是你在svn冲突区所做的修改:

<<<<<<<.mine

salami

mortadella

prosciutto=======

后两组之间的是sally提交的修改冲突:

=======sauerkraut

grilledchicken

>>>>>>>.r2

通常你并不希望只是删除svn冲突标志和sally的修改。

【SVN冲突解决方法】相关文章:

员工冲突管理案例04-16

如何管理冲突员工04-19

团队冲突管理技巧06-06

跨部门冲突的沟通技巧03-22

如何管理团队冲突论文04-19

人员冲突管理办法04-15

如何缓解叛逆期的冲突09-23

缓解亲子冲突的小妙方09-23

管理者解决冲突的方法04-16