开发者

svn merge: "Target path does not exist"

For something I've done a hundred times before, I'm pulling my hair out. I have a release candidate branch for sub-project 'a' where we made some last minute changes. Now we've released, I need to bring those back into the trunk.

I cd to my trunk working copy, and then run:

$ svn merge https://svn.server.com/svn/branches/a/release
svn: Target path '/branches/a/release' does not exist

Wha...? The both the branch and the trunk copy most definitely exist. In fact, they are near identical. What could be missing?

Here is some more context:

$ 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.or开发者_如何学Cg/
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

I also tried to use --ignore-ancestry as recommended here, but fail with conflicts attempting to reinsert the existing files.


The merge worked if I constrained my release numbers:

$ svn merge -r XXX:HEAD https://svn.server.com/svn/branches/a/release

where XXX was the last revision number where I copied/merged from trunk to the branch.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜