Page MenuHomePhabricator

Fix Filesytem::walkToRoot() on Windows with default ("/") root
ClosedPublic

Authored by epriestley on Aug 15 2018, 5:43 PM.
Tags
None
Referenced Files
F15506520: D19591.diff
Tue, Apr 15, 11:57 AM
F15491490: D19591.id46829.diff
Sat, Apr 12, 4:14 AM
F15464184: D19591.id46824.diff
Wed, Apr 2, 7:07 AM
F15462607: D19591.diff
Tue, Apr 1, 4:20 PM
F15459628: D19591.id46824.diff
Mon, Mar 31, 2:46 PM
F15457872: D19591.id.diff
Sun, Mar 30, 7:42 PM
F15452308: D19591.diff
Sat, Mar 29, 3:43 AM
F15440939: D19591.diff
Wed, Mar 26, 3:35 PM
Subscribers
None

Details

Summary

Fixes T9459. See PHI817. An install is reporting that arc upgrade fails on Windows, failing to recognize that arcanist/ is a Git working copy.

This appears to reproduce for me, and boil down to FileList->contains() testing if / contains C:\Application Data32\Roaming\My Documents\Users\epriestley\devtools\arcanist. It (literally) does not, but our intent is that it should.

Instead of defaulting the root to /, treat it somewhat more specially so Filesystem::walkToRoot(X) on Windows always walks all the way up.

Test Plan

This is slightly shaky since my Windows "development environment" is a mess, but I was able to run arc upgrade with this patch applied and make it through working copy recognition. I'll re-test after landing.

Diff Detail

Repository
rPHU libphutil
Lint
Lint Not Applicable
Unit
Tests Not Applicable