From: Shawn O. Pearce Date: Mon, 12 Feb 2007 20:10:57 GMT Subject: Re: committing empty diffs Message-ID: <20070212201057.GC30440@spearce.org> In-Reply-To: <20070212200324.GB30440@spearce.org> "Shawn O. Pearce" wrote: > Don Zickus wrote: > > Considering git-commit doesn't allow this (probably for good reason), > > is it technically safe to do the following sequence of events? > > > > tree=$(git-write-tree) #basically the same tree HEAD points to > > commit=$(echo $IDEAS | git-commit-tree $tree -p HEAD) > > git-update-ref HEAD $commit HEAD This can also be written shorter, and safer: head=$(git-rev-parse --verify HEAD^0) commit=$(echo $IDEAS | git-commit-tree $head^{tree} -p $head) git-update-ref HEAD $commit $head The reason you do it like this is it prevents a HEAD which was modified between the time you did git-commit-tree and git-update-ref from being lost. And the write-tree is completely unnecessary, and might actually write out a dirty-index, which would make your ideas commit actually modifying files - not what you wanted. -- Shawn.