Difference between revisions of "Development/Tools/svnmerge.py"

Jump to: navigation, search
(add new page about svnmerge.py. skeleton for now.)
 
(What is svnmerge and why use it?: add some content)
Line 1: Line 1:
 
== What is svnmerge and why use it? ==
 
== What is svnmerge and why use it? ==
  
why use merge tracking
+
When you have multiple branches of the same project in SVN, you probably want to keep these branches in sync, at least to a certain extend.
why use svnmerge.py
+
 
where is it used? enterprise, kmail-soc etc
+
One example of this would be feature branches, i.e. a branch were a bigger feature is developed. You usually want to keep that feature branch in sync with trunk by merging all commits from trunk into that feature branch. Once the feature branch is ready to be merged back to trunk, you want to do just that with as little work as possible.
to keep branches up to date
+
 
 +
Another example are the [[Projects/PIM#Enterprise_branches|KDEPIM enterprise branches]]. All changes from the enterprise branches are merged to trunk, but only some changes from trunk are merged back to the enterprise branches.
 +
 
 +
In both situation, svnmerge.py will help you by keeping track of the merges and assisting you in the process of merging.
 +
What does it do for you? Bla Bla Bla Blub
 +
 
 +
See also the [http://www.orcaware.com/svn/wiki/Svnmerge.py svnmerge wiki page].
  
 
== Installing svnmerge ==
 
== Installing svnmerge ==

Revision as of 19:09, 17 March 2009

Contents

What is svnmerge and why use it?

When you have multiple branches of the same project in SVN, you probably want to keep these branches in sync, at least to a certain extend.

One example of this would be feature branches, i.e. a branch were a bigger feature is developed. You usually want to keep that feature branch in sync with trunk by merging all commits from trunk into that feature branch. Once the feature branch is ready to be merged back to trunk, you want to do just that with as little work as possible.

Another example are the KDEPIM enterprise branches. All changes from the enterprise branches are merged to trunk, but only some changes from trunk are merged back to the enterprise branches.

In both situation, svnmerge.py will help you by keeping track of the merges and assisting you in the process of merging. What does it do for you? Bla Bla Bla Blub

See also the svnmerge wiki page.

Installing svnmerge

where to download (other links to tutorials) chmod +x in /usr/local/bin

Initializing merge tracking for a branch

svnmerge.py init help no need to if already done

Merging Changes

getting available/unmerged revisions svnmerge --avail --log -b -S bla > avail trick (takes a lot of time!) open in text edit

block, merge or merge -M revisions from list merging more than one revision - when and when not to do

edit commit message: SVN_SILENT, small explaination sometimes svn ci -F svnmerge-commit-message

clean dirs

Problems & Solutions

conflicts on . -> svn resolved + use mergediff to confirm (!) problems with korganizer/views problems with kcal in e3->e4

Helpful Scripts

mergediff mymerge


KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal