示例#1
0
def add_commit(repo_dir, upstream, commits, commit):
    if not git.valid_id(commit):
        print "This sha1 is not a valid commit id: %s" % commit
        return

    try:
        on_branch = git.commit_on_branch(repo_dir, commit, upstream)
    except:
        on_branch = False

    if not on_branch:
        print "Commit %s is not on upstream branch '%s'" % (commit, upstream)
        return

    try:
        full_rev = git.get_rev(repo_dir, id=commit)
    except git.GitError, e:
        full_rev = None
示例#2
0
    print "  * delete-N: delete entered commit"
    print "  * browser: (re)open the bug in a browser"

    user_input = raw_input(prompt % (len(commits), _list_commits())).strip()

    guess_re = re.compile('^guess-(?P<guess>\d+)$')
    delete_re = re.compile('^delete-(?P<delete>\d+)$')
    
    while user_input != 'done':
        guess_match = guess_re.search(user_input)
        delete_match = delete_re.search(user_input)
        if user_input == "browser":
            _open_browser()
        elif len(guesses.keys()) > 0 and user_input == "guess-all":
            for guess in guesses:
                if git.valid_id(guess):
                    commits.append(guess)
                else:
                    print "Not adding %s because it's invalid" % guess
        elif len(guesses) > 0 and guess_match:
            try:
                guess_num = int(guess_match.group('guess'))
            except ValueError:
                guess_num = None
            
            if guess_num is None or guess_num < 1 or guess_num > len(guesses.keys()):
                print "You are trying to use a guess that's invalid"
            else:
                guessed_commit = guesses.keys()[guess_num - 1]
                if git.valid_id(guessed_commit):
                    add_commit(repo_dir, upstream, commits, guesses.keys()[guess_num - 1])