Best way to check for a "dirty" working tree?
- From
- Dirk Süsserott <newsletter@dirk.my1.cc>
- Date
- Jun 11, 2011, 14:54 UTC
- Message-ID
- <4DF381BF.3050301@dirk.my1.cc>
Hi list,
I have a script which moves data from somewhere to my local repo and then checks it in, like so:
----------- mv /tmp/foo.bar . git commit -am "Updated foo.bar at $timestamp" -----------
However, before overwriting "foo.bar" in my working directory, I'd like to check whether my working tree is dirty (at least "foo.bar").
I tried
A) if ! git diff-index --quiet HEAD -- foo.bar; then
dirty=1
fiand
B) if ! git diff --quiet -- foo.bar; then
dirty=1
fiBoth A) and B) work. But which one is better/faster/more reliable? Or is there a better solution? For my purpose, I cannot see a difference between diff and diff-index, except the syntax.
Cheers,
Dirk