Tree conflict 'svn merge' message

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Tree conflict 'svn merge' message

Daniel Shahaf-2
I just tried to merge the swig-py3 branch into trunk [not in order to
commit the merge, but only in order to run 'svn diff' on its result],
and got the following output from 'svn merge':

[[[
Summary of conflicts:
  Tree conflicts: 1
Searching tree conflict details for 'build/generator/util/executable.py' in repository:
Checking r1819556... done
Tree conflict on 'build/generator/util/executable.py':
Changes destined for a file arrived via the following revisions during merge of
'^/subversion/branches/swig-py3/build/generator/util/executable.py:1819163-1819564':

No such file or directory was found in the merge target working copy.
'^/subversion/trunk/build/generator/util/executable.py' was deleted in r1819556 by danielsh.

Subversion is not smart enough to resolve this tree conflict automatically!
See 'svn help resolve' for more information.

Select: (p) Postpone, (r) Mark as resolved, (h) Help, (q) Quit resolution: h
]]]

That's the correct diagnosis: the branch changed a file
(build/generator/util/executable.py) that was later deleted on trunk.
So that worked well.

That said, I'm a bit confused by the language "via the following
revisions …:" where the colon isn't followed by one or more revision
numbers.  Is it just an empty set of revisions?

Cheers,

Daniel
Reply | Threaded
Open this post in threaded view
|

Re: Tree conflict 'svn merge' message

Stefan Sperling-9
On Sat, Dec 30, 2017 at 03:28:19AM +0000, Daniel Shahaf wrote:

> I just tried to merge the swig-py3 branch into trunk [not in order to
> commit the merge, but only in order to run 'svn diff' on its result],
> and got the following output from 'svn merge':
>
> [[[
> Summary of conflicts:
>   Tree conflicts: 1
> Searching tree conflict details for 'build/generator/util/executable.py' in repository:
> Checking r1819556... done
> Tree conflict on 'build/generator/util/executable.py':
> Changes destined for a file arrived via the following revisions during merge of
> '^/subversion/branches/swig-py3/build/generator/util/executable.py:1819163-1819564':
>
> No such file or directory was found in the merge target working copy.
> '^/subversion/trunk/build/generator/util/executable.py' was deleted in r1819556 by danielsh.
>
> Subversion is not smart enough to resolve this tree conflict automatically!
> See 'svn help resolve' for more information.
>
> Select: (p) Postpone, (r) Mark as resolved, (h) Help, (q) Quit resolution: h
> ]]]
>
> That's the correct diagnosis: the branch changed a file
> (build/generator/util/executable.py) that was later deleted on trunk.
> So that worked well.
>
> That said, I'm a bit confused by the language "via the following
> revisions …:" where the colon isn't followed by one or more revision
> numbers.  Is it just an empty set of revisions?

This could be a bug. Perhaps the wrong message is selected for some
reason. Can you please file an issue? I cannot look closely right now.

Thanks,
Stefan
Reply | Threaded
Open this post in threaded view
|

Re: Tree conflict 'svn merge' message

Paul Hammant-3
Here's one from the past - https://issues.apache.org/jira/browse/SVN-3495

- A famous airline was the client back then and they were strangling their older (but accomplished) cgi-bin/C++ stack. We were doing concurrent development of consecutive releases. Different teams from two consultancies (ThoughtWorks and Globant) were working on different branches, and about four major releases were being developed at the same time. Each "following" release team was supposed to merge the prior release teams weekly changes. A cascade branching model.  We tried to hunt around for someone to fix that big for hard cash, but could not.

We hacked our way through it at the time, and a couple of months later moved every one to Trunk-Based Development (including a love of build flags, and boot flags). Flags are 'toggles' in Martin Fowler's lexicon. Branch by Abstraction figured too, as did a lot of Jenkins infrastructure and a policy of rolling back commits if they broke in any of the pipelines that Jenkins was running in parallel.  Builds were still batches of commits though, a we didn't have the infra to run one build per commit. We (I) had put too much Selenium tests in the pipeline and they really took a while (even if run parallelized). It wasn't a patch on Google's per-commit fu though.  Oh, with Trunk-Based Development (and flags and branch-by-abstraction) we were never going to have a merge conflict again, of course.

- Paul

 
Reply | Threaded
Open this post in threaded view
|

Re: Tree conflict 'svn merge' message

Daniel Shahaf-2
In reply to this post by Stefan Sperling-9
Stefan Sperling wrote on Sat, 30 Dec 2017 17:58 +0100:
> This could be a bug. Perhaps the wrong message is selected for some
> reason. Can you please file an issue? I cannot look closely right now.

Sure, https://issues.apache.org/jira/browse/SVN-4717.

Excuse brevity.

Daniel