Unter http://git.tvdr.de gibt es ab sofort ein GIT-Archiv der kompletten VDR-Source, mit allen einzelnen Änderungen seit der ersten Version.
Ich habe dieses Archiv mittels eines Perl-Scripts aus meinem RCS generiert und werde es bei künftigen Änderungen entsprechend aktualisieren. Ich persönlich werde weiterhin die VDR-Source mit RCS verwalten, das GIT darf aber als "offizieller Stand" betrachtet werden. Natürlich wird es auch weiterhin wie gewohnt bei jeder neuen Version eine Distributionsdatei geben.
Um beim Generieren des GIT aus dem RCS den Stand in den bisherigen Distributionsdateien möglichst genau abzubilden, waren bei einigen Dateien Modifikationen nötig, damit zusammengehörige Änderungen, die mehrere Dateien betreffen, nicht zu separaten Commits führten. Hier eine Zusammenfassung dieser Modifikationen, damit sich niemand wundert, falls er einen Vergleich des GIT-Standes mit der entsprechenden Distributionsdatei durchführt:
While generating a GIT repository from my RCS archive, I had to make the following changes to the files in order to make sure the result corresponds as closely as possible to the versions published in the original distribution archives:
- Consolidated several file dates and revision numbers. You can see these changes in the "$Id:" entries if you run 'diff' on a file's version from an original distribution archive and the GIT.
- In version 0.06 the line
while ((k->type != kNone) && strncmp(k->name, Command, strlen(k->name)) != 0) //XXX why 'strncmp()'???
was changed to
while ((k->type != kNone) && strncmp(k->name, Command, strlen(k->name)) != 0) // must use 'strncmp()' because LIRC delivers trailing characters!
in config.h after the distribution archive was generated.
- The "Tools" subdirectory that was part of the VDR archive from version 0.6 through 0.99pre1 is not contained in this GIT archive.
- Some files that inadvertently slipped into some distribution archives (like setup.conf, x.txt, epg.data, gmon.out, eit.diff, params.txt, mpatrol.diff, locale or Syd) have not been put into the GIT.
- The file UPDATE-2.0.0 first appeared in the distribution archive for version 1.7.38, but earlier versions (starting with 1.7.32) have been put into the GIT.
- Some typos have been fixed after generating the distribution archives, without making that a separate RCS commit.
- The plugins source directory (introduced in version 1.1.0) was originally named PLUGINS/SRC and renamed to PLUGINS/src in version 1.1.18. To avoid segmentation of the source, the directory was changed to PLUGINS/src for all versions 1.1.0 through 1.1.18 during the conversion to GIT. The Makefile, PLUGINS.html and newplugin have been modified accordingly, so the source code is consistent over all versions.
- The files channels.conf, timers.conf and keys.conf were never stored in my RCS, but since they appeared in the official VDR distribution archives I have added them to the GIT.
- The file Make.global was not in the distribution archive for version 1.7.34, because it has been removed in that version. However, since it was reintroduced in version 1.7.35, it also appears in V10734 of the GIT.
- The 'dvbhddevice' plugin has been removed from the tree.
- The email address of Patrice Staudt <ipatrice.staudt@@laposte.net> was fixed to read <patrice.staudt@@laposte.net>.
- In version 1.7.23 an intermediate revision of epg.c has snuck in, which contained a temporary modification that was later revoked.
- For some odd reason the file osd.c was missing the 'if (Level == 0...' part in the VDR archives from version 1.3.13 through 1.5.8. No idea how that happened...