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.