Problem when moving file and directory

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Problem when moving file and directory

DEBEAUPTE, Nicolas

Hello,

In my working copy, I am trying to move file from a directory to a new existing one and then move that directory to another using the following code :

 

File src = new File("C:\\Users\\ndebeaup\\proj\\proj\\rep1\\rep11\\rep11.txt");

File dst = new File("C:\\Users\\ndebeaup\\proj\\proj\\rep1\\rep12\\rep11.txt");

      

//     ourClientManager.getMoveClient().doMove(src, dst);

      

SVNCopySource cs = new SVNCopySource(SVNRevision.WORKING, SVNRevision.WORKING, src);

      

ourClientManager.getCopyClient().doCopy(new SVNCopySource[] { cs } , dst, true, false, true);

      

src = new File("C:\\Users\\ndebeaup\\proj\\proj\\rep1\\rep12");

dst = new File("C:\\Users\\ndebeaup\\proj\\proj\\rep2\\rep12");

      

//ourClientManager.getMoveClient().doMove(src, dst);

      

cs = new SVNCopySource(SVNRevision.WORKING, SVNRevision.WORKING, src);

ourClientManager.getCopyClient().doCopy(new SVNCopySource[] { cs } , dst, true, false, true);

 

Before running the code, my WC is as follows:

Proj\rep1\rep11\rep11.txt

Proj\rep1\rep12

Proj\rep2

 

The code moves the file rep11.txt to the directory rep12 and then moves the directory rep12 to rep2.

When committing, I have an error  svn:E200009 saying that rep1\rep11\rep11.txt can’t be committed because it has been moved to rep1\rep12\rep11.txt which is not part of the commit.

That code looks so simple that it seems that I must be missing something .

When performing  the same move operations with the svn command line client, the commit runs with no error.

Before committing after running the code, the svn status command displays :

D       rep1\rep11\rep11.txt

        > moved to rep1\rep12\rep11.txt

D       rep1\rep12

        > moved to rep2\rep12

A  +    rep2\rep12

        > moved from rep1\rep12

A  +    rep2\rep12\rep11.txt

 

Which seems to be incorrect (line : D       rep1\rep11\rep11.txt)  as the file rep11.txt is now rep2\rep12\rep11.txt.

 

Thanks for your help.

 

Note : I am using the latest version of SVNKit 1.8.11

 

Nicolas DEBEAUPTE

 

 

This message contains information that may be privileged or confidential and is the property of the Capgemini Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message.
Reply | Threaded
Open this post in threaded view
|

Re: Problem when moving file and directory

Dmitry Pavlenko-2
Hello Nicolas,
I've created an issue for the problem

https://issues.tmatesoft.com/issue/SVNKIT-639

And actually, I've already fixed it. Indeed we had problems with moving of directories with moved
files/dirs. Now the problem is fixed in SVNKit trunk.

The fix will be included into the next SVNKit release.
--
Dmitry Pavlenko,
TMate Software,
http://subgit.com/ - git-svn bridge

> Hello,
> In my working copy, I am trying to move file from a directory to a new
> existing one and then move that directory to another using the following
> code :
>
> File src = new
> File("C:\\Users\\ndebeaup\\proj\\proj\\rep1\\rep11\\rep11.txt"); File dst
> = new File("C:\\Users\\ndebeaup\\proj\\proj\\rep1\\rep12\\rep11.txt");
>
> //     ourClientManager.getMoveClient().doMove(src, dst);
>
> SVNCopySource cs = new SVNCopySource(SVNRevision.WORKING,
> SVNRevision.WORKING, src);
>
> ourClientManager.getCopyClient().doCopy(new SVNCopySource[] { cs } , dst,
> true, false, true);
>
> src = new File("C:\\Users\\ndebeaup\\proj\\proj\\rep1\\rep12");
> dst = new File("C:\\Users\\ndebeaup\\proj\\proj\\rep2\\rep12");
>
> //ourClientManager.getMoveClient().doMove(src, dst);
>
> cs = new SVNCopySource(SVNRevision.WORKING, SVNRevision.WORKING, src);
> ourClientManager.getCopyClient().doCopy(new SVNCopySource[] { cs } , dst,
> true, false, true);
>
> Before running the code, my WC is as follows:
> Proj\rep1\rep11\rep11.txt
> Proj\rep1\rep12
> Proj\rep2
>
> The code moves the file rep11.txt to the directory rep12 and then moves the
> directory rep12 to rep2. When committing, I have an error  svn:E200009
> saying that rep1\rep11\rep11.txt can't be committed because it has been
> moved to rep1\rep12\rep11.txt which is not part of the commit. That code
> looks so simple that it seems that I must be missing something . When
> performing  the same move operations with the svn command line client, the
> commit runs with no error. Before committing after running the code, the
> svn status command displays : D       rep1\rep11\rep11.txt
>
>         > moved to rep1\rep12\rep11.txt
>
> D       rep1\rep12
>
>         > moved to rep2\rep12
>
> A  +    rep2\rep12
>
>         > moved from rep1\rep12
>
> A  +    rep2\rep12\rep11.txt
>
> Which seems to be incorrect (line : D       rep1\rep11\rep11.txt)  as the
> file rep11.txt is now rep2\rep12\rep11.txt.
>
> Thanks for your help.
>
> Note : I am using the latest version of SVNKit 1.8.11
>
> Nicolas DEBEAUPTE
>
>
> This message contains information that may be privileged or confidential
> and is the property of the Capgemini Group. It is intended only for the
> person to whom it is addressed. If you are not the intended recipient, you
> are not authorized to read, print, retain, copy, disseminate, distribute,
> or use this message or any part thereof. If you receive this message in
> error, please notify the sender immediately and delete all copies of this
> message.