openoffice-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pedro Giffuni <>
Subject Re: How to work with the gbuild branch in SVN?
Date Thu, 18 Feb 2016 01:08:31 GMT
Hi Damjan;

As you note, when there are so many changes merging is painful.
You generally try to do all your work in a branch and sync
frequently with trunk. It is difficult to give advice when
there are years of differences between the branch and trunk.

You can merge by ranges instead of individual files. This is
probably better if you try to bring the branch up to date.
The inverse, merging from the branch, involves you testing
the build before committing (and last time I remember the
gbuild branch was not working on FreeBSD BTW).

So you could, for example, bring the changes that are unrelated
to the build and later merge the build changes with your fixes.

About credits: you don't need to give specific credits when
merging; we have the SVN log for that. If you want to make clear
you are including local changes produced just add a line about
it to the log. Perhaps something like this (I made this up, of

Merge from Trunk up to:  r1409397:1560309

Brings updates to all components included in 4.1-Release.

Includes extensive changes to the gbuild support in svk
and ICU modules to accommodate for the update of libpng.

Build updates by:	me

Note that the process is not different from obtaining patches with
"svn diff" but subversion is supposed to know a bit about how merging is 
done (OK some people may not agree here).


On 02/15/16 21:12, Pedro Giffuni wrote:
> Hi Damjan;
> The key lies in "svn merge". You may lose part of the history but
> most of it should survive in form of mergeinfo.
> A while ago I documented how to work with branches somewhere in
> cwiki (based on FreeBSD's svn primer). An executive summary:
> - Do a sparse check out of the root AOO tree so you get the
> root of the tree but the branches do not spend space in
> your harddisk.
> - cd to trunk (or the branch) where you will be doing your merging.
> - You should have the complete tree "svn up --set-depth=infinity"
> for the main tree where you will merge the changes.
> - "svn merge" the revision(s) that you need refering to the relative
> tree for the branch you are merging. It's probably easier to do
> this one by one resolving conflicts as you go.
> Example:
> (I already did the sparse checkout + the complete checkout of
> main in my tree).
> % pwd
> /home/pfg/aoo/trunk
> % ls ../branches
> AOO34           alg             l10n40          pfg
> AOO400          capstone2013    ooxml           sidebar
> AOO401          gbuild          ooxml-osba      win8build
> AOO410          ia2             patch-hsqldb19  writer001
>   % svn merge -c r1409397 ../branches/gbuild .
> --- Merging r1409397 into '.':
> C    main/svx/
> U    main/svx/
> --- Recording mergeinfo for merge of r1409397 into '.':
>   U   .
> Summary of conflicts:
>    Text conflicts: 1
> Conflict discovered in file 'main/svx/'.
> Select: (p) postpone, (df) show diff, (e) edit file, (m) merge,
>          (mc) my side of conflict, (tc) their side of conflict,
>          (s) show all options: tc
> Resolved conflicted state of 'main/svx/'
> Summary of conflicts:
>    Text conflicts: 0 remaining (and 1 already resolved)
> ..
> (fix, merge next type of fun)
> ___
> Hope that helps,
> Pedro.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message