Page MenuHomePhabricator

Allow passing a null callback to `xsprintf`
ClosedPublic

Authored by joshuaspence on Feb 4 2015, 8:53 PM.
Tags
None
Referenced Files
F13208433: D11679.id28109.diff
Thu, May 16, 3:14 PM
F13206609: D11679.id28226.diff
Wed, May 15, 1:20 PM
F13196554: D11679.diff
Sun, May 12, 11:22 PM
Unknown Object (File)
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)
Apr 9 2024, 5:54 AM

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
Branch
arcpatch-D11679
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 4410
Build 4423: [Placeholder Plan] Wait for 30 Seconds

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.