diff options
author | Guido Günther <agx@sigxcpu.org> | 2010-12-10 18:12:22 +0100 |
---|---|---|
committer | Guido Günther <agx@sigxcpu.org> | 2010-12-10 18:12:22 +0100 |
commit | cf982582dfc6945f192a1619b15c6fab00976b2c (patch) | |
tree | 33c482aa1fe26fe43abb0871d4c8e76daf1921a2 /git-import-dsc | |
parent | 92d0e8358bed90fcb8a5df5d9751d8154c63f495 (diff) |
Move Debian tag with --ignore-same-version
so the import doesn't fail.
Closes: #606204
Diffstat (limited to 'git-import-dsc')
-rwxr-xr-x | git-import-dsc | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/git-import-dsc b/git-import-dsc index a4817913..46aef08a 100755 --- a/git-import-dsc +++ b/git-import-dsc @@ -24,6 +24,7 @@ import os import tempfile import glob import pipes +import time from email.Utils import parseaddr import gbp.command_wrappers as gbpc from gbp.deb import (debian_version_chars, parse_changelog, unpack_orig, @@ -133,6 +134,15 @@ def print_dsc(dsc): if dsc.epoch: gbp.log.debug("Epoch: %s" % dsc.epoch) + +def move_tag_stamp(repo, format, version): + "Move tag out of the way appending the current timestamp" + old = build_tag(format, version) + timestamped = "%s~%s" % (version, int(time.time())) + new = build_tag(format, timestamped) + repo.move_tag(old, new) + + def main(argv): dirs = {'top': os.path.abspath(os.curdir)} needs_repo = False @@ -232,9 +242,12 @@ def main(argv): tag = build_tag(format[0], src.upstream_version) msg = "%s version %s" % (format[1], src.upstream_version) - if not options.ignore_same_version: - if repo.find_version(options.debian_tag, src.version): - gbp.log.info("Version %s already imported." % src.version) + if repo.find_version(options.debian_tag, src.version): + gbp.log.warn("Version %s already imported." % src.version) + if options.ignore_same_version: + gbp.log.info("Moving tag of version %s since import forced, src.ver") + move_tag_stamp(repo, options.debian_tag, src.version) + else: raise SkipImport if not repo.find_version(format[0], src.upstream_version): |