Linus Torvalds <[EMAIL PROTECTED]> writes: >> It may not have the nicest error messages: if you try to revert a merge >> (which won't have a diff), git-apply will say something like >> >> fatal: No changes >> >> which isn't exactly being helpful. And the revert message could be made >> more interesting (like putting the first line of the description of what >> we reverted into the message instead of just the revision number).
> Comments? > > Linus I like the general idea, and if we had a commit pretty format "oneline", then something like this would make it look nicer. Totally untested. I acquired your habit of coding in my e-mail client ;-). #!/bin/sh . git-sh-setup-script || die "Not a git archive" rev=$(git-rev-parse --verify --revs-only "$@") && commit=$(git-rev-parse --verify --revs-only "$commit^0") || exit if git-diff-tree -R -p $commit | git-apply --index && msg=$(git-rev-list --pretty=oneline --max-count=1 $commit) then { echo "Revert $msg" echo echo "This reverts $commit commit." test "$rev" = "$commit" || echo "(original 'git revert' arguments: $@)" } | git commit else # Now why did it fail? parents=`git-cat-file commit "$commit" 2>/dev/null | sed -ne '/^$/q;/^parent /p' | wc -l` case $parents in 0) die "Cannot revert the root commit nor non commit-ish" ;; 1) die "The patch does not apply" ;; *) die "Cannot revert a merge commit" ;; esac fi - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html