diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2006-05-17 14:10:25 -0600 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-05-18 22:55:57 -0700 |
commit | d3bd4ee1a5cc771b86f73dd0f4a2bea6f652b20a (patch) | |
tree | fee7ac9f2e14e804f92c52735a23691c2ba1ec50 /git-quiltimport.sh | |
parent | d3d8f361a8c6beb5647e0d963a1460a505324494 (diff) | |
download | git-d3bd4ee1a5cc771b86f73dd0f4a2bea6f652b20a.tar.gz |
Implement a --dry-run option to git-quiltimport
Since large quilt trees like -mm can easily have patches
without clear authorship information, add a --dry-run
option to make the problem patches easy to find.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'git-quiltimport.sh')
-rwxr-xr-x | git-quiltimport.sh | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/git-quiltimport.sh b/git-quiltimport.sh index dd4a198fb1..12d9d0cbc9 100755 --- a/git-quiltimport.sh +++ b/git-quiltimport.sh @@ -1,8 +1,9 @@ #!/bin/sh -USAGE='--author <author> --patches </path/to/quilt/patch/directory>' +USAGE='--dry-run --author <author> --patches </path/to/quilt/patch/directory>' SUBDIRECTORY_ON=Yes . git-sh-setup +dry_run="" quilt_author="" while case "$#" in 0) break;; esac do @@ -19,6 +20,11 @@ do shift ;; + --dry-run) + shift + dry_run=1 + ;; + --pa=*|--pat=*|--patc=*|--patch=*|--patche=*|--patches=*) QUILT_PATCHES=$(expr "$1" : '-[^=]*\(.*\)') shift @@ -75,8 +81,12 @@ for patch_name in $(cat "$QUILT_PATCHES/series" | grep -v '^#'); do if [ -n "$quilt_author" ] ; then GIT_AUTHOR_NAME="$quilt_author_name"; GIT_AUTHOR_EMAIL="$quilt_author_email"; + elif [ -n "$dry_run" ]; then + echo "No author found in $patch_name" >&2; + GIT_AUTHOR_NAME="dry-run-not-found"; + GIT_AUTHOR_EMAIL="dry-run-not-found"; else - echo "No author found in $patch_name"; + echo "No author found in $patch_name" >&2; echo "---" cat $tmp_msg echo -n "Author: "; @@ -98,9 +108,11 @@ for patch_name in $(cat "$QUILT_PATCHES/series" | grep -v '^#'); do SUBJECT=$(echo $patch_name | sed -e 's/.patch$//') fi - git-apply --index -C1 "$tmp_patch" && - tree=$(git-write-tree) && - commit=$((echo "$SUBJECT"; echo; cat "$tmp_msg") | git-commit-tree $tree -p $commit) && - git-update-ref HEAD $commit || exit 4 + if [ -z "$dry_run" ] ; then + git-apply --index -C1 "$tmp_patch" && + tree=$(git-write-tree) && + commit=$((echo "$SUBJECT"; echo; cat "$tmp_msg") | git-commit-tree $tree -p $commit) && + git-update-ref HEAD $commit || exit 4 + fi done rm -rf $tmp_dir || exit 5 |