[update-checkout] Backport recent fixes to 3.1 branch #8078
+95
−149
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add fixes for problems in the --scheme, --tag, --clean, and --dump-hashes
options of update-checkout to the swift-3.1-branch. Among other fixes,
this will allow users to easily switch between the 3.1 and master branch
schemes and to check out 3.1 tags which postdate this commit, without risk
of corrupting the state of their repositories.
Also brings the 3.1 branch's update-checkout-config.json file in sync
with all the recent changes in branch schemes.
For update-checkout, this commit includes the following commits, in
chronological order:
b46ce6c
34099d4
2c65c77
631495c
07ddf07
309312d
0312579
There is also a very simple one-line fix to update_repository_to_tag(),
to fix a minor bug also fixed by fecbd22: "Unnecessary setting of the
cross_repo flag by the --tag argument has been removed, so repos which
lack the tag are now properly rebased when updated."
I have deliberately omitted any recent commits which added new features to
update-checkout, to minimize the chance of introducing bugs to the 3.1
branch. I also left out the recent Python lint fixes.
For update-checkout-config.json, this commit includes all changes up
through the present state (commit cd6474c).
This PR stems from recent comments on bug #46385. It's an attempt to get important fixes to update-checkout into the 3.1 branch. The commit message pretty much explains everything.
Resolves the following bugs still in swift-3.1-branch: #46385, #46395, and #46439. All of these were already fixed in "master".
Pinging @tkremenek, @shahmishal, @gottesmm, and @erg to review this, test appropriately, and judge it worthy or unworthy. (I have tested it myself on my own repository and everything seems to work as expected.)