git: c49b075305a7 - main - git-arc: Handle commit ranges in the "update" verb
Mark Johnston
markj at FreeBSD.org
Wed Mar 3 22:01:26 UTC 2021
The branch main has been updated by markj:
URL: https://cgit.FreeBSD.org/src/commit/?id=c49b075305a7aa1c7f500db1672cd1d2b8066b55
commit c49b075305a7aa1c7f500db1672cd1d2b8066b55
Author: Mark Johnston <markj at FreeBSD.org>
AuthorDate: 2021-03-03 22:00:58 +0000
Commit: Mark Johnston <markj at FreeBSD.org>
CommitDate: 2021-03-03 22:00:58 +0000
git-arc: Handle commit ranges in the "update" verb
Reported by: imp
---
tools/tools/git/git-arc.sh | 28 ++++++++++++++--------------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/tools/tools/git/git-arc.sh b/tools/tools/git/git-arc.sh
index 07b042ceb151..c3541e438c9f 100644
--- a/tools/tools/git/git-arc.sh
+++ b/tools/tools/git/git-arc.sh
@@ -53,7 +53,7 @@ Commands:
list <commit>|<commit range>
patch <diff1> [<diff2> ...]
stage [-b branch] [<commit>|<commit range>]
- update <commit>
+ update [<commit>|<commit range>]
Description:
Create or manage FreeBSD Phabricator reviews based on git commits. There
@@ -500,24 +500,24 @@ gitarc::stage()
gitarc::update()
{
- local commit diff
-
- commit=$1
- diff=$(commit2diff $commit)
-
- if ! show_and_prompt $commit; then
- return
- fi
+ local commit commits diff
+ commits=$(build_commit_list $@)
save_head
+ for commit in ${commits}; do
+ diff=$(commit2diff $commit)
- git checkout -q $commit
+ if ! show_and_prompt $commit; then
+ break
+ fi
- # The linter is stupid and applies patches to the working copy.
- # This would be tolerable if it didn't try to correct "misspelled" variable
- # names.
- arc diff --allow-untracked --never-apply-patches --update $diff HEAD~
+ git checkout -q $commit
+ # The linter is stupid and applies patches to the working copy.
+ # This would be tolerable if it didn't try to correct "misspelled" variable
+ # names.
+ arc diff --allow-untracked --never-apply-patches --update $diff HEAD~
+ done
restore_head
}
More information about the dev-commits-src-all
mailing list