Hi,
I cannot manage to get arc diff working on my windows computer. I could use some help!
My setup:
- Mercurial-3.1+2 bundled with TortoiseHG 3.1
- Arcanist fetched today from https://github.com/phacility/arcanist
- PHP 5.6.3 following https://secure.phabricator.com/book/phabricator/article/arcanist_windows/ recommandations
(by the way I've got a working phabricator installation, so I can manage a command line and some config file)
Has you can see in the following block, it says:
EXCEPTION: (Exception) Unparsable Mercurial status line '♀M Faxgate\Misc\LRE_CommandLine\Program.cs'. at [<arcanist>\src\repository\parser\ArcanistMercurialParser.php:37]
Please notice the weird character: ♀ (+/- visible according to your font and font-size)
Hoping this is not a sexist joke :-p
ArcanistMercurialParser.php:37 is checking the space between the flag M and the file path with the code if ($line[1] !== ' ') {
And it fails here because of the extra char...
But I have NO idea from where that ♀ is coming from!
If I do hg status > out.txt, everything's fine, no weird char.
I've tried to remove all [extensions] from my mercurial.ini but still the same.
At first I also thought it was because of CLINK but nope either.
Also tried --encoding with various values... still no success
If you guys have any idea...
C:\Users\TiTi\Desktop\OPI>hg status M Faxgate\Misc\LRE_CommandLine\Program.cs C:\Users\TiTi\Desktop\OPI>arc diff Exception Unparsable Mercurial status line '♀M Faxgate\Misc\LRE_CommandLine\Program.cs'. (Run with --trace for a full exception trace.) C:\Users\TiTi\Desktop\OPI>arc diff --trace libphutil loaded from 'C:\Users\TiTi\Documents\GitHub\libphutil\src'. arcanist loaded from 'C:\Users\TiTi\Documents\GitHub\arcanist\src'. Config: Reading user configuration file "C:\Users\TiTi\AppData\Roaming/.arcrc"... Config: Did not find system configuration at "C:\ProgramData\Phabricator/Arcanist/config". Working Copy: Reading .arcconfig from "C:\Users\TiTi\Desktop\OPI/.arcconfig". Working Copy: Path "C:\Users\TiTi\Desktop\OPI" is part of `hg` working copy "C:\Users\TiTi\Desktop\OPI". Working Copy: Project root is at "C:\Users\TiTi\Desktop\OPI". Config: Did not find local configuration at "C:\Users\TiTi\Desktop\OPI\.hg\arc/config". >>> [0] <conduit> conduit.connect() <bytes = 457> >>> [1] <http> http://192.168.56.1/api/conduit.connect <<< [1] <http> 108,999 us <<< [0] <conduit> 108,999 us >>> [2] <exec> $ set HGPLAIN=1 & hg status <<< [2] <exec> 319,999 us [2014-11-24 23:07:12] EXCEPTION: (Exception) Unparsable Mercurial status line '♀M Faxgate\Misc\LRE_CommandLine\Program.cs'. at [<arcanist>\src\repository\parser\ArcanistMercurialParser.php:37] #0 ArcanistMercurialParser::parseMercurialStatusDetails(string) called at [<arcanist>\src\repository\parser\ArcanistMercurialParser.php:98] #1 ArcanistMercurialParser::parseMercurialStatus(string) called at [<arcanist>\src\repository\api\ArcanistMercurialAPI.php:351] #2 ArcanistMercurialAPI::buildUncommittedStatus() called at [<arcanist>\src\repository\api\ArcanistRepositoryAPI.php:138] #3 ArcanistRepositoryAPI::getUncommittedStatus() called at [<arcanist>\src\repository\api\ArcanistRepositoryAPI.php:199] #4 ArcanistRepositoryAPI::getUncommittedPathsWithMask(integer) called at [<arcanist>\src\repository\api\ArcanistRepositoryAPI.php:150] #5 ArcanistRepositoryAPI::getUntrackedChanges() called at [<arcanist>\src\workflow\ArcanistWorkflow.php:805] #6 ArcanistWorkflow::requireCleanWorkingCopy() called at [<arcanist>\src\workflow\ArcanistDiffWorkflow.php:642] #7 ArcanistDiffWorkflow::runDiffSetupBasics() called at [<arcanist>\src\workflow\ArcanistDiffWorkflow.php:431] #8 ArcanistDiffWorkflow::run() called at [<arcanist>\scripts\arcanist.php:338] C:\Users\TiTi\Desktop\OPI>php -v PHP 5.6.3 (cli) (built: Nov 12 2014 17:17:51) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2014 Zend Technologies C:\Users\TiTi\Desktop\OPI>
Same issue without any working directory modification (nothing to commit) :
C:\Users\TiTi\Desktop\OPI>arc diff [2014-11-24 23:25:11] ERROR 8: Uninitialized string offset: 1 at [C:\Users\TiTi\Documents\GitHub\arcanist\src\repository\parser\ArcanistMercurialParser.php:36] #0 ArcanistMercurialParser::parseMercurialStatusDetails(string) called at [<arcanist>\src\repository\parser\ArcanistMercurialParser.php:98] #1 ArcanistMercurialParser::parseMercurialStatus(string) called at [<arcanist>\src\repository\api\ArcanistMercurialAPI.php:351] #2 ArcanistMercurialAPI::buildUncommittedStatus() called at [<arcanist>\src\repository\api\ArcanistRepositoryAPI.php:138] #3 ArcanistRepositoryAPI::getUncommittedStatus() called at [<arcanist>\src\repository\api\ArcanistRepositoryAPI.php:199] #4 ArcanistRepositoryAPI::getUncommittedPathsWithMask(integer) called at [<arcanist>\src\repository\api\ArcanistRepositoryAPI.php:150] #5 ArcanistRepositoryAPI::getUntrackedChanges() called at [<arcanist>\src\workflow\ArcanistWorkflow.php:805] #6 ArcanistWorkflow::requireCleanWorkingCopy() called at [<arcanist>\src\workflow\ArcanistDiffWorkflow.php:642] #7 ArcanistDiffWorkflow::runDiffSetupBasics() called at [<arcanist>\src\workflow\ArcanistDiffWorkflow.php:431] #8 ArcanistDiffWorkflow::run() called at [<arcanist>\scripts\arcanist.php:338] Exception Unparsable Mercurial status line '♀'. (Run with --trace for a full exception trace.) C:\Users\TiTi\Desktop\OPI>