accumulo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Keith Turner <ke...@deenlo.com>
Subject Re: That extra 'src'
Date Thu, 15 Mar 2012 19:02:36 GMT
I really like how when svn merges a file that conflicts that it
modifies the file and puts the two conflicting sections next to each
other.  This make it really easy to resolve the conflict.  AFAIK with
patch you just get these rejected hunks and have to figure where they
overlap yourself.  If anyone knows of a way to improves this I would
love to hear it.  Looking on the web this rename merge problem seems
like an old svn problem w/ no good solution.

On Thu, Mar 15, 2012 at 1:50 PM, Eric Newton <eric.newton@gmail.com> wrote:
> Ugh... you are not going to like this answer.  There's apparently no help
> in svn for resolving these file moves.
>
> Here's the little dance I did to get everything merged in; maybe I'll find
> a reasonable way to automate it.
>
> 1) figure out what changes need to be merged:
>
> $ cd trunk
> $ svn mergeinfo --show-revs eligible ../1.4
> r1300277
> r1300713
>
> 2) merge the first change in, get the epic fail:
>
> $ svn merge -c r1300277 ../1.4
> --- Merging r1300277 into '.':
>   C src/assemble
> Summary of conflicts:
>  Tree conflicts: 1
>
> 3) get a diff, but fix up the paths so it will patch:
>
> $ svn diff -c r1300277 ../1.4 | sed 's%../1.4/src/%%' | patch -p 0
> patching file assemble/dist.xml
> Hunk #1 FAILED at 39.
> Hunk #2 FAILED at 68.
> 2 out of 2 hunks FAILED -- saving rejects to file assemble/dist.xml.rej
>
> This is what you would get from a normal merge.  It is a conflict.  For the
> moment, I'm going to ignore these changes: the trunk assembly module is
> completely different, and might be fine the way it is: it's a bigger QA
> question.
>
> 4) tell svn we're finished with the conflict:
>
> $ svn resolve -R --accept working .
> Resolved conflicted state of 'src/assemble'
>
> 5) repeat for change r1300713:
>
> $ svn merge -c r1300713 ../1.4
> --- Merging r1300713 into '.':
>   C src/assemble
> Summary of conflicts:
>  Tree conflicts: 1
> $ svn diff -c r1300713 ../1.4 | sed 's%../1.4/src/%%' | patch -p 0
> patching file assemble/build.sh
> $ svn resolve -R --accept working .
> Resolved conflicted state of 'src/assemble'
> $ svn commit -m 'ACCUMULO-145 merge to trunk'
> Sending        .
> Sending        assemble/build.sh
>
>
>
> On Thu, Mar 15, 2012 at 11:09 AM, Keith Turner <keith@deenlo.com> wrote:
>
>> On Mon, Mar 12, 2012 at 2:34 PM, Benson Margulies <bimargulies@gmail.com>
>> wrote:
>> > It doesn't really make merges work much harder, since the scm's track
>> the moves.
>>
>> Does anyone have tips on this?  dist.xml was modified in 1.4.  I am
>> trying to merge 1.4 changes to trunk.  dist.xml has moved in trunk.
>>
>> $ svn merge -r 1:HEAD
>> https://svn.apache.org/repos/asf/incubator/accumulo/branches/1.4
>> --- Merging r1300182 through r1301010 into '.':
>>   C src/assemble
>> Summary of conflicts:
>>  Tree conflicts: 1
>> maccloud:trunk rkturn2$ svn status
>>  M      .
>> !     C src/assemble
>>      >   local delete, incoming edit upon merge
>>
>> So I get this tree conflict.  What I want it to do is to modify
>> dist.xml in the new location in trunk, but its not doing this.  I have
>> been looking online but have not found anything yet.
>>
>> Keith
>>

Mime
View raw message