[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

add-vs-add tree conflicts

From: Neels J Hofmeyr <neels_at_elego.de>
Date: Sat, 12 Jun 2010 11:13:54 +0200

Hi TC folks,

results of a test of add-vs-add tree conflicts.
All combinations of...

operation (up/sw = update/switch)
| local reason (add/cp)
| | local node kind (f/d = file/dir)
| | | incoming action
| | | | incoming node kind
| | | | |
up_add_f_cp_d
= during update, a given path has a local add of a file
  and the update wants to bring in a copy of a folder.

All of these tests have mismatching sides in that the copies are from
different sources and the text contents are different.

short results:
a line showing "> local ..." flags a TC, an empty line either
 - flagged a text conflict, or
 - showed an 'E' for 'existed' and an empty subsequent status, or
 - exited with error, interrupting the operation (in which case
   some paths may be left unhandled).
details are in the longer results further below.

[[[
up_add_d_add_d:
up_add_d_add_f:
up_add_d_cp_d:
up_add_d_cp_f:
up_add_f_add_d:
up_add_f_add_f:
up_add_f_cp_d:
up_add_f_cp_f:
up_cp_d_add_d: > local add, incoming add upon update
up_cp_d_add_f:
up_cp_d_cp_d: > local add, incoming add upon update
up_cp_d_cp_f:
up_cp_f_add_d:
up_cp_f_add_f: > local add, incoming add upon update
up_cp_f_cp_d:
up_cp_f_cp_f: > local add, incoming add upon update
sw_add_d_add_d:
sw_add_d_add_f:
sw_add_d_cp_d:
sw_add_d_cp_f:
sw_add_f_add_d:
sw_add_f_add_f:
sw_add_f_cp_d:
sw_add_f_cp_f:
sw_cp_d_add_d: > local add, incoming add upon switch
sw_cp_d_add_f:
sw_cp_d_cp_d: > local add, incoming add upon switch
sw_cp_d_cp_f:
sw_cp_f_add_d:
sw_cp_f_add_f: > local add, incoming add upon switch
sw_cp_f_cp_d:
sw_cp_f_cp_f: > local add, incoming add upon switch
]]]

longer results:

[[[
svn, version 1.7.0 (dev build)
   compiled Jun 11 2010, 15:12:39

Copyright (C) 2010 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/

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.
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme

+ echo

++ basename ./up_add_d_add_d
+ echo '===================================== up_add_d_add_d'
===================================== up_add_d_add_d
+ svn up wc
E wc/a
Updated to revision 1.
+ echo 0
0
+ svn st wc
+ svn info wc/a
Path: wc/a
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/a
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: d4af50f2-75ff-11df-a53a-4b4a4e4e73a8
Revision: 1
Node Kind: directory
Schedule: normal
Last Changed Author: neels
Last Changed Rev: 1
Last Changed Date: 2010-06-12 10:52:29 +0200 (Sat, 12 Jun 2010)

+ echo

++ basename ./up_add_d_add_f
+ echo '===================================== up_add_d_add_f'
===================================== up_add_d_add_f
+ svn up wc
subversion/svn/update-cmd.c:97: (apr_err=155000)
subversion/libsvn_client/update.c:399: (apr_err=155000)
subversion/libsvn_client/update.c:265: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1266: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1197: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1135: (apr_err=155000)
subversion/libsvn_repos/reporter.c:871: (apr_err=155000)
subversion/libsvn_delta/cancel.c:172: (apr_err=155000)
subversion/libsvn_delta/cancel.c:172: (apr_err=155000)
subversion/libsvn_wc/update_editor.c:3754: (apr_err=155000)
svn: Failed to add file '/home/neels/hg/svn/tests/tc_add_vs_add_info/wc/a':
a non-file object of the same name already exists
+ echo 1
1
+ svn st wc
! wc
A wc/a
+ svn info wc/a
Path: wc/a
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/a
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: d504d6bc-75ff-11df-b7b9-5fc539dd008a
Revision: 0
Node Kind: directory
Schedule: add

+ echo

++ basename ./up_add_d_cp_d
+ echo '===================================== up_add_d_cp_d'
===================================== up_add_d_cp_d
+ svn up wc
E wc/a
A wc/b
Updated to revision 2.
+ echo 0
0
+ svn st wc
+ svn info wc/a
Path: wc/a
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/a
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: d538d886-75ff-11df-b0a0-4585e73aeabf
Revision: 2
Node Kind: directory
Schedule: normal
Last Changed Author: neels
Last Changed Rev: 2
Last Changed Date: 2010-06-12 10:52:30 +0200 (Sat, 12 Jun 2010)

+ echo

++ basename ./up_add_d_cp_f
+ echo '===================================== up_add_d_cp_f'
===================================== up_add_d_cp_f
+ svn up wc
subversion/svn/update-cmd.c:97: (apr_err=155000)
subversion/libsvn_client/update.c:399: (apr_err=155000)
subversion/libsvn_client/update.c:265: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1266: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1197: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1135: (apr_err=155000)
subversion/libsvn_repos/reporter.c:871: (apr_err=155000)
subversion/libsvn_delta/cancel.c:172: (apr_err=155000)
subversion/libsvn_delta/cancel.c:172: (apr_err=155000)
subversion/libsvn_wc/update_editor.c:3754: (apr_err=155000)
svn: Failed to add file '/home/neels/hg/svn/tests/tc_add_vs_add_info/wc/a':
a non-file object of the same name already exists
+ echo 1
1
+ svn st wc
! wc
A wc/a
+ svn info wc/a
Path: wc/a
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/a
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: d5974a74-75ff-11df-8c2b-e189837c6944
Revision: 0
Node Kind: directory
Schedule: add

+ cat wc/a
cat: wc/a: Is a directory
+ echo

++ basename ./up_add_f_add_d
+ echo '===================================== up_add_f_add_d'
===================================== up_add_f_add_d
+ svn up wc
subversion/svn/update-cmd.c:97: (apr_err=155000)
subversion/libsvn_client/update.c:399: (apr_err=155000)
subversion/libsvn_client/update.c:265: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1266: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1197: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1135: (apr_err=155000)
subversion/libsvn_repos/reporter.c:850: (apr_err=155000)
subversion/libsvn_delta/cancel.c:120: (apr_err=155000)
subversion/libsvn_delta/cancel.c:120: (apr_err=155000)
subversion/libsvn_wc/update_editor.c:2422: (apr_err=155000)
svn: Failed to add directory
'/home/neels/hg/svn/tests/tc_add_vs_add_info/wc/a': a non-directory object
of the same name already exists
+ echo 1
1
+ svn st wc
! wc
A wc/a
+ svn info wc/a
Path: wc/a
Name: a
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/a
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: d5dadfe6-75ff-11df-93ee-574c2a068916
Revision: 0
Node Kind: file
Schedule: add

+ echo

++ basename ./up_add_f_add_f
+ echo '===================================== up_add_f_add_f'
===================================== up_add_f_add_f
+ svn up --accept=postpone wc
C wc/a
Updated to revision 1.
Summary of conflicts:
  Text conflicts: 1
+ echo 0
0
+ svn st wc
? wc/a.r0
C wc/a
? wc/a.r1
? wc/a.mine
Summary of conflicts:
  Text conflicts: 1
+ svn info wc/a
Path: wc/a
Name: a
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/a
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: d601a928-75ff-11df-a5a5-c9b3e6d9a02f
Revision: 1
Node Kind: file
Schedule: normal
Last Changed Author: neels
Last Changed Rev: 1
Last Changed Date: 2010-06-12 10:52:31 +0200 (Sat, 12 Jun 2010)
Checksum: 3b5d5c3712955042212316173ccf37be
Conflict Previous Base File: a.r0
Conflict Previous Working File: a.mine
Conflict Current Base File: a.r1

+ echo

++ basename ./up_add_f_cp_d
+ echo '===================================== up_add_f_cp_d'
===================================== up_add_f_cp_d
+ svn up wc
subversion/svn/update-cmd.c:97: (apr_err=155000)
subversion/libsvn_client/update.c:399: (apr_err=155000)
subversion/libsvn_client/update.c:265: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1266: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1197: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1135: (apr_err=155000)
subversion/libsvn_repos/reporter.c:850: (apr_err=155000)
subversion/libsvn_delta/cancel.c:120: (apr_err=155000)
subversion/libsvn_delta/cancel.c:120: (apr_err=155000)
subversion/libsvn_wc/update_editor.c:2422: (apr_err=155000)
svn: Failed to add directory
'/home/neels/hg/svn/tests/tc_add_vs_add_info/wc/a': a non-directory object
of the same name already exists
+ echo 1
1
+ svn st wc
! wc
A wc/a
+ svn info wc/a
Path: wc/a
Name: a
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/a
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: d6362e32-75ff-11df-aaec-551396925f83
Revision: 0
Node Kind: file
Schedule: add

+ echo

++ basename ./up_add_f_cp_f
+ echo '===================================== up_add_f_cp_f'
===================================== up_add_f_cp_f
+ svn up --accept=postpone wc
C wc/a
A wc/b
Updated to revision 2.
Summary of conflicts:
  Text conflicts: 1
+ echo 0
0
+ svn st wc
C wc/a
? wc/a.copied
? wc/a.r2
? wc/a.mine
Summary of conflicts:
  Text conflicts: 1
+ svn info wc/a
Path: wc/a
Name: a
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/a
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: d6661d5e-75ff-11df-aecd-ffc673255946
Revision: 2
Node Kind: file
Schedule: normal
Last Changed Author: neels
Last Changed Rev: 2
Last Changed Date: 2010-06-12 10:52:32 +0200 (Sat, 12 Jun 2010)
Checksum: 3b5d5c3712955042212316173ccf37be
Conflict Previous Base File: a.copied
Conflict Previous Working File: a.mine
Conflict Current Base File: a.r2

+ echo

++ basename ./up_cp_d_add_d
+ echo '===================================== up_cp_d_add_d'
===================================== up_cp_d_add_d
+ svn up wc
   C wc/a
At revision 2.
Summary of conflicts:
  Tree conflicts: 1
+ echo 0
0
+ svn st wc
A + C wc/a
> local add, incoming add upon update
Summary of conflicts:
  Tree conflicts: 1
+ svn info wc/a
Path: wc/a
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/a
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: d6a2cd76-75ff-11df-9022-0db602e05343
Revision: 1
Node Kind: directory
Schedule: add
Copied From URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/b
Copied From Rev: 1
Last Changed Author: neels
Last Changed Rev: 1
Last Changed Date: 2010-06-12 10:52:32 +0200 (Sat, 12 Jun 2010)
Tree conflict: local add, incoming add upon update
  Source left: (none)
  Source right: (dir) ^/a_at_2

+ echo

++ basename ./up_cp_d_add_f
+ echo '===================================== up_cp_d_add_f'
===================================== up_cp_d_add_f
+ svn up wc
subversion/svn/update-cmd.c:97: (apr_err=155000)
subversion/libsvn_client/update.c:399: (apr_err=155000)
subversion/libsvn_client/update.c:265: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1266: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1197: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1135: (apr_err=155000)
subversion/libsvn_repos/reporter.c:871: (apr_err=155000)
subversion/libsvn_delta/cancel.c:172: (apr_err=155000)
subversion/libsvn_delta/cancel.c:172: (apr_err=155000)
subversion/libsvn_wc/update_editor.c:3754: (apr_err=155000)
svn: Failed to add file '/home/neels/hg/svn/tests/tc_add_vs_add_info/wc/a':
a non-file object of the same name already exists
+ echo 1
1
+ svn st wc
! wc
A + wc/a
+ svn info wc/a
Path: wc/a
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/a
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: d6f4b2e4-75ff-11df-9824-076944a7d22d
Revision: 1
Node Kind: directory
Schedule: add
Copied From URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/b
Copied From Rev: 1
Last Changed Author: neels
Last Changed Rev: 1
Last Changed Date: 2010-06-12 10:52:32 +0200 (Sat, 12 Jun 2010)

+ echo

++ basename ./up_cp_d_cp_d
+ echo '===================================== up_cp_d_cp_d'
===================================== up_cp_d_cp_d
+ svn up wc
   C wc/a
A wc/c
Updated to revision 3.
Summary of conflicts:
  Tree conflicts: 1
+ echo 0
0
+ svn st wc
A + C wc/a
> local add, incoming add upon update
Summary of conflicts:
  Tree conflicts: 1
+ svn info wc/a
Path: wc/a
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/a
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: d7455d2a-75ff-11df-bb00-f9926b149dfa
Revision: 1
Node Kind: directory
Schedule: add
Copied From URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/b
Copied From Rev: 1
Last Changed Author: neels
Last Changed Rev: 1
Last Changed Date: 2010-06-12 10:52:33 +0200 (Sat, 12 Jun 2010)
Tree conflict: local add, incoming add upon update
  Source left: (none)
  Source right: (dir) ^/a_at_3

+ echo

++ basename ./up_cp_d_cp_f
+ echo '===================================== up_cp_d_cp_f'
===================================== up_cp_d_cp_f
+ svn up wc
subversion/svn/update-cmd.c:97: (apr_err=155000)
subversion/libsvn_client/update.c:399: (apr_err=155000)
subversion/libsvn_client/update.c:265: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1266: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1197: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1135: (apr_err=155000)
subversion/libsvn_repos/reporter.c:871: (apr_err=155000)
subversion/libsvn_delta/cancel.c:172: (apr_err=155000)
subversion/libsvn_delta/cancel.c:172: (apr_err=155000)
subversion/libsvn_wc/update_editor.c:3754: (apr_err=155000)
svn: Failed to add file '/home/neels/hg/svn/tests/tc_add_vs_add_info/wc/a':
a non-file object of the same name already exists
+ echo 1
1
+ svn st wc
! wc
A + wc/a
+ svn info wc/a
Path: wc/a
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/a
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: d7b1017e-75ff-11df-925f-0f570f730c04
Revision: 1
Node Kind: directory
Schedule: add
Copied From URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/b
Copied From Rev: 1
Last Changed Author: neels
Last Changed Rev: 1
Last Changed Date: 2010-06-12 10:52:34 +0200 (Sat, 12 Jun 2010)

+ echo

++ basename ./up_cp_f_add_d
+ echo '===================================== up_cp_f_add_d'
===================================== up_cp_f_add_d
+ svn up wc
subversion/svn/update-cmd.c:97: (apr_err=155000)
subversion/libsvn_client/update.c:399: (apr_err=155000)
subversion/libsvn_client/update.c:265: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1266: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1197: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1135: (apr_err=155000)
subversion/libsvn_repos/reporter.c:850: (apr_err=155000)
subversion/libsvn_delta/cancel.c:120: (apr_err=155000)
subversion/libsvn_delta/cancel.c:120: (apr_err=155000)
subversion/libsvn_wc/update_editor.c:2422: (apr_err=155000)
svn: Failed to add directory
'/home/neels/hg/svn/tests/tc_add_vs_add_info/wc/a': a non-directory object
of the same name already exists
+ echo 1
1
+ svn st wc
! wc
A + wc/a
+ svn info wc/a
Path: wc/a
Name: a
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/a
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: d80ae3ce-75ff-11df-998a-b5d00b180bfa
Revision: 2
Node Kind: file
Schedule: add
Copied From URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/b
Copied From Rev: 2
Checksum: 60b725f10c9c85c70d97880dfe8191b3

+ echo

++ basename ./up_cp_f_add_f
+ echo '===================================== up_cp_f_add_f'
===================================== up_cp_f_add_f
+ svn up --accept=postpone wc
   C wc/a
At revision 2.
Summary of conflicts:
  Tree conflicts: 1
+ echo 0
0
+ svn st wc
A + C wc/a
> local add, incoming add upon update
Summary of conflicts:
  Tree conflicts: 1
+ svn info wc/a
Path: wc/a
Name: a
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/a
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: d83cf332-75ff-11df-bb71-3103183c94c3
Revision: 1
Node Kind: file
Schedule: add
Copied From URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/b
Copied From Rev: 1
Checksum: 60b725f10c9c85c70d97880dfe8191b3
Tree conflict: local add, incoming add upon update
  Source left: (none)
  Source right: (file) ^/a_at_2

+ echo

++ basename ./up_cp_f_cp_d
+ echo '===================================== up_cp_f_cp_d'
===================================== up_cp_f_cp_d
+ svn up wc
subversion/svn/update-cmd.c:97: (apr_err=155000)
subversion/libsvn_client/update.c:399: (apr_err=155000)
subversion/libsvn_client/update.c:265: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1266: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1197: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1135: (apr_err=155000)
subversion/libsvn_repos/reporter.c:850: (apr_err=155000)
subversion/libsvn_delta/cancel.c:120: (apr_err=155000)
subversion/libsvn_delta/cancel.c:120: (apr_err=155000)
subversion/libsvn_wc/update_editor.c:2422: (apr_err=155000)
svn: Failed to add directory
'/home/neels/hg/svn/tests/tc_add_vs_add_info/wc/a': a non-directory object
of the same name already exists
+ echo 1
1
+ svn st wc
! wc
A + wc/a
+ svn info wc/a
Path: wc/a
Name: a
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/a
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: d8819334-75ff-11df-808e-b3db356e0e90
Revision: 3
Node Kind: file
Schedule: add
Copied From URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/b
Copied From Rev: 3
Checksum: 60b725f10c9c85c70d97880dfe8191b3

+ echo

++ basename ./up_cp_f_cp_f
+ echo '===================================== up_cp_f_cp_f'
===================================== up_cp_f_cp_f
+ svn up --accept=postpone wc
   C wc/a
A wc/c
Updated to revision 3.
Summary of conflicts:
  Tree conflicts: 1
+ echo 0
0
+ svn st wc
A + C wc/a
> local add, incoming add upon update
Summary of conflicts:
  Tree conflicts: 1
+ svn info wc/a
Path: wc/a
Name: a
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/a
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: d8c212ec-75ff-11df-a2c3-51b9d1e3a5c3
Revision: 1
Node Kind: file
Schedule: add
Copied From URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/b
Copied From Rev: 1
Checksum: 3b5d5c3712955042212316173ccf37be
Tree conflict: local add, incoming add upon update
  Source left: (none)
  Source right: (file) ^/a_at_3

+ echo

++ basename ./sw_add_d_add_d
+ echo '===================================== sw_add_d_add_d'
===================================== sw_add_d_add_d
+ svn switch '^/branch'
E b
Updated to revision 3.
+ echo 0
0
+ svn st
A b/c
+ svn info b
Path: b
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/branch/b
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: d90f06a6-75ff-11df-83cf-936a4337f37e
Revision: 3
Node Kind: directory
Schedule: normal
Last Changed Author: neels
Last Changed Rev: 3
Last Changed Date: 2010-06-12 10:52:36 +0200 (Sat, 12 Jun 2010)

+ cat b/c
important data
+ echo

++ basename ./sw_add_d_add_f
+ echo '===================================== sw_add_d_add_f'
===================================== sw_add_d_add_f
+ svn switch '^/branch'
subversion/svn/switch-cmd.c:168: (apr_err=155000)
subversion/libsvn_client/switch.c:229: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1266: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1201: (apr_err=155000)
subversion/libsvn_repos/reporter.c:854: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1135: (apr_err=155000)
subversion/libsvn_repos/reporter.c:871: (apr_err=155000)
subversion/libsvn_delta/cancel.c:172: (apr_err=155000)
subversion/libsvn_delta/cancel.c:172: (apr_err=155000)
subversion/libsvn_wc/update_editor.c:3754: (apr_err=155000)
svn: Failed to add file
'/home/neels/hg/svn/tests/tc_add_vs_add_info/wc/trunk/a': a non-file object
of the same name already exists
+ echo 1
1
+ svn st
! .
A a
A a/c
+ svn info a
Path: a
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/branch/a
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: d96cd998-75ff-11df-ae42-e522511bb2b6
Revision: 0
Node Kind: directory
Schedule: add

+ cat a/c
important data
+ echo

++ basename ./sw_add_d_cp_d
+ echo '===================================== sw_add_d_cp_d'
===================================== sw_add_d_cp_d
+ svn switch '^/branch'
E b
A c
Updated to revision 4.
+ echo 0
0
+ svn st
A b/x
+ svn info b
Path: b
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/branch/b
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: d9c2d550-75ff-11df-a748-4f8b38843b6d
Revision: 4
Node Kind: directory
Schedule: normal
Last Changed Author: neels
Last Changed Rev: 4
Last Changed Date: 2010-06-12 10:52:37 +0200 (Sat, 12 Jun 2010)

+ cat b/x
important data
+ echo

++ basename ./sw_add_d_cp_f
+ echo '===================================== sw_add_d_cp_f'
===================================== sw_add_d_cp_f
+ svn switch '^/branch'
subversion/svn/switch-cmd.c:168: (apr_err=155000)
subversion/libsvn_client/switch.c:229: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1266: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1201: (apr_err=155000)
subversion/libsvn_repos/reporter.c:854: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1135: (apr_err=155000)
subversion/libsvn_repos/reporter.c:871: (apr_err=155000)
subversion/libsvn_delta/cancel.c:172: (apr_err=155000)
subversion/libsvn_delta/cancel.c:172: (apr_err=155000)
subversion/libsvn_wc/update_editor.c:3754: (apr_err=155000)
svn: Failed to add file
'/home/neels/hg/svn/tests/tc_add_vs_add_info/wc/trunk/a': a non-file object
of the same name already exists
+ echo 1
1
+ svn st
! .
A a
A a/x
+ svn info a
Path: a
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/branch/a
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: da3132ac-75ff-11df-9f6e-7f868f7c8914
Revision: 0
Node Kind: directory
Schedule: add

+ cat a/x
important data
+ echo

++ basename ./sw_add_f_add_d
+ echo '===================================== sw_add_f_add_d'
===================================== sw_add_f_add_d
+ svn switch '^/branch'
subversion/svn/switch-cmd.c:168: (apr_err=155000)
subversion/libsvn_client/switch.c:229: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1266: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1201: (apr_err=155000)
subversion/libsvn_repos/reporter.c:854: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1135: (apr_err=155000)
subversion/libsvn_repos/reporter.c:850: (apr_err=155000)
subversion/libsvn_delta/cancel.c:120: (apr_err=155000)
subversion/libsvn_delta/cancel.c:120: (apr_err=155000)
subversion/libsvn_wc/update_editor.c:2422: (apr_err=155000)
svn: Failed to add directory
'/home/neels/hg/svn/tests/tc_add_vs_add_info/wc/trunk/b': a non-directory
object of the same name already exists
+ echo 1
1
+ svn st
! .
A b
+ svn info b
Path: b
Name: b
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/branch/b
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: da8edcf4-75ff-11df-8f4b-4f3efa6b1ce8
Revision: 0
Node Kind: file
Schedule: add

+ echo

++ basename ./sw_add_f_add_f
+ echo '===================================== sw_add_f_add_f'
===================================== sw_add_f_add_f
+ svn switch --accept=postpone '^/branch'
C a
Updated to revision 3.
Summary of conflicts:
  Text conflicts: 1
+ echo 0
0
+ svn st
? a.r0
C a
? a.r3
? a.mine
Summary of conflicts:
  Text conflicts: 1
+ svn info a
Path: a
Name: a
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/branch/a
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: dae32b92-75ff-11df-bc6e-d1d21e7f116c
Revision: 3
Node Kind: file
Schedule: normal
Last Changed Author: neels
Last Changed Rev: 3
Last Changed Date: 2010-06-12 10:52:39 +0200 (Sat, 12 Jun 2010)
Checksum: 60b725f10c9c85c70d97880dfe8191b3
Conflict Previous Base File: a.r0
Conflict Previous Working File: a.mine
Conflict Current Base File: a.r3

+ cat a
<<<<<<< .mine
important data
=======
a
>>>>>>> .r3
+ echo

++ basename ./sw_add_f_cp_d
+ echo '===================================== sw_add_f_cp_d'
===================================== sw_add_f_cp_d
+ svn switch '^/branch'
subversion/svn/switch-cmd.c:168: (apr_err=155000)
subversion/libsvn_client/switch.c:229: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1266: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1201: (apr_err=155000)
subversion/libsvn_repos/reporter.c:854: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1135: (apr_err=155000)
subversion/libsvn_repos/reporter.c:850: (apr_err=155000)
subversion/libsvn_delta/cancel.c:120: (apr_err=155000)
subversion/libsvn_delta/cancel.c:120: (apr_err=155000)
subversion/libsvn_wc/update_editor.c:2422: (apr_err=155000)
svn: Failed to add directory
'/home/neels/hg/svn/tests/tc_add_vs_add_info/wc/trunk/b': a non-directory
object of the same name already exists
+ echo 1
1
+ svn st
! .
A b
+ svn info b
Path: b
Name: b
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/branch/b
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: db3404fe-75ff-11df-a294-fd047d239b6f
Revision: 0
Node Kind: file
Schedule: add

+ echo

++ basename ./sw_add_f_cp_f
+ echo '===================================== sw_add_f_cp_f'
===================================== sw_add_f_cp_f
+ svn switch --accept=postpone '^/branch'
C a
A c
Updated to revision 4.
Summary of conflicts:
  Text conflicts: 1
+ echo 0
0
+ svn st
? a.r0
C a
? a.r4
? a.mine
Summary of conflicts:
  Text conflicts: 1
+ svn info a
Path: a
Name: a
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/branch/a
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: dba6163e-75ff-11df-8e7a-29545bca5699
Revision: 4
Node Kind: file
Schedule: normal
Last Changed Author: neels
Last Changed Rev: 4
Last Changed Date: 2010-06-12 10:52:41 +0200 (Sat, 12 Jun 2010)
Checksum: 60b725f10c9c85c70d97880dfe8191b3
Conflict Previous Base File: a.r0
Conflict Previous Working File: a.mine
Conflict Current Base File: a.r4

+ cat a
<<<<<<< .mine
important data
=======
a
>>>>>>> .r4
+ echo

++ basename ./sw_cp_d_add_d
+ echo '===================================== sw_cp_d_add_d'
===================================== sw_cp_d_add_d
+ svn switch '^/branch'
D c
   C b
Updated to revision 4.
Summary of conflicts:
  Tree conflicts: 1
+ echo 0
0
+ svn st
A + C b
> local add, incoming add upon switch
Summary of conflicts:
  Tree conflicts: 1
+ svn info b
Path: b
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/branch/b
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: dc11e8fa-75ff-11df-9a29-cd71c521f7c7
Revision: 4
Node Kind: directory
Schedule: add
Copied From URL:
file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/trunk/c
Copied From Rev: 4
Last Changed Author: neels
Last Changed Rev: 4
Last Changed Date: 2010-06-12 10:52:41 +0200 (Sat, 12 Jun 2010)
Tree conflict: local add, incoming add upon switch
  Source left: (none)
  Source right: (dir) ^/branch/b_at_4

+ cat b/x
important data
+ echo

++ basename ./sw_cp_d_add_f
+ echo '===================================== sw_cp_d_add_f'
===================================== sw_cp_d_add_f
+ svn switch '^/branch'
D c
subversion/svn/switch-cmd.c:168: (apr_err=155000)
subversion/libsvn_client/switch.c:229: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1266: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1201: (apr_err=155000)
subversion/libsvn_repos/reporter.c:854: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1135: (apr_err=155000)
subversion/libsvn_repos/reporter.c:871: (apr_err=155000)
subversion/libsvn_delta/cancel.c:172: (apr_err=155000)
subversion/libsvn_delta/cancel.c:172: (apr_err=155000)
subversion/libsvn_wc/update_editor.c:3754: (apr_err=155000)
svn: Failed to add file
'/home/neels/hg/svn/tests/tc_add_vs_add_info/wc/trunk/a': a non-file object
of the same name already exists
+ echo 1
1
+ svn st
! .
A + a
+ svn info a
Path: a
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/branch/a
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: dc87b81e-75ff-11df-aa29-e7d307caa3e9
Revision: 4
Node Kind: directory
Schedule: add
Copied From URL:
file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/trunk/c
Copied From Rev: 4
Last Changed Author: neels
Last Changed Rev: 4
Last Changed Date: 2010-06-12 10:52:42 +0200 (Sat, 12 Jun 2010)

+ cat a/x
important data
+ echo

++ basename ./sw_cp_d_cp_d
+ echo '===================================== sw_cp_d_cp_d'
===================================== sw_cp_d_cp_d
+ svn switch '^/branch'
D c
   C a
A b
Updated to revision 5.
Summary of conflicts:
  Tree conflicts: 1
+ echo 0
0
+ svn st
A + C a
> local add, incoming add upon switch
Summary of conflicts:
  Tree conflicts: 1
+ svn info a
Path: a
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/branch/a
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: dcf024ee-75ff-11df-bd6a-b132fa512406
Revision: 5
Node Kind: directory
Schedule: add
Copied From URL:
file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/trunk/c
Copied From Rev: 5
Last Changed Author: neels
Last Changed Rev: 5
Last Changed Date: 2010-06-12 10:52:43 +0200 (Sat, 12 Jun 2010)
Tree conflict: local add, incoming add upon switch
  Source left: (none)
  Source right: (dir) ^/branch/a_at_5

+ cat a/x
important data
+ echo

++ basename ./sw_cp_d_cp_f
+ echo '===================================== sw_cp_d_cp_f'
===================================== sw_cp_d_cp_f
+ svn switch '^/branch'
D c
subversion/svn/switch-cmd.c:168: (apr_err=155000)
subversion/libsvn_client/switch.c:229: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1266: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1201: (apr_err=155000)
subversion/libsvn_repos/reporter.c:854: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1135: (apr_err=155000)
subversion/libsvn_repos/reporter.c:871: (apr_err=155000)
subversion/libsvn_delta/cancel.c:172: (apr_err=155000)
subversion/libsvn_delta/cancel.c:172: (apr_err=155000)
subversion/libsvn_wc/update_editor.c:3754: (apr_err=155000)
svn: Failed to add file
'/home/neels/hg/svn/tests/tc_add_vs_add_info/wc/trunk/a': a non-file object
of the same name already exists
+ echo 1
1
+ svn st
! .
A + a
+ svn info a
Path: a
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/branch/a
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: dd6c3fac-75ff-11df-ba10-ff703fb6ba38
Revision: 5
Node Kind: directory
Schedule: add
Copied From URL:
file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/trunk/c
Copied From Rev: 5
Last Changed Author: neels
Last Changed Rev: 5
Last Changed Date: 2010-06-12 10:52:44 +0200 (Sat, 12 Jun 2010)

+ cat a/x
important data
+ echo

++ basename ./sw_cp_f_add_d
+ echo '===================================== sw_cp_f_add_d'
===================================== sw_cp_f_add_d
+ svn switch '^/branch'
D c
subversion/svn/switch-cmd.c:168: (apr_err=155000)
subversion/libsvn_client/switch.c:229: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1266: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1201: (apr_err=155000)
subversion/libsvn_repos/reporter.c:854: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1135: (apr_err=155000)
subversion/libsvn_repos/reporter.c:850: (apr_err=155000)
subversion/libsvn_delta/cancel.c:120: (apr_err=155000)
subversion/libsvn_delta/cancel.c:120: (apr_err=155000)
subversion/libsvn_wc/update_editor.c:2422: (apr_err=155000)
svn: Failed to add directory
'/home/neels/hg/svn/tests/tc_add_vs_add_info/wc/trunk/b': a non-directory
object of the same name already exists
+ echo 1
1
+ svn st
! .
A + b
+ svn info b
Path: b
Name: b
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/branch/b
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: dde45dca-75ff-11df-8801-298f7f18634e
Revision: 4
Node Kind: file
Schedule: add
Copied From URL:
file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/trunk/c
Copied From Rev: 4
Checksum: 3b5d5c3712955042212316173ccf37be

+ echo

++ basename ./sw_cp_f_add_f
+ echo '===================================== sw_cp_f_add_f'
===================================== sw_cp_f_add_f
+ svn switch --accept=postpone '^/branch'
D c
   C a
Updated to revision 4.
Summary of conflicts:
  Tree conflicts: 1
+ echo 0
0
+ svn st
A + C a
> local add, incoming add upon switch
Summary of conflicts:
  Tree conflicts: 1
+ svn info a
Path: a
Name: a
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/branch/a
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: de4ff0f8-75ff-11df-9a6c-6b16a9707338
Revision: 4
Node Kind: file
Schedule: add
Copied From URL:
file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/trunk/c
Copied From Rev: 4
Checksum: 23c9745d6b39d84a2b555a967126d7f2
Tree conflict: local add, incoming add upon switch
  Source left: (none)
  Source right: (file) ^/branch/a_at_4

+ cat a
important data
+ echo

++ basename ./sw_cp_f_cp_d
+ echo '===================================== sw_cp_f_cp_d'
===================================== sw_cp_f_cp_d
+ svn switch '^/branch'
D c
subversion/svn/switch-cmd.c:168: (apr_err=155000)
subversion/libsvn_client/switch.c:229: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1266: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1201: (apr_err=155000)
subversion/libsvn_repos/reporter.c:854: (apr_err=155000)
subversion/libsvn_repos/reporter.c:1135: (apr_err=155000)
subversion/libsvn_repos/reporter.c:850: (apr_err=155000)
subversion/libsvn_delta/cancel.c:120: (apr_err=155000)
subversion/libsvn_delta/cancel.c:120: (apr_err=155000)
subversion/libsvn_wc/update_editor.c:2422: (apr_err=155000)
svn: Failed to add directory
'/home/neels/hg/svn/tests/tc_add_vs_add_info/wc/trunk/a': a non-directory
object of the same name already exists
+ echo 1
1
+ svn st
! .
A + a
+ svn info a
Path: a
Name: a
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/branch/a
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: deb9fd36-75ff-11df-a938-2532d7c202ae
Revision: 5
Node Kind: file
Schedule: add
Copied From URL:
file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/trunk/c
Copied From Rev: 5
Checksum: 3b5d5c3712955042212316173ccf37be

+ echo

++ basename ./sw_cp_f_cp_f
+ echo '===================================== sw_cp_f_cp_f'
===================================== sw_cp_f_cp_f
+ svn switch '^/branch'
D c
   C a
A b
Updated to revision 5.
Summary of conflicts:
  Tree conflicts: 1
+ echo 0
0
+ svn st
A + C a
> local add, incoming add upon switch
Summary of conflicts:
  Tree conflicts: 1
+ svn info b
Path: b
Name: b
URL: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos/branch/b
Repository Root: file:///home/neels/hg/svn/tests/tc_add_vs_add_info/repos
Repository UUID: df294efc-75ff-11df-9d29-9d2570d51f28
Revision: 5
Node Kind: file
Schedule: normal
Last Changed Author: neels
Last Changed Rev: 3
Last Changed Date: 2010-06-12 10:52:46 +0200 (Sat, 12 Jun 2010)
Text Last Updated: 2010-06-12 10:52:47 +0200 (Sat, 12 Jun 2010)
Checksum: 60b725f10c9c85c70d97880dfe8191b3

]]]

Obviously, some add vs. add tree conflicts don't need to be flagged. But
when the node kinds mismatch, or the histories mismatch (add vs copy or
conflicting copy sources), there should definitely be a tree conflict.

None of those mismatching node kinds throw a TC, currently.
/me tries to fix

~Neels

Received on 2010-06-12 11:15:09 CEST

This is an archived mail posted to the Subversion Dev mailing list.