Re: [RFC] undo and redo
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:42:04
Carl Baldwin [off-list ref] writes:
Attached are the two scripts. Comments and criticism are welcome.
An obligatory non-technical comment. I would have liked to see this not in a MIME multipart format, which made commenting on it a bit harder than necessary.
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=git-undo-script
#!/bin/sh
. git-sh-setup-script || die "Not a git archive"
if [ -n "$(git-diff-files)" ]; then
echo The following files should be updated!
echo
git-diff-files | awk '{print $6}'
fi
There is nothing wrong with the above, but I would have written
it like this (I think you forgot to exit after showing the list
of files):
git-update-cache --refresh || exit
Also nice to learn here is "git-diff-files --name-only".
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=git-redo-script
#!/bin/sh
. git-sh-setup-script || die "Not a git archive"
if [ -n "$(git-diff-files)" ]; then
echo The following files should be updated!
echo
git-diff-files | awk '{print $6}'
fiSame here.
currenttree=$(git-write-tree)
git-read-tree -u -m $basetree $currenttree $redotree
git-merge-cache git-merge-one-file-script -aInteresting. Very interesting.