mirror of
https://gerrit.googlesource.com/git-repo
synced 2026-11-08 13:34:26 +00:00
When uploading a branch that merges another remote-tracking branch (such as an upstream branch into the destination branch), ReviewableBranch only excludes the destination tracking branch (^base). As a result, git rev-list walks the merged parent and counts all merged commits even though they already exist on a remote branch, triggering the unusual commit count warning in _VerifyPendingCommits. Add --ignore-remote-commits to `repo upload` to pass --not --remotes to git rev-list in ReviewableBranch so commits already reachable from refs/remotes/* are excluded from the pending commit list. Test: ./run_tests tests/test_project.py tests/test_subcmds_upload.py Change-Id: Ib1fb864982729e20a621144580fe95daa478eaee Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/651284 Tested-by: Romaric Jodin <rjodin@google.com> Reviewed-by: Brian Gan <brgan@google.com> Commit-Queue: Romaric Jodin <rjodin@google.com>
Repo Tests
There is a mixture of pytest & Python unittest in here. We adopted pytest later on but didn't migrate existing tests (since they still work). New tests should be written using pytest only.
File layout
test_xxx.py: Unittests for thexxxmodule in the main repo codebase. Modules that are in subdirs normalize the/into_. For example, test_error.py is for the error.py module, and test_subcmds_forall.py is for the subcmds/forall.py module.- conftest.py: Custom pytest fixtures for sharing.
- utils_for_test.py: Helpers for sharing in tests.
- e2e/: Hermetic end-to-end tests that run the real
repoagainst a local git server.