Re: committing empty diffs
- From
Shawn O. Pearce <spearce@spearce.org>
- Date
- Feb 12, 2007, 20:10 UTC
- Message-ID
- <20070212201057.GC30440@spearce.org>
- In-Reply-To
- <20070212200324.GB30440@spearce.org>
"Shawn O. Pearce" <spearce@spearce.org> wrote:
Show 7 quoted lines
> Don Zickus <dzickus@gmail.com> 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 $headThe 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.