[kde-freebsd] plasma5 -> trunk .. just do it

Adriaan de Groot groot at kde.org
Wed Jul 13 16:17:22 UTC 2016


We have been developing KDE-FreeBSD packages in area51 for a long time (since 
2003!). And recently, we've had a very long-lived branch, namely plasma5, in 
parallel with trunk. The differences between plasma5 and trunk are roughly 
these:

 - trunk has qt 5.6, plasma5 5.5 (and right now, plasma5 requires qt 5.6)
 - plasma5 has kf5, plasma5, newer applications
 - along the road to plasma5, there was a huge amount of renaming and shuffling 
of ports
 - there have been some merges from trunk -> plasma5
 - there have been merges from official ports -> trunk (sometimes -> plasma5)
 - there have been a few single commits merged plasma5->trunk 


I've spent a bunch of time trying to merge plasma5 to trunk with svn merge 
(e.g. svn merge -r 10672:HEAD ../plasma5 . when in a trunk-checkout). This is, 
to be frank, a pain in the butt. SVN is just not that good with horribly 
confused history.

So I'd like to propose: "never mind" wrt. actually merging history to trunk.

This wouldn't be the first time such a thing has been done in area51. And it's 
not like history would go away, it just wouldn't be obvious from looking at 
just the log of trunk.

The difference between doing an svn merge and "nevery mind" is this: "never 
mind" takes about 10 minutes to do (technically) and then I can start building 
the port x11/kde5 in trunk against the qt 5.6 which is in trunk. Merging SVN 
history 10672-11503 (which is the first time SVN just gives up and dumps you 
out to a situation with 300 text conflicts and 40-odd tree conflicts) takes 
hours or days of editing individual files and tracking history to decide which 
bits go where and whether plasma5, workdir, or history is the right thing to 
keep (and then once that's done, doing it again and again until plasma5 is 
fully merged).

Frankly, I can't be bothered.

So here's my "never mind" plan:

	# Just throw everything out
	cd trunk
	rm -rf $(find . -name Makefile | xargs dirname)
	# Copy plasma5's structure back
	cd ../plasma5
	tar cf - --exclude .svn . | tar xf - -C ../trunk
	# .. except Qt5 is newer in trunk
	svn revert -R QT
	rm -rf $(svn st QT | grep '^?' | cut -w -f 1)

There may be a little bit of stuff to sort out after that (just in terms of 
what ports to add / delete from the other sub-dirs), but it's quick, it bumps 
trunk to the next set of things-we-want-to-flush-downstream and gets things 
moving again instead of stuck with trunk (awaiting nothing), plasma5 (awaiting 
a Qt refresh) and qt-5.7 (early stages, and languishing wrt plasma5 and ports 
updates).

So, yeah, let's trade easy-to-follow history for getting-things-done.

Comments? Suggestions? I'd like to replace trunk with something fresh friday 
at the latest, if noone objects.

[ade]


More information about the kde-freebsd mailing list