SVN常见错误和版本冲突解决

简介:

之前在Eclipse下面误删除了svn的一些插件包,后来重装了就问题重重,在这里还是建议,

Windows下SVN最好使用桌面版,在文件管理器下面更新和提交。

1.常见错误整理

 

 

#, c-format
msgid ""
"Failed to mark '%s' absent: item of the same name is already scheduled for "
"addition"
msgstr "无法将“%s”标记为不存在: 同名项目已加入增加调度"
msgid "Destination directory of add-with-history is missing a URL"
msgstr "add-with-history 的目标目录缺少 URL"
msgid "Destination URLs are broken"
msgstr "目的 URL 无效"
msgid "No fetch_func supplied to update_editor"
msgstr "没有为 update_editor 提供 fetch_func"
msgid "Bad copyfrom arguments received"
msgstr "接收到非法的 copyfrom 参数"
#, c-format
msgid ""
"Failed to add file '%s': a non-file object of the same name already exists"
msgstr "无法新增文件“%s”: 同名非文件对象已存在"
#, c-format
msgid ""
"Failed to add file '%s': an unversioned file of the same name already exists"
msgstr "增加文件 '%s' 失败: 同名未版本控制的文件已存在"
#, c-format
msgid ""
"UUID mismatch: existing file '%s' was checked out from a different repository"
msgstr "UUID 不匹配: 现有文件 '%s' 来自其它版本库"
#, c-format
msgid "URL '%s' of existing file '%s' does not match expected URL '%s'"
msgstr "URL '%s' 对于现有文件 '%s' 不匹配,期望的 URL 是 '%s'"
#, c-format
msgid "File '%s' in directory '%s' is not a versioned resource"
msgstr "文件 “%s” 不是版本控制资源,在目录 “%s” 中"
#, c-format
msgid "Checksum mismatch for '%s'; recorded: '%s', actual: '%s'"
msgstr "“%s” 的校验和不匹配;记录: “%s”,实际: “%s”"
#, c-format
msgid "'%s' has no ancestry information"
msgstr "“%s”没有演进历程信息"
#, c-format
msgid "Copyfrom-url '%s' has different repository root than '%s'"
msgstr "Copyfrom-url“%s”与“%s”的版本库根目录不相同"
#, c-format
msgid "'%s' is not a directory"
msgstr "“%s”不是目录"
msgid "Unable to make any directories"
msgstr "无法创建任何目录"
#, c-format
msgid "Cannot find a URL for '%s'"
msgstr "不能为“%s”找到 URL"
msgid "'verbose' option invalid in XML mode"
msgstr "在XML模式中“verbose”选项无效"
msgid "'incremental' option only valid in XML mode"
msgstr "只有在XML模式“incremental”选项才有效"
#, c-format
msgid "Skipping binary file: '%s'\n"
msgstr "略过二进制文件: “%s”\n"
msgid "Changelist names must not be empty"
msgstr "修改列表的名称不能为空"
#, c-format
msgid "'%s' does not appear to be a URL"
msgstr "“%s”不像是URL"
msgid "||||||| ORIGINAL"
msgstr "||||||| 原始版本"
msgid "<<<<<<< MINE (select with 'mc')"
msgstr "<<<<<<< 我的版本 (使用 “mc” 选择)"
msgid ">>>>>>> THEIRS (select with 'tc')"
msgstr ">>>>>>> 他人版本 (使用 “tc” 选择)"
msgid "No editor found."
msgstr "没有发现编辑器。"
msgid "Error running editor."
msgstr "执行编辑器错误。"
#, c-format
msgid ""
"Invalid option; there's no merged version to edit.\n"
"\n"
msgstr ""
"非法选项;没有已合并的版本来编辑。\n"
"\n"
msgid "No merge tool found.\n"
msgstr "没有发现合并工具。\n"
msgid "Error running merge tool."
msgstr "执行合并工具错误。"
msgid "No editor found; leaving all conflicts."
msgstr "没有发现编辑器;不处理冲突。"
msgid "Error running editor; leaving all conflicts."
msgstr "执行编辑器错误;不处理冲突。"
msgid "No merge tool found; leaving all conflicts."
msgstr "没有发现合并工具;不处理冲突。"
msgid "Error running merge tool; leaving all conflicts."
msgstr "执行合并工具错误;不处理冲突。"
#, c-format
msgid "Conflict discovered in '%s'.\n"
msgstr "在 “%s” 中发现冲突。\n"
#, c-format
msgid "Conflict for property '%s' discovered on '%s'.\n"
msgstr "属性 “%s” 冲突,位于 “%s”。\n"
#, c-format
msgid ""
"They want to delete the property, you want to change the value to '%s'.\n"
msgstr "他人想删除此属性,你想改变其取值为 “%s”。\n"
#, c-format
msgid ""
"They want to change the property value to '%s', you want to delete the "
"property.\n"
msgstr "他人想改变其取值为 “%s”,你想删除此属性。\n"
msgid "Select: (p) postpone"
msgstr "选择: (p) 推迟"
msgid ", (df) diff-full, (e) edit"
msgstr ",(df) 显示全部差异,(e) 编辑"
msgid ", (r) resolved"
msgstr ",(r) 已解决"
msgid ""
",\n"
"        (mc) mine-conflict, (tc) theirs-conflict"
msgstr ""
",\n"
"        (mc) 我的版本, (tc) 他人的版本"
msgid ""
",\n"
"       &nbsp,mbt shoes;(mf) mine-full, (tf) theirs-full"
msgstr ""
",\n"
"        (mf) 全用我的, (tf) 全用他人的"
msgid "(s) show all options: "
msgstr "(s) 显示全部选项: "
#, c-format
msgid ""
"\n"
"  (e)  edit             - change merged file in an editor\n"
"  (df) diff-full        - show all changes made to merged file\n"
"  (r)  resolved         - accept merged version of file\n"
"\n"
"  (dc) display-conflict - show all conflicts (ignoring merged version)\n"
"  (mc) mine-conflict    - accept my version for all conflicts (same)\n"
"  (tc) theirs-conflict  - accept their version for all conflicts (same)\n"
"\n"
"  (mf) mine-full        - accept my version of entire file (even non-"
"conflicts)\n"
"  (tf) theirs-full      - accept their version of entire file (same)\n"
"\n"
"  (p)  postpone         - mark the conflict to be resolved later\n"
"  (l)  launch           - launch external tool to resolve conflict\n"
"  (s)  show all         - show this list\n"
"\n"
msgstr ""
"\n"
"  (e)  编辑           - 使用编辑器修改合并后的文件\n"
"  (df) 显示全部差异   - 显示合并文件后的所有修改\n"
"  (r)  解决           - 使用合并后的文件\n"
"\n"
"  (dc) 显示冲突       - 显示全部冲突(忽略已经合并的版本)\n"
"  (mc) 我的版本       - 使用我的版本解决冲突(同上)\n"
"  (tc) 他人的版本     - 使用他人的版本解决冲突(同上)\n"
"\n"
"  (mf) 全用我的       - 全部使用我的版本(包含不冲突的文件)\n"
"  (tf) 全用他人的     - 全部使用他人的版本(同上)\n"
"\n"
"  (p)  推迟           - 标记以后解决冲突\n"
"  (l)  执行           - 使用第三方工具解决冲突\n"
"  (s)  显示全部选项   - 显示这个列表\n"
"\n"
#, c-format
msgid ""
"Invalid option; cannot choose based on conflicts in a binary file.\n"
"\n"
msgstr ""
"非法选项;不能为二进制文件冲突选择基准。\n"
"\n"
#, c-format
msgid ""
"Invalid option; cannot choose based on conflicts for properties.\n"
"\n"
msgstr ""
"非法选项;不能为属性冲突选择基准。\n"
"\n"
#, c-format
msgid ""
"Invalid option; cannot display conflicts for a binary file.\n"
"\n"
msgstr ""
"非法选项;不能显示二进制文件的冲突。\n"
"\n"
#, c-format
msgid ""
"Invalid option; cannot display conflicts for properties.\n"
"\n"
msgstr ""
"非法选项;不能显示属性的冲突。\n"
"\n"
#, c-format
msgid ""
"Invalid option; original files not available.\n"
"\n"
msgstr ""
"非法选项;原始文件不可用。\n"
"\n"
#, c-format
msgid ""
"Invalid option; there's no merged version to diff.\n"
"\n"
msgstr ""
"非法选项;没有已合并的版本来比较差异。\n"
"\n"
#, c-format
msgid ""
"Invalid option.\n"
"\n"
msgstr ""
"无效选项。\n"
"\n"
#, c-format
msgid ""
"Conflict discovered when trying to add '%s'.\n"
"An object of the same name already exists.\n"
msgstr ""
"增加 “%s” 时出现冲突。\n"
"同名对象已存在。\n"
msgid "Select: (p) postpone, (mf) mine-full, (tf) theirs-full, (h) help:"
msgstr "选择:(p) 推迟,(mf) 全用我的,(tf) 全用他人的,(h) 帮助:"
#, c-format
msgid ""
"  (p)  postpone    - resolve the conflict later\n"
"  (mf) mine-full   - accept pre-existing item (ignore upstream addition)\n"
"  (tf) theirs-full - accept incoming item (overwrite pre-existing item)\n"
"  (h)  help        - show this help\n"
"\n"
msgstr ""
"  (p)  推迟            - 以后解决冲突\n"
"  (mf) 全用我的        - 使用先前的项目(忽略上游的修改)\n"
"  (tf) 全用他人的      - 使用引入的项目(覆盖先前的项目)\n"
"  (h)  帮助            - 显示这个列表\n"
"\n"
msgid ""
"Local, non-commit operations do not take a log message or revision properties"
msgstr "本地操作,非提交操作无须日志信息或版本属性"
#, c-format
msgid "Can't open stdout"
msgstr "无法打开标准输出"
#, c-format
msgid "Can't open stderr"
msgstr "无法打开标准错误"
msgid "'--xml' option only valid with '--summarize' option"
msgstr "“--xml” 选项只能与 “--summarize” 同时使用"
msgid "'--new' option only valid with '--old' option"
msgstr "“--new” 选项只能与 “--old” 同时使用"
#, c-format
msgid "Target lists to diff may not contain both working copy paths and URLs"
msgstr "差异比较目标不可同时包含工作副本路径与URL"
msgid ""
"Destination directory exists; please remove the directory or use --force to "
"overwrite"
msgstr "目的目录已存在;请删除目录或用 --force 来覆盖目录"
#, c-format
msgid ""
"usage: svn <subcommand> [options] [args]\n"
"Subversion command-line client, version %s.\n"
"Type 'svn help <subcommand>' for help on a specific subcommand.\n"
"Type 'svn --version' to see the program version and RA modules\n"
"  or 'svn --version --quiet' to see just the version number.\n"
"\n"
"Most subcommands take file and/or directory arguments, recursing\n"
"on the directories.  If no arguments are supplied to such a\n"
"command, it recurses on the current directory (inclusive) by default.\n"
"\n"
"Available subcommands:\n"
msgstr ""
"用法: svn <subcommand> [options] [args]\n"
"Subversion 命令行客户端,版本 %s。\n"
"使用“svn help <subcommand>” 显示子命令的帮助信息。\n"
"使用“svn --version”查看程序的版本号和版本库访问模块,或者\n"
"使用“svn --version --quiet”只查看程序的版本号。\n"
"\n"
"大多数的子命令可接受文件或目录参数,对目录进行递归处理。\n"
"如果没有指定参数,默认对当前目录(包含当前目录)递归处理。\n"
"\n"
"可用的子命令: \n"
msgid ""
"Subversion is a tool for version control.\n"
"For additional information, see http://subversion.tigris.org/\n"
msgstr ""
"Subversion 是版本控制工具。\n"
"欲取得详细资料,请参阅 http://subversion.tigris.org/\n"
msgid ""
"The following repository access (RA) modules are available:\n"
"\n"
msgstr ""
"可使用以下的版本库访问模块: \n"
"\n"
msgid "Repository URL required when importing"
msgstr "导入时必须提供版本库的URL"
msgid "Too many arguments to import command"
msgstr "导入命令参数太多"
#, c-format
msgid "Invalid URL '%s'"
msgstr "无效URL“%s”"
msgid "Resource is not under version control."
msgstr "资源尚未纳入版本控制"
#, c-format
msgid "Path: %s\n"
msgstr "路径: %s\n"
#, c-format
msgid "Name: %s\n"
msgstr "名称: %s\n"
#, c-format
msgid "URL: %s\n"
msgstr "URL: %s\n"
#, c-format
msgid "Repository Root: %s\n"
msgstr "版本库根: %s\n"
#, c-format
msgid "Repository UUID: %s\n"
msgstr "版本库 UUID: %s\n"
#, c-format
msgid "Revision: %ld\n"
msgstr "版本: %ld\n"
#, c-format
msgid "Node Kind: file\n"
msgstr "节点种类: 文件\n"
#, c-format
msgid "Node Kind: directory\n"
msgstr "节点种类: 目录\n"
#, c-format
msgid "Node Kind: none\n"
msgstr "节点种类: 无\n"
#, c-format
msgid "Node Kind: unknown\n"
msgstr "节点种类: 未知\n"
#, c-format
msgid "Schedule: normal\n"
msgstr "调度: 正常\n"
#, c-format
msgid "Schedule: add\n"
msgstr "调度: 增加\n"
#, c-format
msgid "Schedule: delete\n"
msgstr "调度: 删除\n"
#, c-format
msgid "Schedule: replace\n"
msgstr "调度: 替换\n"
#, c-format
msgid "Depth: empty\n"
msgstr "深度: 空\n"
#, c-format
msgid "Depth: files\n"
msgstr "深度: 文件\n"
#, c-format
msgid "Depth: immediates\n"
msgstr "深度: 直接\n"
#. Other depths should never happen here.
#, c-format
msgid "Depth: INVALID\n"
msgstr "深度: 非法\n"
#, c-format
msgid "Copied From URL: %s\n"
msgstr "从URL %s 复制: \n"
#, c-format
msgid "Copied From Rev: %ld\n"
msgstr "从版本 %ld 复制: \n"
#, c-format
msgid "Last Changed Author: %s\n"
msgstr "最后修改的作者: %s\n"
#, c-format
msgid "Last Changed Rev: %ld\n"
msgstr "最后修改的版本: %ld\n"
msgid "Last Changed Date"
msgstr "最后修改的时间"
msgid "Text Last Updated&quot,YSL Slingbacks;
msgstr "文本最后更新"

 

2.SVN版本冲突解决

 

出现代码冲突是因为不同的人,同时修改了同一个文件的同一个地方,这个时候,A提交了,B没有提交,B要提交先更新,就会出现代码冲突问题。

一般情况,要尽量避免多个人修改同一个文件,公共文件的修改最好事先做好沟通。

 

解决冲突并且不会覆盖代码的办法:

 

(1)修改文件后提交不了,大多是因为版本不一致造成的。更新一下,不产生冲突的情况,就可以提交了。

 

(2)更新文件,如果出现冲突的情况,打开冲突文件test.jsp会看到类似以下的内容:

 

1
2
3
4
5
6
7
8
<<<<<<<<<<<<<<<
asdfadfadfadf
11111111111111
=======
asdfadfadfadf
111111111111111
222222222222
>>>>>>>>>>>>>>>>

  

 

结合别人修改的内容和自己修改的内容,然后把文件中的<<<<<,=====,>>>>>>>这类冲突符号去掉。

注意去掉后还是不能提交,因为冲突时会产生三个文件,同一份资源对应三个文件存在肯定提交不了。

 

1
2
3
test.jsp.mine   是冲突前自己的文件
test.jsp.版本号   是冲突前本地的版本文件
test.php.服务器的版本号   是冲突后服务器版本文件

 

提交的时候,把这三个文件删除掉就可以提交了。

 

 

 

本文转自邴越博客园博客,原文链接:http://www.cnblogs.com/binyue/p/3758635.html,如需转载请自行联系原作者

相关文章
|
测试技术 开发工具 git
svn冲突问题详解 SVN版本冲突解决详解
svn冲突问题详解 SVN版本冲突解决详解 (摘自西西软件园,原文链接http://www.cr173.com/html/46224_1.html) 解决版本冲突的命令。在冲突解决之后,需要使用svnresolved来告诉subversion冲突解决,这样才能提交更新。
1248 0
SVN 版本冲突解决
环境:Visual Studio 2010插件: 问题: 假设A、B两个用户都在版本号为10的时候,更新了NewBillFeature.cs这个文件,A用户在修改完成之后提交NewBillFeature.cs到服务器,这个时候提交成功,这个时候NewBillFeature.cs文件的版本号已经变成11了。同时B用户在版本号为10的NewBillFeature.cs文件上作修改,修改完成之后
1337 0
|
1月前
|
存储 网络协议 Ubuntu
Linux环境下的SVN服务器搭建并结合内网穿透实现远程连接
Linux环境下的SVN服务器搭建并结合内网穿透实现远程连接
|
3月前
|
Ubuntu 安全 网络安全
百度搜索:蓝易云【Ubuntu系统SVN服务器搭建教程】
现在,你已经成功在Ubuntu系统上搭建了SVN服务器。其他用户可以通过SVN客户端连接到你的SVN服务器,进行代码版本管理和协作开发。注意,为了安全起见,建议配置SSL加密以保护数据传输。
39 1
|
3月前
|
Apache 项目管理 数据安全/隐私保护
【cpolar】TortoiseSVN如何安装并实现公网提交文件到本地SVN服务器
【cpolar】TortoiseSVN如何安装并实现公网提交文件到本地SVN服务器
46 0
|
7月前
|
IDE Linux 开发工具
从旧服务器迁移svn到另一台新服务器中(linux系统)|遇到诸多坑,已解决
从旧服务器迁移svn到另一台新服务器中(linux系统)|遇到诸多坑,已解决
|
1月前
|
网络协议 Ubuntu Linux
如何在Linux环境搭建本地SVN服务器并结合cpolar实现公网访问
如何在Linux环境搭建本地SVN服务器并结合cpolar实现公网访问
|
2月前
|
存储 网络协议 Ubuntu
Linux环境下SVN服务器的搭建与公网访问:使用cpolar端口映射的实现方法
由于文档资料越来越多,将所有资料都存放在自己的电脑上容易混淆,并且也不利于分享。这种情况下,考虑将资料上传SVN统一管理,这样一来其他人也能很方便的查略各种资料。
|
4月前
|
算法 程序员 Apache
Windows下搭建SVN服务器并配置eclipse和idea
Windows下搭建SVN服务器并配置eclipse和idea
58 1
|
4月前
|
网络安全 数据安全/隐私保护
Centos8下快速搭建SVN服务器
Centos8下快速搭建SVN服务器
89 0