-
Notifications
You must be signed in to change notification settings - Fork 340
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The formatting.expanduser changes broke Windows again #327
Conversation
* Adding Skral's changes (#1) Creating a single branch with all the Windows changes. * Adding in a skrall change that fixed an issue with a subprocess-launched shell being left in a blocked state waiting on user input.
* when using rez-build --ba pass the string to bez as well * solver: fix for variant_select_mode * update other tests now that pyvariants package added * install.py: add --keep-symlinks option * rex: format - allow recursive expansion of namespace vars * rex: add an expandvars utility function * -solver improvements, mostly about keeping variants grouped by version -PackageOrder WIP -NOTE solver solve_time currently misleading, need different way to calculate * -some basic simplification in the solver - move to passing solver instance around * -moved some code to new _PackageEntry class so that resorting of variants is avoided * -first pass custom reordering added -added some low-level configurable options to speed solves a little -implemented better load/solve time tracking * -version up -package reorderers rxt save/load * -minor solver fix -added context patching code in new file, standalone. NOTE: other code in rez not using this yet. * -removed context validation on load in GUI, too slow -added rez-gui --diff option -single context load now maximises the subwindow * bind can fail if not all dirs exist at time of bind; makedirs gives mkdir -p functionality * fixes bad dir creation with LOCAL_SYMLINKS cmake * rex: fix indentation * rex: fix for recursive format * rex: allow recursive formatting to work with kwargs, and add tests * -upper version * -fixed bug in graph -> dot conversion -updated old pkg command conversion to fall back on bash on any error. * -fixed bug where ResolvedContext.verbosity not defined if loaded from rxt -changed patching behavior so that a non-conflict patch overrides all refs to that pkg, including !/~ -fixed bug in Requirement.__iter__ when requirement is a conflict * rex_bindings: '0' should convert to digit (though '00' or '01' don't) Will make it so that, if in the package.py you do "version.as_tuple() >= (5, 2)", we won't get an unexpected result if the version is 5.0. Will still be a (potential) problem if the version is "5.00" - but that's likely a less common case, and at least they now have to the option of using 5.0 if they want to ensure easy numeric comparision would eventually like to override > / < / == comparison to automatically convert the other side to a Version object if it's a string, and then compare using it's more sophisticated logic... but this is a quick fix for now * updated license files so that LGPL is clearer * -added build util for adding copyright/lic to each py file -added copyright/lic to each py file * Adding Skral's changes (#1) Creating a single branch with all the Windows changes. * Adding in a skrall change that fixed an issue with a subprocess-launched shell being left in a blocked state waiting on user input. * added shotgun hook for launching apps in a rez context * -minor updates to rezconfig.py comments to make them more md friendly * -fixed OS X bug in build selftest package -added s option to res-selftest to limit to specific shell * renamed *PackageOrderFunction -> *PackageOrder * change to licence/copyright comment build util code add_license.py helper now retains non-me copyright authors * moved and PEP8-ized * change to make this PR backwards compatible so existing rebuild.py files are unaffected. * minor change to contrib readme * minor README change again * minor comment to highlight res-specific change to OS pkg
Thanks Michael and apologies for the breakage, I can't test the side On Fri, Jul 1, 2016 at 3:30 PM, Michael Morehouse notifications@github.com
|
Might not be trivial to get working, considering the way the installer works, but perhaps Appveyor? They've got a free tier for FOSS projects, and they'll run arbitrary jobs on most versions of Windows. |
Hey,
The formatting.expanduser changes broke Windows support again, and one of the tests in "rez selftest --config" fails.
Ultimately the reason was the removal of an "os.path.normpath" call on the path BEFORE we begin the ~ search, but I also noticed some "bugs" in your code (the main things being it not capturing all forms of whitespace, but also the inability to handle the mixed os.sep and os.altsep case, which is common as hell on Winblows). So in this PR I've switched to a single regex.sub call that explicitly performs the limited replacement you mention in your comment lines (retaining the oddity that both ";" and os.pathsep (':') are allowed on either side of the ~ on Linux). Personally I find the regex a bit more formal and a little easier to read, with the added bonus of allowing for explicit representation for checking start and end of the string as well as the expanded whitespace definition and mixed sep handling.