Hi,
I'm using the repository hosting features of Mercurial but I think i've encountered a bit of a show stopping bug. If I create a new hosted Mercurial repository, served via Read/Write HTTP, clone it, add some files, commit, and then push it back up, I get the following error:
remote: [2013-12-23 10:46:00] EXCEPTION: (CommandException) Command failed with error #1! remote: COMMAND remote: hg heads --template '{node}\1{branches}\2' remote: remote: STDOUT remote: (empty) remote: remote: STDERR remote: (empty) at [/root/phab/libphutil/src/future/exec/ExecFuture.php:398] remote: #0 ExecFuture::resolvex() called at [/root/phab/phabricator/src/applications/diffusion/engine/DiffusionCommitHookEngine.php:586] remote: #1 DiffusionCommitHookEngine::findMercurialChangegroupRefUpdates() called at [/root/phab/phabricator/src/applications/diffusion/engine/DiffusionCommitHookEngine.php:547] remote: #2 DiffusionCommitHookEngine::findMercurialRefUpdates() called at [/root/phab/phabricator/src/applications/diffusion/engine/DiffusionCommitHookEngine.php:174] remote: #3 DiffusionCommitHookEngine::findRefUpdates() called at [/root/phab/phabricator/src/applications/diffusion/engine/DiffusionCommitHookEngine.php:118] remote: #4 DiffusionCommitHookEngine::execute() called at [/root/phab/phabricator/scripts/repository/commit_hook.php:102] remote: transaction abort! remote: rollback completed remote: abort: pretxnchangegroup.phabricator hook exited with status 255
I've done this a few times with different repos and it's the same everytime. Should be pretty each to replicate, my config is pretty simple. Ubuntu 12.04 with Apache 2.2.22.
Now, if I go into ExecFuture.php:398 and simply comment out where it returns an error, the push then goes ahead and works fine. But obviously this isn't a great solution - it's just what i've done for now so it works.