Hi, On Tuesday 12 January 2010 20:54:14 Stephen Kelly wrote: > At the recent kde pim osnabrueck meeting we discussed the upcoming switch > to git and how it affects kdepim. > > [..] > > If you need to know more about this stuff, hopefully Thomas McGuire can > answer any questions.
let me provide some details about what we do in KDEPIM regarding merges and what we need from Git. First of all a disclaimer: I know next to nothing about Git, so I don't know what it already provides. As Steve said, we have quite a lot of branches, and we are required to merge all commits from the enterprise branches of KDEPIM back into trunk at some point. That is important, no commit should get lost. Currently, we use a tool called "svnmerge.py" for this task. It can give you a detailed list of commits that are currently not merged. You can then decide to either merge a commit or to block it. Commits are blocked when they are not needed at all in the other branch, like version number changes or workarounds for bugs that are long fixed in a better way in the branch. The good thing about svnmerge.py is that it doesn't show blocked commits again in the list of unmerged commits, only the commits that you really still have to deal with. So what we need from Git is: - A tool/command that lists all unmerged commits from one branch to the other - A tool/command that lets you block/remove commits from that list - And of course a way to actually merge the commits, but I heard that Git is much much better than SVN in that regard Someone mentioned that feature branches should do the job, but I don't think this will work. Much of the work we do in the branches are simple bugfixes, so we wouldn't create a branch for each single bugfix, like you would do for new features. Also, that probably just moves the problem around: If I created a branch for each bugfix, I would then need a list of _branches_ that are not merged yet, together with a way to block those. As an example of the list of unmerged commits that svnmerge.py creates, see http://www.kdab.com/~thomas/avail/avail_kdepim-trunk_e4_lastest. That shows all commits I need to merge from the enterprise4 branch to trunk. As in example in this list, see commit r1075215 ("Update Newslog.txt"), that is a commit which will get blocked, since the changelog is only specific to the enterprise4 branch and not needed in trunk. Once the commit is blocked, it will not show up in the avail list again. For even more info, see http://techbase.kde.org/Development/Tools/svnmerge.py. I hope I could shed a bit of light on the KDEPIM side of things. Regards, Thomas
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Kde-scm-interest mailing list Kde-scm-interest@kde.org https://mail.kde.org/mailman/listinfo/kde-scm-interest