Revision 866bb9c1 devflow/versioning.py

b/devflow/versioning.py
83 83
    elif len(parents) == 2:
84 84
        if cur_br_name.startswith("debian-") or cur_br_name == "debian":
85 85
            pr1, pr2 = parents
86
            return short_id(pr1) + "~" + short_id(pr2)
86
            return short_id(pr1) + "-" + short_id(pr2)
87 87
        else:
88 88
            return short_id(commit)
89 89
    else:
......
107 107
        branch = repo.head.reference
108 108
        revid = get_commit_id(branch.commit, branch)
109 109
        revno = len(list(repo.iter_commits()))
110
        desc = repo.git.describe("--tags")
111 110
        toplevel = repo.working_dir
112 111
    except git.InvalidGitRepositoryError:
113 112
        log.error("Could not retrieve git information. " +
......
115 114
        return None
116 115

  
117 116
    info = namedtuple("vcs_info", ["branch", "revid", "revno",
118
                                   "desc", "toplevel"])
117
                                   "toplevel"])
119 118

  
120
    return info(branch=branch.name, revid=revid, revno=revno, desc=desc,
119
    return info(branch=branch.name, revid=revid, revno=revno,
121 120
                toplevel=toplevel)
122 121

  
123 122

  
......
137 136
    try:
138 137
        mode = os.environ["GITFLOW_BUILD_MODE"]
139 138
        assert mode == "release" or mode == "snapshot"
140
    except (KeyError, AssertionError):
141
        raise ValueError("GITFLOW_BUILD_MODE environment variable must be "
142
                         "'release' or 'snapshot'")
139
    except KeyError:
140
        raise ValueError("GITFLOW_BUILD_MODE environment variable is not set."
141
                         " Set this variable to 'release' or 'snapshot'")
142
    except AssertionError:
143
        raise ValueError("GITFLOW_BUILD_MODE environment variable must be"
144
                         " 'release' or 'snapshot'")
143 145
    return mode
144 146

  
145 147

  
......
390 392
    return pyver.replace("_", "~").replace("rc", "~rc") + "-1"
391 393

  
392 394

  
395
def get_python_version():
396
    v = vcs_info()
397
    b = base_version(v)
398
    mode = build_mode()
399
    return python_version(b, v, mode)
400

  
401

  
393 402
def debian_version(base_version, vcs_info, mode):
394 403
    p = python_version(base_version, vcs_info, mode)
395 404
    return debian_version_from_python_version(p)
396 405

  
397 406

  
407
def get_debian_version():
408
    v = vcs_info()
409
    b = base_version(v)
410
    mode = build_mode()
411
    return debian_version(b, v, mode)
412

  
413

  
398 414
def user_info():
399 415
    import getpass
400 416
    import socket
......
410 426

  
411 427
    """
412 428

  
429
    paths = [root] + module.split(".") + ["%s.py" % name]
430
    module_filename = os.path.join(*paths)
431

  
413 432
    v = vcs_info()
414 433
    if not v:
415 434
        # Return early if not in development environment
435
        log.error("Can not compute version outside of a git repository."
436
                  " Will not update %s version file" % module_filename)
416 437
        return
417 438
    b = base_version(v)
418 439
    mode = build_mode()
419
    paths = [root] + module.split(".") + ["%s.py" % name]
420
    module_filename = os.path.join(*paths)
421 440
    version = python_version(b, v, mode)
422 441
    content = """
423 442
__version__ = "%(version)s"
424 443
__version_info__ = %(version_info)s
425 444
__version_vcs_info__ = %(vcs_info)s
426 445
__version_user_info__ = "%(user_info)s"
427
    """ % dict(version=version, version_info=version.split("."),
446
""" % dict(version=version, version_info=version.split("."),
428 447
               vcs_info=pprint.PrettyPrinter().pformat(dict(v._asdict())),
429 448
               user_info=user_info())
430 449

  
431 450
    module_file = file(module_filename, "w+")
432 451
    module_file.write(content)
433 452
    module_file.close()
453
    return module_filename
434 454

  
435 455

  
436
if __name__ == "__main__":
456
def main():
437 457
    v = vcs_info()
438 458
    b = base_version(v)
439 459
    mode = build_mode()
......
448 468
        print python_version(b, v, mode)
449 469
    elif arg == "debian":
450 470
        print debian_version(b, v, mode)
471

  
472
if __name__ == "__main__":
473
    sys.exit(main())

Also available in: Unified diff