对于我以前做过一百次的事情,我把头发拉了出来。我有一个子项目'a'的发布候选分支,我们做了最后一分钟的更改。现在我们已经发布了,我需要把它们带回主干。
我cd到我的主干工作副本,然后运行:
$ svn merge https://svn.server.com/svn/branches/a/release
svn: Target path '/branches/a/release' does not exist
什...?分支和主干副本都绝对存在。事实上,它们几乎相同。可能会遗漏什么?
以下是更多背景信息:
$ pwd
~/working-copy/trunk/a
$ svn info
Path: .
URL: https://svn.server.com/svn/trunk/a
Repository Root: https://svn.server.com/svn
Repository UUID: 32d33e3d-8f82-497d-945e-c2c79703d92c
Revision: 5570
Node Kind: directory
Schedule: normal
Last Changed Author: me@mycompany.com
Last Changed Rev: 5560
Last Changed Date: 2011-04-22 17:41:34 -0700 (Fri, 22 Apr 2011)
$ svn info https://svn.server.com/svn/branches/a/release
Path: release
URL: https://svn.server.com/svn/branches/a/release
Repository Root: https://svn.server.com/svn
Repository UUID: 32d33e3d-8f82-497d-945e-c2c79703d92c
Revision: 5570
Node Kind: directory
Last Changed Author: me@checkpoints.com
Last Changed Rev: 5542
Last Changed Date: 2011-04-22 12:00:49 -0700 (Fri, 22 Apr 2011)
$ svn merge https://svn.server.com/svn/branches/a/release
svn: Target path '/branches/a/release' does not exist
$ svn ls https://svn.server.com/svn/branches/a/release
.svnignore
build/
build.xml
change_log.txt
docs/
libs/
release_procedure.txt
src/
$ svn merge https://svn.server.com/svn/branches/a/release .
svn: Target path '/branches/a/release' does not exist
$ cd ..
$ svn merge https://svn.server.com/svn/branches/a/release a
svn: Target path '/branches/a/release' does not exist
$ svn --verbose https://svn.server.com/svn/branches/a/release a
Subcommand 'merge' doesn't accept option '-v [--verbose]'
Type 'svn help merge' for usage.
$ svn --version
svn, version 1.6.15 (r1038135)
compiled Feb 26 2011, 21:56:07
Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.apache.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).
The following repository access (RA) modules are available:
* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
- handles 'http' scheme
- handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
- with Cyrus SASL authentication
- handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
- handles 'file' scheme
我还尝试按照here使用--ignore-ancestry
,但尝试重新插入现有文件时发生冲突失败。
答案 0 :(得分:5)
如果我限制了我的发布号码,合并就有效:
$ svn merge -r XXX:HEAD https://svn.server.com/svn/branches/a/release
其中XXX
是我从trunk复制/合并到分支的最后一个修订号。