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,如需转载请自行联系原作者

相关文章
SVN 将文件还原到之前的指定版本
SVN 将文件还原到之前的指定版本
2325 1
SVN 将文件还原到之前的指定版本
【IntelliJ IDEA】idea 2018版本中没有SVN按钮或者图标的解决方法
IntelliJ IDEA打开带SVN信息的项目不显示SVN信息,项目右键SVN以及图标还有Changes都不显示
329 0
【IntelliJ IDEA】idea 2018版本中没有SVN按钮或者图标的解决方法
|
Android开发
Android Studio 用svn回退版本、svn恢复到指定版本、一键恢复 撤回修改
Android Studio 用svn回退版本、svn恢复到指定版本、一键恢复 撤回修改
565 0
Android Studio 用svn回退版本、svn恢复到指定版本、一键恢复 撤回修改
|
数据安全/隐私保护
【SVN】关于SVN创建多个版本库共用权限和密码并且设置钩子同步web目录
【SVN】关于SVN创建多个版本库共用权限和密码并且设置钩子同步web目录
162 0
【SVN】关于SVN创建多个版本库共用权限和密码并且设置钩子同步web目录
|
存储 Android开发 数据安全/隐私保护
版本控制软件SVN
版本控制软件SVN的使用流程介绍
|
应用服务中间件
记一次SVN误删除操作和Tomcat版本与操作系统不兼容 问题分析及解决的过程(下)
记一次SVN误删除操作和Tomcat版本与操作系统不兼容 问题分析及解决的过程(下)
136 0
记一次SVN误删除操作和Tomcat版本与操作系统不兼容 问题分析及解决的过程(下)
|
应用服务中间件
记一次SVN误删除操作和Tomcat版本与操作系统不兼容 问题分析及解决的过程(上)
记一次SVN误删除操作和Tomcat版本与操作系统不兼容 问题分析及解决的过程(上)
151 0
记一次SVN误删除操作和Tomcat版本与操作系统不兼容 问题分析及解决的过程(上)
Subversion Revision Keywords(SVN 修订版本关键字)
Subversion Revision Keywords:HEAD、BASE、COMMITTED、PREV
158 0
Subversion Revision Keywords(SVN 修订版本关键字)
|
开发工具 Android开发 git
android studio3.6版本配置svn忽略文件
android studio3.6版本配置svn忽略文件
android studio3.6版本配置svn忽略文件