From: Junio C Hamano Date: Wed, 24 Aug 2005 18:18:42 GMT Subject: Re: [RFC] undo and redo Message-ID: <7vu0hfdwql.fsf@assigned-by-dhcp.cox.net> In-Reply-To: <20050824172339.GA7083@hpsvcnb.fc.hp.com> Carl Baldwin 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}' > fi Same here. > currenttree=$(git-write-tree) > git-read-tree -u -m $basetree $currenttree $redotree > git-merge-cache git-merge-one-file-script -a Interesting. Very interesting.