Multimedia/Move to Git: Difference between revisions
Add section about the feature freeze issue |
Use new SVNCommit template to link to SVN revision |
||
Line 16: | Line 16: | ||
* Reuse common code that was written for past conversions, fixing several issues. | * Reuse common code that was written for past conversions, fixing several issues. | ||
* Simplify several rules and remove others that weren't needed, for faster conversions. | * Simplify several rules and remove others that weren't needed, for faster conversions. | ||
* Ignore problematic commits such as | * Ignore problematic commits such as {{SVNCommit|409205}}, which messed up most branches and tags. | ||
* Added the old <tt>libkcompactdisc</tt> history from when it was a part of <tt>kscd</tt>. | * Added the old <tt>libkcompactdisc</tt> history from when it was a part of <tt>kscd</tt>. | ||
* Export documentation in version branches. | * Export documentation in version branches. |
Revision as of 16:16, 2 May 2012
This page describes the move of kdemultimedia from SVN to Git.
History
Trever Fischer worked on the svn2git conversion rules for kdemultimedia mostly alone since announcing plans in January 2012. Nicolas Alvarez, who helped with other repos and single-handedly converted others, didn't get as involved as he should have, because he was focusing on the migration of kdegames repositories (plus some real-life time-eaters).
On March 28th, Trever announced the move, and did the final conversion and push on April 4th. The next day, several problems were found with the repositories, including files that were entirely missing (causing build failures, the stable branch (KDE/4.8) not having the needed changes to let the repos build standalone, and several history problems.
Eike Hein was soon notified of the problem, and decided to lock the git repositories to prevent new commits done on them. He also sent an email to various mailing lists to notify about the locked repositories.
Since then, there has been slow but reasonably steady work to improve the conversion rules.
Work done
Here's a list of important changes in the rules since the “bad” conversion was done.
- Reuse common code that was written for past conversions, fixing several issues.
- Simplify several rules and remove others that weren't needed, for faster conversions.
- Ignore problematic commits such as r409205, which messed up most branches and tags.
- Added the old libkcompactdisc history from when it was a part of kscd.
- Export documentation in version branches.
- Export several app-specific work branches.
- Added parentmaps to synthesize branch merges.
- Nearly rewrote the audiocd-kio rules to catch all the history correctly.
Progress
Repository | Status |
---|---|
audiocd-kio | Complete! |
dragonplayer | Complete, no parentmaps needed, nothing else needed unless I'm crazy enough to import the codeine tarballs. |
ffmpegthumbs | Complete (no parentmaps needed) |
juk | Complete (or so it seems... juk is a big one, so I'm skeptical) |
kmix | Really complex stuff in early history, may take a while to get right |
kscd | Complete |
libkcddb | Complete |
libkcompactdisc | Complete |
mplayerthumbs | Complete (no parentmaps needed) |
strigi-analyzers | Complete |
Feature freeze problem
While the repositories were unusable, there was interesting development done on scratch repositories, implementing MPRIS2 for DragonPlayer and JuK. In order to get into KDE 4.9, this code needs to be in the real repositories before the feature freeze on May 3rd. Therefore the repositories should be done before this date.
I'm not optimist that the KMix rules can be finished by that date. The options would be:
- Migrate when it's done, miss the may 3rd deadline. Request a feature freeze exception or live with MPRIS2 not getting into DragonPlayer and Juk for 4.9.
- Migrate now with crappy conversion of KMix early history and be stuck with it forever.
- Migrate now with crappy conversion of KMix early history, fix it later (would need a force-push).
- Migrate everything to git except KMix, which stays in SVN until the rules are ready.