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

Merging directory add fails with "missing or not locked" if target is missing

From: Ben Hatton <ben_at_jsupport.com.au>
Date: 2006-02-22 01:36:00 CET

I didn't get any response on users@ after two posts, so I'll try here.
Shall I submit this as a bug?

Regards,
Ben.

-----Original Message-----
From: ben@jsupport.com.au [mailto:ben@jsupport.com.au]
Sent: Friday, 20 January 2006 10:48 AM
To: users@subversion.tigris.org
Subject: Merging add of directory within deleted directory fails

Hi,

I haven't been able to pin this down as an already identified bug or not,
any comments or status would be very helpful.

Regards,
Ben Hatton

SUMMARY
=======

Merging fails if a) a directory in the source has been deleted in the
destination, and b) the merge set includes a directory addition within that
deleted directory.

I've tried this with subversion 1.2.3 and subversion 1.3.0 (client-side)
against subversion 1.2.3 server, all on windows xp.

TEST CASE
=========

The repository has the following initial structure of two branch
directories:

b1
b2

The process is:

A: Baseline and Branch the Code

1) add and commit a directory ("deltest") and file ("a.txt") in b1
2) copy and commit into b2 (i.e. branch the code)

B: Change in branch 2 to delete the directory

1) delete (with commit) the directory in b2

C: Changes in branch 1, testing merge of updates into branch 2

1) modify the file in b1
2) observe that merge to b2 works with "skipped" message

3) add a new file ("new.txt") in b1
4) observe that merge to b2 works with "skipped" messages

5) add a new direcdtory ("newdir") in b1
6) observe that merge to b2 fails partway through with "is missing or not
locked" message.

TEST CASE RUN
-------------
(I've done some text editing on this to cleanup long pathnames)

C:\svntest>cd b1
C:\svntest\b1>mkdir deltest
C:\svntest\b1>echo "hello" > deltest\a.txt C:\svntest\b1>svn add deltest
A deltest
A deltest\a.txt

C:\svntest\b1>svn commit -m "original deltest in b1"
Adding b1\deltest
Adding b1\deltest\a.txt
Transmitting file data .
Committed revision 9147.

C:\svntest\b1>svn copy deltest ..\b2
A ..\b2\deltest

C:\svntest\b1>cd ..\b2

C:\svntest\b2>svn status
A + deltest

C:\svntest\b2>svn commit -m "commit copy of deltest in b2"
Adding b2\deltest

Committed revision 9148.

C:\svntest\b2>svn delete deltest
D deltest\a.txt
D deltest

C:\svntest\b2>svn commit -m "deleted deltest in b2"
Deleting b2\deltest

Committed revision 9149.

C:\svntest\b2>cd ..\b1

C:\svntest\b1>echo "newtext" > deltest\a.txt

C:\svntest\b1>svn commit -m "changed a.txt in b1"
Sending b1\deltest\a.txt
Transmitting file data .
Committed revision 9150.

C:\svntest\b1>cd ..\b2

C:\svntest\b2>svn merge http://server:8001/svn/myRepo/b1@9147
http://server:8001/svn/myRepo/b1@HEAD
Skipped missing target: 'deltest\a.txt'
Skipped missing target: 'deltest'

C:\svntest\b2>cd ..\b1

C:\svntest\b1>echo anotherFile > deltest\new.txt

C:\svntest\b1>svn add deltest\new.txt
A deltest\new.txt

C:\svntest\b1>svn commit -m "adding new file under deltest"
Adding b1\deltest\new.txt
Transmitting file data .
Committed revision 9153.

C:\svntest\b1>cd ..\b2

C:\svntest\b2>svn merge http://server:8001/svn/myRepo/b1@9147
http://server:8001/svn/myRepo/b1@HEAD
Skipped missing target: 'deltest\new.txt'
Skipped missing target: 'deltest\a.txt'
Skipped missing target: 'deltest'

C:\svntest\b2>cd ..\b1

C:\svntest\b1>mkdir deltest\newdir

C:\svntest\b1>svn add deltest\newdir
A deltest\newdir

C:\svntest\b1>svn commit -m "newdir"
Adding b1\deltest\newdir

Committed revision 9154.

C:\svntest\b1>cd ..\b2

C:\svntest\b2>svn merge http://server:8001/svn/myRepo/b1@9147
http://server:8001/svn/myRepo/b1@HEAD
Skipped missing target: 'deltest\new.txt'
svn: Working copy 'deltest' is missing or not locked

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Feb 22 01:36:12 2006

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.