From 5dcc5a423c1945f68c3375373630a3e044a75414 Mon Sep 17 00:00:00 2001 From: Bogdano Arendartchuk Date: Thu, 21 Jun 2007 21:12:39 +0000 Subject: Make getsrpm use the revision number from svn.export It also changed the previous behavior of using the last changed rev. from the "revision used in the command line" --- RepSys/rpmutil.py | 9 +++------ RepSys/svn.py | 7 +++++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/RepSys/rpmutil.py b/RepSys/rpmutil.py index 9d3f1a2..d75f7a5 100644 --- a/RepSys/rpmutil.py +++ b/RepSys/rpmutil.py @@ -67,7 +67,7 @@ def get_srpm(pkgdirurl, geturl = os.path.join(pkgdirurl, "current") else: raise Error, "unsupported get_srpm mode: %s" % mode - svn.export(geturl, tmpdir, revision=SVN.makerev(revision)) + exportedrev = svn.export(geturl, tmpdir, revision=SVN.makerev(revision)) srpmsdir = os.path.join(tmpdir, "SRPMS") os.mkdir(srpmsdir) specsdir = os.path.join(tmpdir, "SPECS") @@ -79,9 +79,6 @@ def get_srpm(pkgdirurl, submit = not not revision specfile_svn2rpm(pkgdirurl, spec, revision, submit=submit, template=template, macros=macros, exported=tmpdir) - #FIXME revisioreal not needed if revision is None - #FIXME use geturl instead of pkgdirurl - revisionreal = svn.revision(pkgdirurl) for script in scripts: #FIXME revision can be "None" status, output = execcmd(script, tmpdir, spec, str(revision), @@ -96,13 +93,13 @@ def get_srpm(pkgdirurl, (topdir, builddir, rpmdir, sourcedir, specdir, srcrpmdir, patchdir, packager, spec, defs)) - if revision and revisionreal: + if revision: #FIXME duplicate glob line srpm = glob.glob(os.path.join(srpmsdir, "*.src.rpm"))[0] srpminfo = SRPM(srpm) release = srpminfo.release srpmbase = os.path.basename(srpm) - os.rename(srpm, "%s/@%s:%s" % (srpmsdir, revisionreal, srpmbase)) + os.rename(srpm, "%s/@%s:%s" % (srpmsdir, exportedrev.number, srpmbase)) srpm = glob.glob(os.path.join(srpmsdir, "*.src.rpm"))[0] if not targetdirs: targetdirs = (".",) diff --git a/RepSys/svn.py b/RepSys/svn.py index 8589c4a..683a691 100644 --- a/RepSys/svn.py +++ b/RepSys/svn.py @@ -97,9 +97,12 @@ class SVN: return pysvn.Revision(*args) makerev = staticmethod(makerev) - def revision(self, url): + def revision(self, url, last_changed=False): infos = self._client.info2(url, recurse=False) - revnum= infos[0][1].rev.number + if last_changed: + revnum = infos[0][1].last_changed_rev.number + else: + revnum = infos[0][1].rev.number return revnum # this override method fixed the problem in pysvn's mkdir which -- cgit v1.2.1