diff options
author | Shawn O. Pearce <spearce@spearce.org> | 2007-01-14 02:44:18 -0500 |
---|---|---|
committer | Shawn O. Pearce <spearce@spearce.org> | 2007-01-14 02:44:18 -0500 |
commit | 1fcdd62adf81a172f45c7c6a58177212d500b9d9 (patch) | |
tree | 94acde078fd78c3d214fe09d45e85ed346a2f2d4 /git-revert.sh | |
parent | Allow creating branches without committing in fast-import. (diff) | |
parent | git-commit documentation: -a adds and also removes (diff) | |
download | tgif-1fcdd62adf81a172f45c7c6a58177212d500b9d9.tar.xz |
Merge branch 'master' into sp/fast-import
I'm bringing master in early so that the OBJ_OFS_DELTA implementation
is available as part of the topic. This way git-fast-import can
learn about this new slightly smaller and faster packfile format,
and can generate them directly rather than needing to have them be
repacked with git-pack-objects.
Due to the API changes in master during the period of development
of git-fast-import, a few minor tweaks to fast-import.c are needed
to produce a working merge. I've done them here as part of the
merge to ensure bisection always works.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Diffstat (limited to 'git-revert.sh')
-rwxr-xr-x | git-revert.sh | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/git-revert.sh b/git-revert.sh index 2bf35d116c..fcca3ebb90 100755 --- a/git-revert.sh +++ b/git-revert.sh @@ -7,18 +7,22 @@ case "$0" in *-revert* ) test -t 0 && edit=-e + replay= me=revert USAGE='[--edit | --no-edit] [-n] <commit-ish>' ;; *-cherry-pick* ) + replay=t edit= me=cherry-pick - USAGE='[--edit] [-n] [-r] <commit-ish>' ;; + USAGE='[--edit] [-n] [-r] [-x] <commit-ish>' ;; * ) - die "What are you talking about?" ;; + echo >&2 "What are you talking about?" + exit 1 ;; esac . git-sh-setup +require_work_tree -no_commit= replay= +no_commit= while case "$#" in 0) break ;; esac do case "$1" in @@ -32,8 +36,10 @@ do --n|--no|--no-|--no-e|--no-ed|--no-edi|--no-edit) edit= ;; - -r|--r|--re|--rep|--repl|--repla|--replay) - replay=t + -r) + : no-op ;; + -x|--i-really-want-to-expose-my-private-commit-object-name) + replay= ;; -*) usage @@ -121,7 +127,7 @@ cherry-pick) git-cat-file commit $commit | sed -e '1,/^$/d' case "$replay" in '') - echo "(cherry picked from $commit commit)" + echo "(cherry picked from commit $commit)" test "$rev" = "$commit" || echo "(original 'git cherry-pick' arguments: $@)" ;; @@ -141,9 +147,18 @@ git-read-tree -m -u --aggressive $base $head $next && result=$(git-write-tree 2>/dev/null) || { echo >&2 "Simple $me fails; trying Automatic $me." git-merge-index -o git-merge-one-file -a || { + mv -f .msg "$GIT_DIR/MERGE_MSG" + { + echo ' +Conflicts: +' + git ls-files --unmerged | + sed -e 's/^[^ ]* / /' | + uniq + } >>"$GIT_DIR/MERGE_MSG" echo >&2 "Automatic $me failed. After resolving the conflicts," - echo >&2 "mark the corrected paths with 'git-update-index <paths>'" - echo >&2 "and commit with 'git commit -F .msg'" + echo >&2 "mark the corrected paths with 'git-add <paths>'" + echo >&2 "and commit the result." case "$me" in cherry-pick) echo >&2 "You may choose to use the following when making" |