[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