build: repopick: Support projects with less than 10 commits
* Verify that the project has at least 10 commits to verify,
if not check only the amount of existing commits
RM-290
Change-Id: Ic95212510d8f5b980c9a94af8d5ac1e0dfd94b3e
diff --git a/tools/repopick.py b/tools/repopick.py
index 2b436ef..8031a6a 100755
--- a/tools/repopick.py
+++ b/tools/repopick.py
@@ -319,9 +319,15 @@
if args.start_branch:
subprocess.check_output(['repo', 'start', args.start_branch[0], project_path])
- # Check if change is already picked to HEAD...HEAD~10
+ # Determine the maximum commits to check already picked changes
+ check_picked_count = 10
+ branch_commits_count = int(subprocess.check_output(['git', 'rev-list', '--count', 'HEAD'], cwd=project_path))
+ if branch_commits_count <= check_picked_count:
+ check_picked_count = branch_commits_count - 1
+
+ # Check if change is already picked to HEAD...HEAD~check_picked_count
found_change = False
- for i in range(0, 10):
+ for i in range(0, check_picked_count):
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]