You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Ben Hatton <be...@jsupport.com.au> on 2006/02/22 00:36:00 UTC

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

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

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

Posted by Max Bowsher <ma...@ukf.net>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

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

Yes please, any sequence of commands that cause a "missing or not
locked" error, without having tampered with .svn information, definitely
indicate a bug.

Max.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Cygwin)

iD8DBQFD/vC1fFNSmcDyxYARAiTuAJsGrPDlls8MfGik4hOm6kpbNxrrxQCcDls3
Bdtzl0zvtbnMD4xZ4TIlVqs=
=MBXR
-----END PGP SIGNATURE-----

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