How to pre-empt git pull merge error?
- From
- Pete Forman <petef4+usenet@gmail.com>
- Date
- Nov 27, 2013, 15:17 UTC
- Message-ID
- <86d2llc1rs.fsf@gmail.com>
I am looking for a way of detecting up front whether a git pull or git merge would fail. The sort of script I want to perform is to update a server.
git fetch
git okay
stop server
backup data
git merge
start serverHere git okay is a place holder for the command I am asking for.
If a file has been changed outside of a commit then git pull fails with the following error.
error: Your local changes to '...' would be overwritten by merge. Aborting. Please, commit your changes or stash them before you can merge.
I would like git okay to perform the pre-merge checks described in git merge and return non-zero status so that the script aborts before the server is stopped.
Possibilities I have looked for and not found include git merge --dry-run. My best line of thought is git status --porcelain | pre-merge-okay. That seems like a lot of work to make a pre-merge-okay that deals with things like benign untracked files.
I have also asked this question on Stack Overflow but received no answers.
http://stackoverflow.com/questions/20221383/
-- Pete Forman