Page MenuHomePhabricator

Allow passing a null callback to `xsprintf`
ClosedPublic

Authored by joshuaspence on Feb 4 2015, 8:53 PM.
Tags
None
Referenced Files
F13141841: D11679.diff
Fri, May 3, 5:16 AM
Unknown Object (File)
Sat, Apr 27, 11:27 AM
Unknown Object (File)
Thu, Apr 25, 12:49 AM
Unknown Object (File)
Fri, Apr 19, 3:54 AM
Unknown Object (File)
Tue, Apr 9, 5:54 AM
Unknown Object (File)
Thu, Apr 4, 4:31 PM
Unknown Object (File)
Apr 1 2024, 6:50 AM
Unknown Object (File)
Mar 22 2024, 4:07 PM

Details

Summary

This is not very useful in general, but makes sense in the context of D11661.

Test Plan

See D11661.

Diff Detail

Repository
rPHU libphutil
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

joshuaspence retitled this revision from to Allow passing a null callback to `xsprintf`.
joshuaspence updated this object.
joshuaspence edited the test plan for this revision. (Show Details)
joshuaspence added a reviewer: epriestley.
epriestley edited edge metadata.
This revision is now accepted and ready to land.Feb 9 2015, 2:38 PM

I think this is totally reasonable, although maybe just having D11661 (which is probably a rare special case) provide a no-op stub would be slightly cleaner on the balance.

src/xsprintf/xsprintf.php
29

This is also technically wrong, now.

The ability to use a callback here to eventually handle %17$s and %'%3.3d in the linter (I think both are possible) is maybe an argument for using a stub instead of allowing null.

Yeah, I might just use the no-op stub.

src/xsprintf/xsprintf.php
70

Interesting. I thought that this would fail if $callback was array($this, 'xsprintfCallback') but PHP is fine with this.

richardvanvelzen added inline comments.
src/xsprintf/xsprintf.php
70

Only since PHP 5.3. 5.2 requires a string for dynamic function calls.

Ah interesting. In this case, I will need to change this to call_user_func for D11661.

That's probably a good idea anyway, the $callback(...) syntax is pretty gross and unconventional in modern Phabricator.

Hmm, one issue here is that parameters to call_user_func are not passed by reference.

As such, maybe a null callback isn't such a bad idea.

This revision is now accepted and ready to land.Feb 9 2015, 9:14 PM

I had tried this:

call_user_func($callback, $userdata, $pattern, $pos, $argv[$arg], $len);

But it failed so hard that I couldn't even submit the diff:

[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:30]
  #3 PhutilCommandString::getMaskedString() called at [<phutil>/src/xsprintf/PhutilCommandString.php:18]
  #4 PhutilCommandString::__construct(array) called at [<phutil>/src/xsprintf/csprintf.php:36]
  #5 csprintf(string, string, string)
  #6 call_user_func_array(string, array) called at [<phutil>/src/future/exec/ExecFuture.php:71]
  #7 ExecFuture::__construct(string, string, string)
  #8 ReflectionClass::newInstanceArgs(array) called at [<phutil>/src/utils/utils.php:662]
  #9 newv(string, array) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:27]
  #10 ArcanistGitAPI::buildLocalFuture(array) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:590]
  #11 ArcanistGitAPI::buildUncommittedStatus() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:138]
  #12 ArcanistRepositoryAPI::getUncommittedStatus() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:199]
  #13 ArcanistRepositoryAPI::getUncommittedPathsWithMask(integer) called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:150]
  #14 ArcanistRepositoryAPI::getUntrackedChanges() called at [<arcanist>/src/workflow/ArcanistWorkflow.php:840]
  #15 ArcanistWorkflow::requireCleanWorkingCopy() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:642]
  #16 ArcanistDiffWorkflow::runDiffSetupBasics() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:431]
  #17 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:30]
  #3 PhutilCommandString::getMaskedString() called at [<phutil>/src/xsprintf/PhutilCommandString.php:18]
  #4 PhutilCommandString::__construct(array) called at [<phutil>/src/xsprintf/csprintf.php:36]
  #5 csprintf(string, string, string)
  #6 call_user_func_array(string, array) called at [<phutil>/src/future/exec/ExecFuture.php:71]
  #7 ExecFuture::__construct(string, string, string)
  #8 ReflectionClass::newInstanceArgs(array) called at [<phutil>/src/utils/utils.php:662]
  #9 newv(string, array) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:27]
  #10 ArcanistGitAPI::buildLocalFuture(array) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:590]
  #11 ArcanistGitAPI::buildUncommittedStatus() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:138]
  #12 ArcanistRepositoryAPI::getUncommittedStatus() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:199]
  #13 ArcanistRepositoryAPI::getUncommittedPathsWithMask(integer) called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:150]
  #14 ArcanistRepositoryAPI::getUntrackedChanges() called at [<arcanist>/src/workflow/ArcanistWorkflow.php:840]
  #15 ArcanistWorkflow::requireCleanWorkingCopy() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:642]
  #16 ArcanistDiffWorkflow::runDiffSetupBasics() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:431]
  #17 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:30]
  #3 PhutilCommandString::getMaskedString() called at [<phutil>/src/xsprintf/PhutilCommandString.php:22]
  #4 PhutilCommandString::__toString() called at [<phutil>/src/future/exec/ExecFuture.php:611]
  #5 ExecFuture::isReady() called at [<phutil>/src/future/FutureIterator.php:198]
  #6 FutureIterator::next() called at [<phutil>/src/future/FutureIterator.php:165]
  #7 FutureIterator::rewind() called at [<phutil>/src/future/FutureIterator.php:66]
  #8 FutureIterator::resolveAll() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:612]
  #9 ArcanistGitAPI::buildUncommittedStatus() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:138]
  #10 ArcanistRepositoryAPI::getUncommittedStatus() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:199]
  #11 ArcanistRepositoryAPI::getUncommittedPathsWithMask(integer) called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:150]
  #12 ArcanistRepositoryAPI::getUntrackedChanges() called at [<arcanist>/src/workflow/ArcanistWorkflow.php:840]
  #13 ArcanistWorkflow::requireCleanWorkingCopy() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:642]
  #14 ArcanistDiffWorkflow::runDiffSetupBasics() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:431]
  #15 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:30]
  #3 PhutilCommandString::getMaskedString() called at [<phutil>/src/xsprintf/PhutilCommandString.php:22]
  #4 PhutilCommandString::__toString() called at [<phutil>/src/future/exec/ExecFuture.php:611]
  #5 ExecFuture::isReady() called at [<phutil>/src/future/FutureIterator.php:198]
  #6 FutureIterator::next() called at [<phutil>/src/future/FutureIterator.php:165]
  #7 FutureIterator::rewind() called at [<phutil>/src/future/FutureIterator.php:66]
  #8 FutureIterator::resolveAll() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:612]
  #9 ArcanistGitAPI::buildUncommittedStatus() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:138]
  #10 ArcanistRepositoryAPI::getUncommittedStatus() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:199]
  #11 ArcanistRepositoryAPI::getUncommittedPathsWithMask(integer) called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:150]
  #12 ArcanistRepositoryAPI::getUntrackedChanges() called at [<arcanist>/src/workflow/ArcanistWorkflow.php:840]
  #13 ArcanistWorkflow::requireCleanWorkingCopy() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:642]
  #14 ArcanistDiffWorkflow::runDiffSetupBasics() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:431]
  #15 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:26]
  #3 PhutilCommandString::getUnmaskedString() called at [<phutil>/src/future/exec/ExecFuture.php:622]
  #4 ExecFuture::isReady() called at [<phutil>/src/future/FutureIterator.php:198]
  #5 FutureIterator::next() called at [<phutil>/src/future/FutureIterator.php:165]
  #6 FutureIterator::rewind() called at [<phutil>/src/future/FutureIterator.php:66]
  #7 FutureIterator::resolveAll() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:612]
  #8 ArcanistGitAPI::buildUncommittedStatus() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:138]
  #9 ArcanistRepositoryAPI::getUncommittedStatus() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:199]
  #10 ArcanistRepositoryAPI::getUncommittedPathsWithMask(integer) called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:150]
  #11 ArcanistRepositoryAPI::getUntrackedChanges() called at [<arcanist>/src/workflow/ArcanistWorkflow.php:840]
  #12 ArcanistWorkflow::requireCleanWorkingCopy() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:642]
  #13 ArcanistDiffWorkflow::runDiffSetupBasics() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:431]
  #14 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:26]
  #3 PhutilCommandString::getUnmaskedString() called at [<phutil>/src/future/exec/ExecFuture.php:622]
  #4 ExecFuture::isReady() called at [<phutil>/src/future/FutureIterator.php:198]
  #5 FutureIterator::next() called at [<phutil>/src/future/FutureIterator.php:165]
  #6 FutureIterator::rewind() called at [<phutil>/src/future/FutureIterator.php:66]
  #7 FutureIterator::resolveAll() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:612]
  #8 ArcanistGitAPI::buildUncommittedStatus() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:138]
  #9 ArcanistRepositoryAPI::getUncommittedStatus() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:199]
  #10 ArcanistRepositoryAPI::getUncommittedPathsWithMask(integer) called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:150]
  #11 ArcanistRepositoryAPI::getUntrackedChanges() called at [<arcanist>/src/workflow/ArcanistWorkflow.php:840]
  #12 ArcanistWorkflow::requireCleanWorkingCopy() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:642]
  #13 ArcanistDiffWorkflow::runDiffSetupBasics() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:431]
  #14 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:30]
  #3 PhutilCommandString::getMaskedString() called at [<phutil>/src/xsprintf/PhutilCommandString.php:18]
  #4 PhutilCommandString::__construct(array) called at [<phutil>/src/xsprintf/csprintf.php:36]
  #5 csprintf(string, string)
  #6 call_user_func_array(string, array) called at [<phutil>/src/future/exec/ExecFuture.php:71]
  #7 ExecFuture::__construct(string, string)
  #8 ReflectionClass::newInstanceArgs(array) called at [<phutil>/src/utils/utils.php:662]
  #9 newv(string, array) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:27]
  #10 ArcanistGitAPI::buildLocalFuture(array) called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:399]
  #11 ArcanistRepositoryAPI::execManualLocal(string, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:385]
  #12 ArcanistGitAPI::resolveCommit(string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:365]
  #13 ArcanistGitAPI::getHeadCommit() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:214]
  #14 ArcanistGitAPI::buildBaseCommit(string) called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:587]
  #15 ArcanistRepositoryAPI::getBaseCommit() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:499]
  #16 ArcanistGitAPI::getGitCommitLog() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:983]
  #17 ArcanistGitAPI::loadWorkingCopyDifferentialRevisions(ConduitClient, array) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1447]
  #18 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #19 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:30]
  #3 PhutilCommandString::getMaskedString() called at [<phutil>/src/xsprintf/PhutilCommandString.php:22]
  #4 PhutilCommandString::__toString() called at [<phutil>/src/future/exec/ExecFuture.php:611]
  #5 ExecFuture::isReady() called at [<phutil>/src/future/Future.php:39]
  #6 Future::resolve() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:399]
  #7 ArcanistRepositoryAPI::execManualLocal(string, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:385]
  #8 ArcanistGitAPI::resolveCommit(string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:365]
  #9 ArcanistGitAPI::getHeadCommit() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:214]
  #10 ArcanistGitAPI::buildBaseCommit(string) called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:587]
  #11 ArcanistRepositoryAPI::getBaseCommit() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:499]
  #12 ArcanistGitAPI::getGitCommitLog() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:983]
  #13 ArcanistGitAPI::loadWorkingCopyDifferentialRevisions(ConduitClient, array) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1447]
  #14 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #15 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:26]
  #3 PhutilCommandString::getUnmaskedString() called at [<phutil>/src/future/exec/ExecFuture.php:622]
  #4 ExecFuture::isReady() called at [<phutil>/src/future/Future.php:39]
  #5 Future::resolve() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:399]
  #6 ArcanistRepositoryAPI::execManualLocal(string, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:385]
  #7 ArcanistGitAPI::resolveCommit(string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:365]
  #8 ArcanistGitAPI::getHeadCommit() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:214]
  #9 ArcanistGitAPI::buildBaseCommit(string) called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:587]
  #10 ArcanistRepositoryAPI::getBaseCommit() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:499]
  #11 ArcanistGitAPI::getGitCommitLog() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:983]
  #12 ArcanistGitAPI::loadWorkingCopyDifferentialRevisions(ConduitClient, array) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1447]
  #13 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #14 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:30]
  #3 PhutilCommandString::getMaskedString() called at [<phutil>/src/xsprintf/PhutilCommandString.php:18]
  #4 PhutilCommandString::__construct(array) called at [<phutil>/src/xsprintf/csprintf.php:36]
  #5 csprintf(string, string, string)
  #6 call_user_func_array(string, array) called at [<phutil>/src/future/exec/ExecFuture.php:71]
  #7 ExecFuture::__construct(string, string, string)
  #8 ReflectionClass::newInstanceArgs(array) called at [<phutil>/src/utils/utils.php:662]
  #9 newv(string, array) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:27]
  #10 ArcanistGitAPI::buildLocalFuture(array) called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:399]
  #11 ArcanistRepositoryAPI::execManualLocal(string, string, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:214]
  #12 ArcanistGitAPI::buildBaseCommit(string) called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:587]
  #13 ArcanistRepositoryAPI::getBaseCommit() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:499]
  #14 ArcanistGitAPI::getGitCommitLog() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:983]
  #15 ArcanistGitAPI::loadWorkingCopyDifferentialRevisions(ConduitClient, array) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1447]
  #16 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #17 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:30]
  #3 PhutilCommandString::getMaskedString() called at [<phutil>/src/xsprintf/PhutilCommandString.php:18]
  #4 PhutilCommandString::__construct(array) called at [<phutil>/src/xsprintf/csprintf.php:36]
  #5 csprintf(string, string, string)
  #6 call_user_func_array(string, array) called at [<phutil>/src/future/exec/ExecFuture.php:71]
  #7 ExecFuture::__construct(string, string, string)
  #8 ReflectionClass::newInstanceArgs(array) called at [<phutil>/src/utils/utils.php:662]
  #9 newv(string, array) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:27]
  #10 ArcanistGitAPI::buildLocalFuture(array) called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:399]
  #11 ArcanistRepositoryAPI::execManualLocal(string, string, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:214]
  #12 ArcanistGitAPI::buildBaseCommit(string) called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:587]
  #13 ArcanistRepositoryAPI::getBaseCommit() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:499]
  #14 ArcanistGitAPI::getGitCommitLog() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:983]
  #15 ArcanistGitAPI::loadWorkingCopyDifferentialRevisions(ConduitClient, array) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1447]
  #16 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #17 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:30]
  #3 PhutilCommandString::getMaskedString() called at [<phutil>/src/xsprintf/PhutilCommandString.php:22]
  #4 PhutilCommandString::__toString() called at [<phutil>/src/future/exec/ExecFuture.php:611]
  #5 ExecFuture::isReady() called at [<phutil>/src/future/Future.php:39]
  #6 Future::resolve() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:399]
  #7 ArcanistRepositoryAPI::execManualLocal(string, string, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:214]
  #8 ArcanistGitAPI::buildBaseCommit(string) called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:587]
  #9 ArcanistRepositoryAPI::getBaseCommit() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:499]
  #10 ArcanistGitAPI::getGitCommitLog() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:983]
  #11 ArcanistGitAPI::loadWorkingCopyDifferentialRevisions(ConduitClient, array) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1447]
  #12 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #13 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:30]
  #3 PhutilCommandString::getMaskedString() called at [<phutil>/src/xsprintf/PhutilCommandString.php:22]
  #4 PhutilCommandString::__toString() called at [<phutil>/src/future/exec/ExecFuture.php:611]
  #5 ExecFuture::isReady() called at [<phutil>/src/future/Future.php:39]
  #6 Future::resolve() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:399]
  #7 ArcanistRepositoryAPI::execManualLocal(string, string, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:214]
  #8 ArcanistGitAPI::buildBaseCommit(string) called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:587]
  #9 ArcanistRepositoryAPI::getBaseCommit() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:499]
  #10 ArcanistGitAPI::getGitCommitLog() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:983]
  #11 ArcanistGitAPI::loadWorkingCopyDifferentialRevisions(ConduitClient, array) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1447]
  #12 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #13 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:26]
  #3 PhutilCommandString::getUnmaskedString() called at [<phutil>/src/future/exec/ExecFuture.php:622]
  #4 ExecFuture::isReady() called at [<phutil>/src/future/Future.php:39]
  #5 Future::resolve() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:399]
  #6 ArcanistRepositoryAPI::execManualLocal(string, string, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:214]
  #7 ArcanistGitAPI::buildBaseCommit(string) called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:587]
  #8 ArcanistRepositoryAPI::getBaseCommit() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:499]
  #9 ArcanistGitAPI::getGitCommitLog() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:983]
  #10 ArcanistGitAPI::loadWorkingCopyDifferentialRevisions(ConduitClient, array) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1447]
  #11 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #12 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:26]
  #3 PhutilCommandString::getUnmaskedString() called at [<phutil>/src/future/exec/ExecFuture.php:622]
  #4 ExecFuture::isReady() called at [<phutil>/src/future/Future.php:39]
  #5 Future::resolve() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:399]
  #6 ArcanistRepositoryAPI::execManualLocal(string, string, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:214]
  #7 ArcanistGitAPI::buildBaseCommit(string) called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:587]
  #8 ArcanistRepositoryAPI::getBaseCommit() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:499]
  #9 ArcanistGitAPI::getGitCommitLog() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:983]
  #10 ArcanistGitAPI::loadWorkingCopyDifferentialRevisions(ConduitClient, array) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1447]
  #11 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #12 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:30]
  #3 PhutilCommandString::getMaskedString() called at [<phutil>/src/xsprintf/PhutilCommandString.php:18]
  #4 PhutilCommandString::__construct(array) called at [<phutil>/src/xsprintf/csprintf.php:36]
  #5 csprintf(string, string, string)
  #6 call_user_func_array(string, array) called at [<phutil>/src/future/exec/ExecFuture.php:71]
  #7 ExecFuture::__construct(string, string, string)
  #8 ReflectionClass::newInstanceArgs(array) called at [<phutil>/src/utils/utils.php:662]
  #9 newv(string, array) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:27]
  #10 ArcanistGitAPI::buildLocalFuture(array) called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:394]
  #11 ArcanistRepositoryAPI::execxLocal(string, string, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:512]
  #12 ArcanistGitAPI::getGitCommitLog() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:983]
  #13 ArcanistGitAPI::loadWorkingCopyDifferentialRevisions(ConduitClient, array) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1447]
  #14 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #15 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:30]
  #3 PhutilCommandString::getMaskedString() called at [<phutil>/src/xsprintf/PhutilCommandString.php:18]
  #4 PhutilCommandString::__construct(array) called at [<phutil>/src/xsprintf/csprintf.php:36]
  #5 csprintf(string, string, string)
  #6 call_user_func_array(string, array) called at [<phutil>/src/future/exec/ExecFuture.php:71]
  #7 ExecFuture::__construct(string, string, string)
  #8 ReflectionClass::newInstanceArgs(array) called at [<phutil>/src/utils/utils.php:662]
  #9 newv(string, array) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:27]
  #10 ArcanistGitAPI::buildLocalFuture(array) called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:394]
  #11 ArcanistRepositoryAPI::execxLocal(string, string, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:512]
  #12 ArcanistGitAPI::getGitCommitLog() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:983]
  #13 ArcanistGitAPI::loadWorkingCopyDifferentialRevisions(ConduitClient, array) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1447]
  #14 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #15 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:30]
  #3 PhutilCommandString::getMaskedString() called at [<phutil>/src/xsprintf/PhutilCommandString.php:22]
  #4 PhutilCommandString::__toString() called at [<phutil>/src/future/exec/ExecFuture.php:611]
  #5 ExecFuture::isReady() called at [<phutil>/src/future/Future.php:39]
  #6 Future::resolve(NULL) called at [<phutil>/src/future/exec/ExecFuture.php:394]
  #7 ExecFuture::resolvex() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:394]
  #8 ArcanistRepositoryAPI::execxLocal(string, string, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:512]
  #9 ArcanistGitAPI::getGitCommitLog() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:983]
  #10 ArcanistGitAPI::loadWorkingCopyDifferentialRevisions(ConduitClient, array) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1447]
  #11 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #12 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:30]
  #3 PhutilCommandString::getMaskedString() called at [<phutil>/src/xsprintf/PhutilCommandString.php:22]
  #4 PhutilCommandString::__toString() called at [<phutil>/src/future/exec/ExecFuture.php:611]
  #5 ExecFuture::isReady() called at [<phutil>/src/future/Future.php:39]
  #6 Future::resolve(NULL) called at [<phutil>/src/future/exec/ExecFuture.php:394]
  #7 ExecFuture::resolvex() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:394]
  #8 ArcanistRepositoryAPI::execxLocal(string, string, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:512]
  #9 ArcanistGitAPI::getGitCommitLog() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:983]
  #10 ArcanistGitAPI::loadWorkingCopyDifferentialRevisions(ConduitClient, array) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1447]
  #11 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #12 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:26]
  #3 PhutilCommandString::getUnmaskedString() called at [<phutil>/src/future/exec/ExecFuture.php:622]
  #4 ExecFuture::isReady() called at [<phutil>/src/future/Future.php:39]
  #5 Future::resolve(NULL) called at [<phutil>/src/future/exec/ExecFuture.php:394]
  #6 ExecFuture::resolvex() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:394]
  #7 ArcanistRepositoryAPI::execxLocal(string, string, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:512]
  #8 ArcanistGitAPI::getGitCommitLog() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:983]
  #9 ArcanistGitAPI::loadWorkingCopyDifferentialRevisions(ConduitClient, array) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1447]
  #10 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #11 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:26]
  #3 PhutilCommandString::getUnmaskedString() called at [<phutil>/src/future/exec/ExecFuture.php:622]
  #4 ExecFuture::isReady() called at [<phutil>/src/future/Future.php:39]
  #5 Future::resolve(NULL) called at [<phutil>/src/future/exec/ExecFuture.php:394]
  #6 ExecFuture::resolvex() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:394]
  #7 ArcanistRepositoryAPI::execxLocal(string, string, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:512]
  #8 ArcanistGitAPI::getGitCommitLog() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:983]
  #9 ArcanistGitAPI::loadWorkingCopyDifferentialRevisions(ConduitClient, array) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1447]
  #10 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #11 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:30]
  #3 PhutilCommandString::getMaskedString() called at [<phutil>/src/xsprintf/PhutilCommandString.php:18]
  #4 PhutilCommandString::__construct(array) called at [<phutil>/src/xsprintf/csprintf.php:36]
  #5 csprintf(string, string, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:157]
  #6 ArcanistGitAPI::getLocalCommitInformation() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:1021]
  #7 ArcanistGitAPI::loadWorkingCopyDifferentialRevisions(ConduitClient, array) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1447]
  #8 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #9 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:30]
  #3 PhutilCommandString::getMaskedString() called at [<phutil>/src/xsprintf/PhutilCommandString.php:18]
  #4 PhutilCommandString::__construct(array) called at [<phutil>/src/xsprintf/csprintf.php:36]
  #5 csprintf(string, string, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:157]
  #6 ArcanistGitAPI::getLocalCommitInformation() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:1021]
  #7 ArcanistGitAPI::loadWorkingCopyDifferentialRevisions(ConduitClient, array) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1447]
  #8 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #9 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:30]
  #3 PhutilCommandString::getMaskedString() called at [<phutil>/src/xsprintf/PhutilCommandString.php:18]
  #4 PhutilCommandString::__construct(array) called at [<phutil>/src/xsprintf/csprintf.php:36]
  #5 csprintf(string, PhutilCommandString, string)
  #6 call_user_func_array(string, array) called at [<phutil>/src/future/exec/ExecFuture.php:71]
  #7 ExecFuture::__construct(string, PhutilCommandString, string)
  #8 ReflectionClass::newInstanceArgs(array) called at [<phutil>/src/utils/utils.php:662]
  #9 newv(string, array) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:27]
  #10 ArcanistGitAPI::buildLocalFuture(array) called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:394]
  #11 ArcanistRepositoryAPI::execxLocal(string, PhutilCommandString, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:173]
  #12 ArcanistGitAPI::getLocalCommitInformation() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:1021]
  #13 ArcanistGitAPI::loadWorkingCopyDifferentialRevisions(ConduitClient, array) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1447]
  #14 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #15 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:30]
  #3 PhutilCommandString::getMaskedString() called at [<phutil>/src/xsprintf/PhutilCommandString.php:18]
  #4 PhutilCommandString::__construct(array) called at [<phutil>/src/xsprintf/csprintf.php:36]
  #5 csprintf(string, PhutilCommandString, string)
  #6 call_user_func_array(string, array) called at [<phutil>/src/future/exec/ExecFuture.php:71]
  #7 ExecFuture::__construct(string, PhutilCommandString, string)
  #8 ReflectionClass::newInstanceArgs(array) called at [<phutil>/src/utils/utils.php:662]
  #9 newv(string, array) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:27]
  #10 ArcanistGitAPI::buildLocalFuture(array) called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:394]
  #11 ArcanistRepositoryAPI::execxLocal(string, PhutilCommandString, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:173]
  #12 ArcanistGitAPI::getLocalCommitInformation() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:1021]
  #13 ArcanistGitAPI::loadWorkingCopyDifferentialRevisions(ConduitClient, array) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1447]
  #14 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #15 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:30]
  #3 PhutilCommandString::getMaskedString() called at [<phutil>/src/xsprintf/PhutilCommandString.php:22]
  #4 PhutilCommandString::__toString() called at [<phutil>/src/future/exec/ExecFuture.php:611]
  #5 ExecFuture::isReady() called at [<phutil>/src/future/Future.php:39]
  #6 Future::resolve(NULL) called at [<phutil>/src/future/exec/ExecFuture.php:394]
  #7 ExecFuture::resolvex() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:394]
  #8 ArcanistRepositoryAPI::execxLocal(string, PhutilCommandString, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:173]
  #9 ArcanistGitAPI::getLocalCommitInformation() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:1021]
  #10 ArcanistGitAPI::loadWorkingCopyDifferentialRevisions(ConduitClient, array) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1447]
  #11 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #12 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:30]
  #3 PhutilCommandString::getMaskedString() called at [<phutil>/src/xsprintf/PhutilCommandString.php:22]
  #4 PhutilCommandString::__toString() called at [<phutil>/src/future/exec/ExecFuture.php:611]
  #5 ExecFuture::isReady() called at [<phutil>/src/future/Future.php:39]
  #6 Future::resolve(NULL) called at [<phutil>/src/future/exec/ExecFuture.php:394]
  #7 ExecFuture::resolvex() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:394]
  #8 ArcanistRepositoryAPI::execxLocal(string, PhutilCommandString, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:173]
  #9 ArcanistGitAPI::getLocalCommitInformation() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:1021]
  #10 ArcanistGitAPI::loadWorkingCopyDifferentialRevisions(ConduitClient, array) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1447]
  #11 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #12 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:26]
  #3 PhutilCommandString::getUnmaskedString() called at [<phutil>/src/future/exec/ExecFuture.php:622]
  #4 ExecFuture::isReady() called at [<phutil>/src/future/Future.php:39]
  #5 Future::resolve(NULL) called at [<phutil>/src/future/exec/ExecFuture.php:394]
  #6 ExecFuture::resolvex() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:394]
  #7 ArcanistRepositoryAPI::execxLocal(string, PhutilCommandString, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:173]
  #8 ArcanistGitAPI::getLocalCommitInformation() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:1021]
  #9 ArcanistGitAPI::loadWorkingCopyDifferentialRevisions(ConduitClient, array) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1447]
  #10 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #11 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:27] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:26]
  #3 PhutilCommandString::getUnmaskedString() called at [<phutil>/src/future/exec/ExecFuture.php:622]
  #4 ExecFuture::isReady() called at [<phutil>/src/future/Future.php:39]
  #5 Future::resolve(NULL) called at [<phutil>/src/future/exec/ExecFuture.php:394]
  #6 ExecFuture::resolvex() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:394]
  #7 ArcanistRepositoryAPI::execxLocal(string, PhutilCommandString, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:173]
  #8 ArcanistGitAPI::getLocalCommitInformation() called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:1021]
  #9 ArcanistGitAPI::loadWorkingCopyDifferentialRevisions(ConduitClient, array) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1447]
  #10 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #11 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:28] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:30]
  #3 PhutilCommandString::getMaskedString() called at [<phutil>/src/xsprintf/PhutilCommandString.php:18]
  #4 PhutilCommandString::__construct(array) called at [<phutil>/src/xsprintf/csprintf.php:36]
  #5 csprintf(string, string, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:157]
  #6 ArcanistGitAPI::getLocalCommitInformation() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1857]
  #7 ArcanistDiffWorkflow::getDefaultCreateFields() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1543]
  #8 ArcanistDiffWorkflow::getCommitMessageFromUser() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1468]
  #9 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #10 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:28] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:30]
  #3 PhutilCommandString::getMaskedString() called at [<phutil>/src/xsprintf/PhutilCommandString.php:18]
  #4 PhutilCommandString::__construct(array) called at [<phutil>/src/xsprintf/csprintf.php:36]
  #5 csprintf(string, string, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:157]
  #6 ArcanistGitAPI::getLocalCommitInformation() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1857]
  #7 ArcanistDiffWorkflow::getDefaultCreateFields() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1543]
  #8 ArcanistDiffWorkflow::getCommitMessageFromUser() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1468]
  #9 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #10 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:28] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:30]
  #3 PhutilCommandString::getMaskedString() called at [<phutil>/src/xsprintf/PhutilCommandString.php:18]
  #4 PhutilCommandString::__construct(array) called at [<phutil>/src/xsprintf/csprintf.php:36]
  #5 csprintf(string, PhutilCommandString, string)
  #6 call_user_func_array(string, array) called at [<phutil>/src/future/exec/ExecFuture.php:71]
  #7 ExecFuture::__construct(string, PhutilCommandString, string)
  #8 ReflectionClass::newInstanceArgs(array) called at [<phutil>/src/utils/utils.php:662]
  #9 newv(string, array) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:27]
  #10 ArcanistGitAPI::buildLocalFuture(array) called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:394]
  #11 ArcanistRepositoryAPI::execxLocal(string, PhutilCommandString, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:173]
  #12 ArcanistGitAPI::getLocalCommitInformation() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1857]
  #13 ArcanistDiffWorkflow::getDefaultCreateFields() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1543]
  #14 ArcanistDiffWorkflow::getCommitMessageFromUser() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1468]
  #15 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #16 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:28] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:30]
  #3 PhutilCommandString::getMaskedString() called at [<phutil>/src/xsprintf/PhutilCommandString.php:18]
  #4 PhutilCommandString::__construct(array) called at [<phutil>/src/xsprintf/csprintf.php:36]
  #5 csprintf(string, PhutilCommandString, string)
  #6 call_user_func_array(string, array) called at [<phutil>/src/future/exec/ExecFuture.php:71]
  #7 ExecFuture::__construct(string, PhutilCommandString, string)
  #8 ReflectionClass::newInstanceArgs(array) called at [<phutil>/src/utils/utils.php:662]
  #9 newv(string, array) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:27]
  #10 ArcanistGitAPI::buildLocalFuture(array) called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:394]
  #11 ArcanistRepositoryAPI::execxLocal(string, PhutilCommandString, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:173]
  #12 ArcanistGitAPI::getLocalCommitInformation() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1857]
  #13 ArcanistDiffWorkflow::getDefaultCreateFields() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1543]
  #14 ArcanistDiffWorkflow::getCommitMessageFromUser() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1468]
  #15 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #16 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:28] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:30]
  #3 PhutilCommandString::getMaskedString() called at [<phutil>/src/xsprintf/PhutilCommandString.php:22]
  #4 PhutilCommandString::__toString() called at [<phutil>/src/future/exec/ExecFuture.php:611]
  #5 ExecFuture::isReady() called at [<phutil>/src/future/Future.php:39]
  #6 Future::resolve(NULL) called at [<phutil>/src/future/exec/ExecFuture.php:394]
  #7 ExecFuture::resolvex() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:394]
  #8 ArcanistRepositoryAPI::execxLocal(string, PhutilCommandString, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:173]
  #9 ArcanistGitAPI::getLocalCommitInformation() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1857]
  #10 ArcanistDiffWorkflow::getDefaultCreateFields() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1543]
  #11 ArcanistDiffWorkflow::getCommitMessageFromUser() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1468]
  #12 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #13 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:28] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:30]
  #3 PhutilCommandString::getMaskedString() called at [<phutil>/src/xsprintf/PhutilCommandString.php:22]
  #4 PhutilCommandString::__toString() called at [<phutil>/src/future/exec/ExecFuture.php:611]
  #5 ExecFuture::isReady() called at [<phutil>/src/future/Future.php:39]
  #6 Future::resolve(NULL) called at [<phutil>/src/future/exec/ExecFuture.php:394]
  #7 ExecFuture::resolvex() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:394]
  #8 ArcanistRepositoryAPI::execxLocal(string, PhutilCommandString, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:173]
  #9 ArcanistGitAPI::getLocalCommitInformation() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1857]
  #10 ArcanistDiffWorkflow::getDefaultCreateFields() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1543]
  #11 ArcanistDiffWorkflow::getCommitMessageFromUser() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1468]
  #12 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #13 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:28] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:26]
  #3 PhutilCommandString::getUnmaskedString() called at [<phutil>/src/future/exec/ExecFuture.php:622]
  #4 ExecFuture::isReady() called at [<phutil>/src/future/Future.php:39]
  #5 Future::resolve(NULL) called at [<phutil>/src/future/exec/ExecFuture.php:394]
  #6 ExecFuture::resolvex() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:394]
  #7 ArcanistRepositoryAPI::execxLocal(string, PhutilCommandString, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:173]
  #8 ArcanistGitAPI::getLocalCommitInformation() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1857]
  #9 ArcanistDiffWorkflow::getDefaultCreateFields() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1543]
  #10 ArcanistDiffWorkflow::getCommitMessageFromUser() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1468]
  #11 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #12 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
[2015-02-09 21:12:28] ERROR 2: Parameter 2 to xsprintf_command() expected to be a reference, value given at [/home/joshua/workspace/github.com/phacility/libphutil/src/xsprintf/xsprintf.php:71]
  #0 call_user_func_array(string, array) called at [<phutil>/src/xsprintf/xsprintf.php:71]
  #1 xsprintf(string, array, array) called at [<phutil>/src/xsprintf/PhutilCommandString.php:45]
  #2 PhutilCommandString::renderString(boolean) called at [<phutil>/src/xsprintf/PhutilCommandString.php:26]
  #3 PhutilCommandString::getUnmaskedString() called at [<phutil>/src/future/exec/ExecFuture.php:622]
  #4 ExecFuture::isReady() called at [<phutil>/src/future/Future.php:39]
  #5 Future::resolve(NULL) called at [<phutil>/src/future/exec/ExecFuture.php:394]
  #6 ExecFuture::resolvex() called at [<arcanist>/src/repository/api/ArcanistRepositoryAPI.php:394]
  #7 ArcanistRepositoryAPI::execxLocal(string, PhutilCommandString, string) called at [<arcanist>/src/repository/api/ArcanistGitAPI.php:173]
  #8 ArcanistGitAPI::getLocalCommitInformation() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1857]
  #9 ArcanistDiffWorkflow::getDefaultCreateFields() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1543]
  #10 ArcanistDiffWorkflow::getCommitMessageFromUser() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1468]
  #11 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:433]
  #12 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:378]
Usage Exception: Invalid 'Differential Revision' field. The field should have a Phabricator URI like 'http://phabricator.example.com/D123', but has '1205'.

I think this works:

call_user_func_array($callback, array($userdata, &$pattern, &$pos, &$value, &$length));

Er, I copied the parameters from the wrong place.

call_user_func_array($callback, array($userdata, &$pattern, &$pos, &$argv[$arg], &$len));

But null would be fine too.

Wouldn't that constitute call-time pass-by-reference? (which is removed in PHP 5.4)

It only counts if the reference is a direct child of a call.

PHP is lol.

joshuaspence edited edge metadata.

Use call_user_func_array

It only counts if the reference is a direct child of a call.

PHP is lol.

I don't follow.

This is call-time pass-by-reference:

f(&$x);

This isn't:

f($y);

...even if the definition of $y is one of these:

$y = &$value;
$y = array(&$value);

Gotcha. Does that mean that my call-time pass-by-reference lint is wrong? :(

Another way to put it is that with call-time pass-by-reference, suppose we have:

function f($v) {
  $v++;
}

And then:

$x = 0;

Then, these two statements have different meanings:

f(&$x);      // Call-time pass-by-reference, $x == 1 now. The "&" has transformed f() into a by-ref function.
f($y = &$x); // This is *not* call-time pass-by-reference, $x == 0.

Or I could be making that up, I never used this feature even when it was en vogue.

Technically, yes. I think. Pretty sure. But honestly I'd probably just do the null thing at this point given how much this snowballed out of control into PHP land.

┻━┻ ︵ ¯\(ツ)/¯ ︵ ┻━┻

what a nice, readable implementation

surely this must be a fairly sensible language

This revision was automatically updated to reflect the committed changes.