How to check repository/working tree status from a script
- From
- Marc Haber <mh+git@zugschlus.de>
- Date
- May 19, 2009, 14:35 UTC
- Message-ID
- <20090519143537.GA23505@torres.zugschlus.de>
Hi,
I am kind of new to git, and my thinking is still somewhat svn-centric. Please keep this in mind just in case that I have misunderstood some of git's concepts.
I would like to check in a script whether there (a) are uncommitted changes (as in "working tree differs from local repository") and/or whether there (b) are unpulled changes in the "remote origin" repository.
I have to admit that I didn't bother about (b) yet, but for (a) there seems no possibility other than to parse git status' output since it seems to always return exit code 1:
$ GIT_PAGER=cat git status; echo $? # On branch master nothing to commit (working directory clean) 1 $ touch keks $ GIT_PAGER=cat git status; echo $? # On branch master # Untracked files: # (use "git add <file>..." to include in what will be committed) # # bla nothing added to commit but untracked files present (use "git add" to track) 1 $
Am I missing something here? Is there documentation about the exit codes of the different git subcommands or probably a complete solution for my two endeavours?
Any hints will be appreciated.
Greetings Marc
-- ----------------------------------------------------------------------------- Marc Haber | "I don't trust Computers. They | Mailadresse im Header Mannheim, Germany | lose things." Winona Ryder | Fon: *49 621 72739834 Nordisch by Nature | How to make an American Quilt | Fax: *49 3221 2323190