Skip to content
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

Merged
merged 6 commits into from
Jul 4, 2016

Conversation

yawpitch
Copy link

@yawpitch yawpitch commented Jul 1, 2016

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.

michael.morehouse and others added 6 commits May 23, 2016 17:51
* 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
@nerdvegas
Copy link
Contributor

Thanks Michael and apologies for the breakage, I can't test the side
effects on windows!
A

On Fri, Jul 1, 2016 at 3:30 PM, Michael Morehouse notifications@github.com
wrote:

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.

You can view, comment on, or merge this pull request online at:

#327
Commit Summary

File Changes

Patch Links:


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#327, or mute the thread
https://github.com/notifications/unsubscribe/ABjqSle7Vmp42cRFPJ4Kxjsb7sDgCWHfks5qRZUdgaJpZM4JDhg_
.

@yawpitch
Copy link
Author

yawpitch commented Jul 2, 2016

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.

@nerdvegas nerdvegas merged commit d5b5849 into AcademySoftwareFoundation:master Jul 4, 2016
nerdvegas pushed a commit that referenced this pull request Jul 4, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants