Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 9901a980 authored by Simon Shields's avatar Simon Shields Committed by Adrian DC
Browse files

repopick: don't re-pick duplicate changes

check the last 10 commits to HEAD for a dupe change id.

RM-290

Change-Id: Icfbf8b4eae165cf84ef4a82f54f792e9c9acd67b
parent aef3667b
Loading
Loading
Loading
Loading
+14 −0
Original line number Original line Diff line number Diff line
@@ -275,6 +275,7 @@ if __name__ == '__main__':
            'subject': review['subject'],
            'subject': review['subject'],
            'project': review['project'],
            'project': review['project'],
            'branch': review['branch'],
            'branch': review['branch'],
            'change_id': review['change_id'],
            'change_number': review['number'],
            'change_number': review['number'],
            'status': review['status'],
            'status': review['status'],
            'fetch': None
            'fetch': None
@@ -317,6 +318,19 @@ if __name__ == '__main__':
        if args.start_branch:
        if args.start_branch:
            subprocess.check_output(['repo', 'start', args.start_branch[0], project_path])
            subprocess.check_output(['repo', 'start', args.start_branch[0], project_path])


        # Check if change is already picked to HEAD...HEAD~10
        found_change = False
        for i in range(0, 10):
            output = subprocess.check_output(['git', 'show', '-q', 'HEAD~{0}'.format(i)], cwd=project_path).split()
            if 'Change-Id:' in output:
                head_change_id = output[output.index('Change-Id:')+1]
                if head_change_id.strip() == item['change_id']:
                    print('Skipping {0} - already picked in {1} as HEAD~{2}'.format(item['id'], project_path, i))
                    found_change = True
                    break
        if found_change:
            continue

        # Print out some useful info
        # Print out some useful info
        if not args.quiet:
        if not args.quiet:
            print('--> Subject:       "{0}"'.format(item['subject']))
            print('--> Subject:       "{0}"'.format(item['subject']))