You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Thorsten Schöning <ts...@am-soft.de> on 2020/02/24 17:03:05 UTC

How to help SVN finding moved directories during a sync-merge?

Hi all,

I have a repo with 178'000 revisions, and need to sync-merge 2
features branches: "feature1" and "feature2" created from "trunk" at
different times and "feature1" merged into "feature2" successfully
some days ago already. That merge needs to be repeated now, but I'm
runnig into trouble.

The problem is that "feature2" is about refactoring the directory
layout of "feature1", especially some directories got moved. I used
"svn mv" for that so that it could keep track of that in theory. The
following is a simplified example:

* feature1
  * mod1/src/de/File1.java
  * mod2/src/de/File2.java
* feature2
  * mod1/src/main/java/de/File1.java
  * mod2/src/main/java/de/File2.java

During merging SVN runs into conflicts because the merge-target dirs
of "mod1" and "mod2" don't exist anymore. I'm using TortoiseSVN and
that tries to find the new merge targets and does so successfully for
"mod1". The problem is that for the changes of "mod2", SVN suggests
the target dir of "mod1" as well again instead of "mod2" and this way
the conflict can't be resolved ever.

Is there some way to tell SVN the correct target dir? Or how should
that be resolved? The only thing I can currently think of is manually
applying patches.

Thanks!

Mit freundlichen Grüßen,

Thorsten Schöning

-- 
Thorsten Schöning       E-Mail: Thorsten.Schoening@AM-SoFT.de
AM-SoFT IT-Systeme      http://www.AM-SoFT.de/

Telefon...........05151-  9468- 55
Fax...............05151-  9468- 88
Mobil..............0178-8 9468- 04

AM-SoFT GmbH IT-Systeme, Brandenburger Str. 7c, 31789 Hameln
AG Hannover HRB 207 694 - Geschäftsführer: Andreas Muchow


Re: How to help SVN finding moved directories during a sync-merge?

Posted by Thorsten Schöning <ts...@am-soft.de>.
Guten Tag Stefan Sperling,
am Dienstag, 25. Februar 2020 um 13:09 schrieben Sie:

>> > This feature only works if the SVN client implements support for it.
>> > If TSVN did not do that, then they are missing this feature.
>> > I am not sure how far TortoiseSVN went with their resolver implementation.
>> 
>> Am going to ask them, mabye I simply did something wrong or missed
>> some setting or else.

> Thanks! Perhaps this is indeed just missing in their UI.

Done:

> Does TSVN support multiple move destinations in case of directory-related conflicts?

https://groups.google.com/d/msg/tortoisesvn/VcGWwehAmps/NXhTa3AbBwAJ

Mit freundlichen Grüßen,

Thorsten Schöning

-- 
Thorsten Schöning       E-Mail: Thorsten.Schoening@AM-SoFT.de
AM-SoFT IT-Systeme      http://www.AM-SoFT.de/

Telefon...........05151-  9468- 55
Fax...............05151-  9468- 88
Mobil..............0178-8 9468- 04

AM-SoFT GmbH IT-Systeme, Brandenburger Str. 7c, 31789 Hameln
AG Hannover HRB 207 694 - Geschäftsführer: Andreas Muchow


Re: How to help SVN finding moved directories during a sync-merge?

Posted by Stefan Sperling <st...@elego.de>.
On Tue, Feb 25, 2020 at 08:50:00AM +0100, Thorsten Schöning wrote:
> Guten Tag Stefan Sperling,
> am Montag, 24. Februar 2020 um 21:04 schrieben Sie:
> 
> > If several possible move targets exist, the 'svn' client will offer
> > 'd' and 'w' conflict options which may help you to set the right
> > destination paths.
> 
> It did, thanks. That's what I had expected from TSVN as well. But do
> you really mean "w" or "m"? Because I have been offered "d" and "m"
> only:
> 
> > Select: (p) Postpone, (r) Mark as resolved,
> >         (m) Apply to move destination,
> >         (d) Set repository move destination path, (h) Help,
> >         (q) Quit resolution: d
> 
> Just wondering if "w" is something I need to keep in mind
> additionally.

It depends on the particular situation. "w" only happens in case there
is more than one possible move target inside the working copy, which
also depends on the particular repository-side path selected with "d".
If the path selected with "d" maps to a single path in the working copy
then "w" is not needed.

> > This feature only works if the SVN client implements support for it.
> > If TSVN did not do that, then they are missing this feature.
> > I am not sure how far TortoiseSVN went with their resolver implementation.
> 
> Am going to ask them, mabye I simply did something wrong or missed
> some setting or else.

Thanks! Perhaps this is indeed just missing in their UI.

Re: How to help SVN finding moved directories during a sync-merge?

Posted by Thorsten Schöning <ts...@am-soft.de>.
Guten Tag Stefan Sperling,
am Montag, 24. Februar 2020 um 21:04 schrieben Sie:

> If several possible move targets exist, the 'svn' client will offer
> 'd' and 'w' conflict options which may help you to set the right
> destination paths.

It did, thanks. That's what I had expected from TSVN as well. But do
you really mean "w" or "m"? Because I have been offered "d" and "m"
only:

> Select: (p) Postpone, (r) Mark as resolved,
>         (m) Apply to move destination,
>         (d) Set repository move destination path, (h) Help,
>         (q) Quit resolution: d

Just wondering if "w" is something I need to keep in mind
additionally.

> This feature only works if the SVN client implements support for it.
> If TSVN did not do that, then they are missing this feature.
> I am not sure how far TortoiseSVN went with their resolver implementation.

Am going to ask them, mabye I simply did something wrong or missed
some setting or else.

Mit freundlichen Grüßen,

Thorsten Schöning

-- 
Thorsten Schöning       E-Mail: Thorsten.Schoening@AM-SoFT.de
AM-SoFT IT-Systeme      http://www.AM-SoFT.de/

Telefon...........05151-  9468- 55
Fax...............05151-  9468- 88
Mobil..............0178-8 9468- 04

AM-SoFT GmbH IT-Systeme, Brandenburger Str. 7c, 31789 Hameln
AG Hannover HRB 207 694 - Geschäftsführer: Andreas Muchow


Re: How to help SVN finding moved directories during a sync-merge?

Posted by Stefan Sperling <st...@elego.de>.
On Mon, Feb 24, 2020 at 06:03:05PM +0100, Thorsten Schöning wrote:
> Hi all,
> 
> I have a repo with 178'000 revisions, and need to sync-merge 2
> features branches: "feature1" and "feature2" created from "trunk" at
> different times and "feature1" merged into "feature2" successfully
> some days ago already. That merge needs to be repeated now, but I'm
> runnig into trouble.
> 
> The problem is that "feature2" is about refactoring the directory
> layout of "feature1", especially some directories got moved. I used
> "svn mv" for that so that it could keep track of that in theory. The
> following is a simplified example:
> 
> * feature1
>   * mod1/src/de/File1.java
>   * mod2/src/de/File2.java
> * feature2
>   * mod1/src/main/java/de/File1.java
>   * mod2/src/main/java/de/File2.java
> 
> During merging SVN runs into conflicts because the merge-target dirs
> of "mod1" and "mod2" don't exist anymore. I'm using TortoiseSVN and
> that tries to find the new merge targets and does so successfully for
> "mod1". The problem is that for the changes of "mod2", SVN suggests
> the target dir of "mod1" as well again instead of "mod2" and this way
> the conflict can't be resolved ever.
> 
> Is there some way to tell SVN the correct target dir? Or how should
> that be resolved? The only thing I can currently think of is manually
> applying patches.

Can you try this with the command line instead of TortoiseSVN please?

If several possible move targets exist, the 'svn' client will offer
'd' and 'w' conflict options which may help you to set the right
destination paths.

This feature only works if the SVN client implements support for it.
If TSVN did not do that, then they are missing this feature.
I am not sure how far TortoiseSVN went with their resolver implementation.