[[!comment format=mdwn username="https://www.google.com/accounts/o8/id?id=AItOawkZktNHFhxC1kYA9KKdKpYJO4clq9WDsjE" nickname="Jason" subject="comment 5" date="2013-04-17T16:01:56Z" content=""" Using the git annex standalone binary has exactly the same action. It seems that the git annex standalone uses the system git instead of the one that's included. The git command \"git --git-dir=/home/jchu/annex/.git --work-tree=/home/jchu/annex commit --allow-empty-message -m --quiet\" hangs because it's waiting for a commit message \"vim .git/COMMIT_EDITMSG\". Having not looked too closely at the git source, I think I may have found what happened. The change happened in git 1.8.2 development. a24a41ea9a928ccde2db074ab0835c4817223c9d changed the code to only add \"\n\n\" to a commit message if it's entirely necessary, which means a completely blank commit message looks to the code on line 978 of commit.c \"if (logfile || message.len || use_message || fixup_message)\" as if it were actually empty instead of being considered \"\n\n\". Since this change only happened in 1.8.2, that's why when you run this code, it doesn't happen (any version before 1.8.2 shouldn't have this regression) but when I run it it does open the commit message editor. The --no-edit option has existed since 1.7.8 (ca1ba201). I don't know if you want to detect this case somehow or what, but I don't know if/when it's going to be fixed in git. As it stands, the git annex assistant is useless to me because it keeps hanging when trying to commit (the thing that I really wish I could trust it on!). """]]