diff --git a/debian/changelog b/debian/changelog index 11ea863..367ef74 100644 --- a/debian/changelog +++ b/debian/changelog @@ -18,6 +18,11 @@ ubuntu-dev-tools (0.86) UNRELEASED; urgency=low * pull-debian-source: Return the most recent source line. Depend on libapt-pkg-perl for the Debian version comparison required for this. + [ Steve Langasek ] + * submittodebian: os.system() doesn't throw exceptions, so attempt a + 'bzr diff' first and check the return value; otherwise we get no output + at all from submittodebian in the non-bzr case. + -- Iain Lane Tue, 22 Dec 2009 22:26:07 +0000 ubuntu-dev-tools (0.85) lucid; urgency=low diff --git a/submittodebian b/submittodebian index 6063cf5..06bdbed 100755 --- a/submittodebian +++ b/submittodebian @@ -52,15 +52,14 @@ def gen_debdiff(changelog): oldver = changelog._blocks[1].version newver = changelog._blocks[0].version - try: + (fd, debdiff) = mkstemp() + os.close(fd) + + if os.system('bzr diff -r tag:%s > /dev/null 2>&1' % oldver) == 256: print "Extracting bzr diff between %s and %s" % (oldver, newver) - (fd, debdiff) = mkstemp() - os.close(fd) cmd = 'bzr diff -r tag:%s | filterdiff -x "*changelog*" > %s' % (oldver, debdiff) run_cmd(cmd) - - except: - os.unlink(debdiff) + else: if oldver.epoch is not None: oldver = str(oldver)[str(oldver).index(":")+1:] if newver.epoch is not None: @@ -73,8 +72,6 @@ def gen_debdiff(changelog): check_file(newdsc) print "Generating debdiff between %s and %s" % (oldver, newver) - (fd, debdiff) = mkstemp() - os.close(fd) cmd = 'debdiff %s %s | filterdiff -x "*changelog*" > %s' % (olddsc, newdsc, debdiff) run_cmd(cmd)