Aborting commit: 'XXXXXXXX'remains in conflict错误

commit failed (detail follow): Access denied的错误 svn提交时出错了 问题 解决方法 因为项目的权限关闭了,无法提交所导致的 阅读详情

今天在提交项目文件到本地SVN时提示错误如下:

过期:”global.php“在事务”21-1“,
You have to update your working copy first.

运行update更新后再次提交又出现如下错误:

svn: Commit failed (details follow):
svn: Aborting commit: 'global.php' remains in conflict

查了一下SVN的手册才知道原来是多个版本之间遇到冲突。

此时你需要解决冲突(合并别人的修改)。

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

$ svn update C sandwich.txt Updated to revision 2. $ ls -1 sandwich.txt sandwich.txt.mine sandwich.txt.r1 sandwich.txt.r2

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

$ svn commit --message "Add a few more things" svn: Commit failed (details follow): svn: Aborting commit: '/home/sally/svn-work/sandwich.txt' remains in conflict

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

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

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

  • 运行svn revert <filename>来放弃所有的修改。

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

$ svn resolved sandwich.txt Resolved conflicted state of 'sandwich.txt'

手工合并冲突

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

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

$ cat sandwich.txt
Top piece of bread
Mayonnaise
Lettuce
Tomato
Provolone
<<<<<<< .mine
Salami
Mortadella
Prosciutto
=======
Sauerkraut
Grilled Chicken
>>>>>>> .r2
Creole Mustard
Bottom piece of bread

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

<<<<<<< .mine
Salami
Mortadella
Prosciutto
=======

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

=======
Sauerkraut
Grilled Chicken
>>>>>>> .r2

通常你并不希望只是删除冲突标志和Sally的修改—当她收到三明治时,会非常的吃惊。所以你应该走到她的办公室或是拿起电话告诉Sally,你没办法从从意大利熟食店得到想要的泡菜。一旦你们确认了提交内容后,修改文件并且删除冲突标志。

Top piece of bread
Mayonnaise
Lettuce
Tomato
Provolone
Salami
Mortadella
Prosciutto
Creole Mustard
Bottom piece of bread

现在运行svn resolved,你已经准备好提交了:

$ svn resolved sandwich.txt
$ svn commit -m "Go ahead and use my sandwich, discarding Sally's edits."

记住,如果你修改冲突时感到混乱,你可以参考subversion生成的三个文件—包括你未作更新的文件。你也可以使用第三方的合并工具检验这三个文件。

拷贝覆盖你的工作文件

如果你只是希望取消你的修改,你可以仅仅拷贝Subversion为你生成的文件替换你的工作拷贝:

$ svn update
C sandwich.txt
Updated to revision 2.
$ ls sandwich.*
sandwich.txt sandwich.txt.mine sandwich.txt.r2 sandwich.txt.r1
$ cp sandwich.txt.r2 sandwich.txt
$ svn resolved sandwich.txt
下注:使用svn revert

如果你得到冲突,经过检查你决定取消自己的修改并且重新编辑,你可以恢复你的修改:

$ svn revert sandwich.txt
Reverted 'sandwich.txt'
$ ls sandwich.*
sandwich.txt

注意,当你恢复一个冲突的文件时,不需要再运行svn resolved

现在我们准备好提交修改了,注意svn resolved不像我们本章学过的其他命令一样需要参数,在任何你认为解决了冲突的时候,只需要小心运行svn resolved,—一旦删除了临时文件,Subversion会让你提交这文件,即使文件中还存在冲突标记。

提交你得修改

最后!你的修改结束了,你合并了服务器上所有的修改,你准备好提交修改到版本库。

svn commit命令发送所有的修改到版本库,当你提交修改时,你需要提供一些描述修改的日志信息,你的信息会附到这个修订版本上,如果信息很简短,你可以在命令行中使用--message(-m)选项:

$ svn commit --message "Corrected number of cheese slices." Sending sandwich.txt Transmitting file data . Committed revision 3.

然而,如果你把写日志信息当作工作的一部分,你也许会希望通过告诉Subversion一个文件名得到日志信息,使用--file选项:

$ svn commit --file logmsg Sending sandwich.txt Transmitting file data . Committed revision 4.

如果你没有指定--message或者--file选项,Subversion会自动地启动你最喜欢的编辑器来编辑日志信息。

版本库不知道也不关心你的修改作为一个整体是否有意义,它只检查是否有其他人修改了同一个文件,如果别人已经这样做了,你的整个提交会失败,并且提示你一个或多个文件已经过时了:

$ svn commit --message "Add another rule" Sending rules.txt svn: Commit failed (details follow): svn: Out of date: 'rules.txt' in transaction 'g'

此刻,你需要运行svn update来处理所有的合并和冲突,然后再尝试提交。

我们已经覆盖了Subversion基本的工作周期,还有许多其它特性可以管理你得版本库和工作拷贝,但是只使用前面介绍的命令你就可以很轻松的工作了。

SVN客户端SVN commit 失败,系统找不到指定的路径 今天使用SVN上传新文件时,Tortoise SVNadd成功,commit时,出现错误 阅读详情

相关推荐

Error:svn: E155015: Commit failed (details follow): Aborting commit:“xxxxxxxx“remains in confl

在使用SVN提交项目的时候出现如下错误Error:svn: E155015: Commit failed (details follow): svn: E155015: 。。。。。。Aborting commit:  remains in conflict 我是由于删除了本地的项目中的一个Activity在提交后出现冲突。 我的解决办法就是  点击提交后会出现你删除的文件,双击你存在冲突

FrancisBingo的博客 1万+

今天进行svn的提交时出现的错误Cannot write to the prototype revision file of transaction

svn错误   2010-10-20 16:57:43|  分类: linux |  标签:svn   |字号大中小 订阅   今天进行svn的提交时出现的错误 Error: Commit failed (details follow):  Error: Cannot write to the prototype revision file of transaction '40-1'

IT技术宅-北方的刀郎 6424

SVN Commit failed (details follow): Access denied forbidden 提交代码失败

原因一:svn的库名写的不是非常精确 如:svn服务器上是SVN_project,而你写的路径是svn_project(svn未大写)。究其原因是:svn对库名的大小写之分有敏感与不敏感。 不敏感体现在:不论库名大小写字母,只要几个字母正确的,便可访问到该库:①网页形式可以访问;②从svn服务器update数据到本地也可以。(当这些操作步骤都可以实现的时候,当不能提交数据的时候,大家也不会首先想到是因为库名不一致的原因而导致的错误svn库名大小写敏感体现在:库名的大小写有误,则无法从本地commit数据

craftsman2020的博客 7538

Aborting commit: 'XXXXXXXX'remains in conflict错误()

今天在提交项目文件到本地SVN时提示错误如下: 过期:”global.php“在事务”21-1“, You have to update your working copy first. 运行update更新后再次提交又出现如下错误svn: Commit failed (details follow):svn: Aborting commit: 'global.php' remains in conflict查了一下SVN的手册才知道原来是多个版本之间遇到冲突。此时你需要解决冲突(合并别人的修

xiunai78的专栏 3万+

svn解决冲突 Aborting commit: 'XXXXXXXX'remains in conflict错误

如果你遇到冲突,三件事你可以选择: “手动”合并冲突文本(检查和修改文件中的冲突标志)。 用某一个临时文件覆盖你的工作文件。 运行svn revert <filename>来放弃所有的修改。 一旦你解决了冲突,你需要通过命令svn resolved让Subversion知道,这样就会删除三个临时文件,Subversion就不会认为这个文件是在冲突状态了。 $ svn reso...

weixin_30535565的博客 109

Eclipse中的svn冲突解决办法:eclipse svn Aborting commit: 'XXXXXXXX'remains in conflict

Eclipse中的svn冲突解决办法: 点击提交,报错——‘SVN提交’has encountered a problem. 选中无法提交的文件,点击更新操作。多出三个文件,分别是:“.mine”“r(xxx+1)”“r(xxx)”其中xxx为版本号。“.mine”是我要提交的文件,“.r(xxx)”是我是在这个版本文件基础上修改后产生冲突的。“r(xxx+1)”是目前svn服务器最新版本...

violet126041的博客 646

SVN不能提交 Error Commit Failed (details Follow): Error Authorization Failed

SVN不能提交 Error Commit Failed (details Follow): Error Authorization Failed 使用svn的时候有时候会碰到这样的错误 一般出现这样的情况先把自己写的代码拷贝一份,然后先更新再提交就可以了

程序员超哥的博客 7114

svn提交提示服务器文件被锁,SVN经常说文件被我锁定在另一个工作副本中

我有一个SVN存储库(托管在Dreamhost上),在二进制文件上设置了需求锁 . 有时会发生这样的情况:在提交由我锁定和修改的文件时,提交失败并显示错误Error: Commit failed (details follow):Error: File '/my/file.bin' is locked inError: another working copy如果我试图锁定该文件(不窃取它),...

weixin_35745604的博客 1900

Commit failed (details follow):is out of date

处理方法:先备份好自己的修改文件,然后还原并更新后修改自己的内容,避免冲突,后重新提交。原因,svn上版本跟本地有差异,idea右下角事件日志查看具体哪个文件。关于SVN提交时报out-of-date错误的解决方法。

me_Jackyoyo的博客 1043

Error:svn: E165001: Commit failed (details follow):....

Error:svn: E165001: Commit failed (details follow): svn: E165001: Commit blocked by pre-commit hook (exit code 101) with output: Warning: Commit with empty log message is NOT allowed! 是由于svn服务器端设...

llljyb的专栏 1317

svn提交代码出错

今天提交代码的时候一直报错,下面是错误信息 Error: Commit failed (details follow): Error: Commit blocked by pre-commit hook (exit code 1) with output: Error: SVN have a pre-commit hook! Error: Jun 08, 2018 9:48:48 AM o...

weixin_30646315的博客 743

svn文件提交失败

3.执行 sqlite3 .svn/wc.db “select * from work_queue”. 确认一下是否已经清空队列,发现已经没有记录显示,说明已经清空了。1.执行 sqlite3 .svn/wc.db “select * from work_queue”. 看到有1条记录。2.执行 sqlite3 .svn/wc.db “delete from work_queue”. 把队列清空。4.最后再试一下,看是否可以 clean up了。

beiback的博客 814

如何解决SVN Commit failed (details follow): Access denied

遇到问题:因工作需求,今天去项目组备份svn虚拟机。当A同事看到我,说:“你是来备份svn的吧,那我抓紧还有点数据准备提及。”想等他提交完了,我再开始备份。 问题来了:A同事拿U盘准备把自己电脑的数据拷贝到B电脑上,然后提及数据。我疑惑了,怎么不在自己电脑上直接用svn客户端commit呢。然后A同事说: 他的电脑上无法commit,用A账号在其他电脑上,都可以提及,在A电脑上却不可以commit...

weixin_33971205的博客 2871

Commit failed (details follow):

Windows下:   当TortoiseSVN  svn客户端,如果遇到"认证错误"而且   又不弹出让你重新登录的窗口时,错误信息   Java代码   Commit faileddetails follow):   认证失败   conf文件下的svnserve.conf,将   # password-db = passwd   除去行前的#和空格,注意必须去掉空格

大大大禹的专栏 4278
上一篇: Mangos完全源码编译架设教程,新手入门版
下一篇: Apache2.2.9+Subversion1.4.6在windows下的配置与权限设置
enginetanmary
博客等级 码龄19年 34粉丝 22原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值