[Treepkg-commits] r196 - trunk/recipes/kde_enterprise_4
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Wed May 6 16:00:51 CEST 2009
Author: bh
Date: 2009-05-06 16:00:51 +0200 (Wed, 06 May 2009)
New Revision: 196
Modified:
trunk/recipes/kde_enterprise_4/kde_l10n.py
Log:
Add tag detection to the enterprise4 kde-l10n packager by using
BasePackageTrack as the base class and overwriting export_tag to export
the tag's sources using the l10n package's custom subversion abstraction.
Modified: trunk/recipes/kde_enterprise_4/kde_l10n.py
===================================================================
--- trunk/recipes/kde_enterprise_4/kde_l10n.py 2009-05-06 13:54:04 UTC (rev 195)
+++ trunk/recipes/kde_enterprise_4/kde_l10n.py 2009-05-06 14:00:51 UTC (rev 196)
@@ -14,7 +14,9 @@
import treepkg.util
import treepkg.subversion as subversion
+from base import TagDetector, BasePackageTrack
+
class SubversionSubset(object):
"""Manage a subversion working copy that contains a subset of a repository
@@ -51,11 +53,20 @@
subversion.checkout(svn_url, localdir, revision=revision,
recurse=recurse)
- def export(self, destdir):
+ def export(self, destdir, url=None):
+ if url is not None:
+ baseurl = url
+ else:
+ baseurl = self.localdir
for desc in self.subdirectories:
- subdir = desc[0]
- subversion.export(os.path.join(self.localdir, subdir),
- os.path.join(destdir, subdir))
+ if len(desc) == 2:
+ subdir, recurse = desc
+ else:
+ subdir = desc[0]
+ recurse = True
+ subversion.export(os.path.join(baseurl, subdir),
+ os.path.join(destdir, subdir),
+ recurse=recurse)
def last_changed_revision(self):
return max([subversion.last_changed_revision(os.path.join(self.localdir,
@@ -162,17 +173,19 @@
source_packager_cls = SourcePackager
-class PackageTrack(treepkg.packager.PackageTrack):
+class PackageTrack(BasePackageTrack):
- extra_config_desc = ["version_template"]
-
revision_packager_cls = RevisionPackager
def __init__(self, *args, **kw):
- self.version_template = kw.pop("version_template")
svn_url = kw["svn_url"]
super(PackageTrack, self).__init__(*args, **kw)
self.working_copy = SubversionSubset(svn_url, self.checkout_dir,
subdirectories= [("", False),
("de",),
("scripts",)])
+
+ def export_tag(self, tag_url, to_dir):
+ logging.info("Exporting sources from %s to %r",
+ tag_url, to_dir)
+ self.working_copy.export(to_dir, url=tag_url)
More information about the Treepkg-commits
mailing list