+ if len(args) >= 2:
+ try:
+ if git.rev_parse(args[1]) == git.rev_parse('refs/heads/' + args[1]):
+ # we are for sure refering to a branch
+ parentbranch = 'refs/heads/' + args[1]
+ print 'Recording "%s" as parent branch.' % parentbranch
+ elif git.rev_parse(args[1]) and re.search('/', args[1]):
+ # FIXME: should the test be more strict ?
+ parentbranch = args[1]
+ else:
+ # Note: this includes refs to StGIT patches
+ print 'Don\'t know how to determine parent branch from "%s".' % args[1]
+ parentbranch = None
+ except git.GitException:
+ # should use a more specific exception to catch only non-git refs ?
+ print 'Don\'t know how to determine parent branch from "%s".' % args[1]
+ parentbranch = None
+