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

Master.nupatch.4merge #4092

Merged
merged 5 commits into from
Oct 14, 2020
Merged

Conversation

mingwandroid
Copy link
Contributor

No description provided.

Goal is not a real-world speed boost, just less stepping in debuggers.
@anaconda-issue-bot anaconda-issue-bot added the cla-signed [bot] added once the contributor has signed the CLA label Oct 13, 2020
@mingwandroid mingwandroid force-pushed the master.nupatch.4merge branch 4 times, most recently from 64a85b1 to 5799d46 Compare October 13, 2020 11:13
Patches are far more complicated than you might think, although at the same time very simple

We work out various attributes of each patch up-front and display that information
as a table. This information is then used to determine how to apply each patch.

To work out if a patch is applicable (and reversible) we must apply it to a copy of the
files that it touches. The --dry-run argument to patch is not enough because if you have
an amalgamated patch that touches the same file in different pre-amalgamated parts then
the fact that it skipped the previous change will often mean that subsequent changes to
the same area will fail.

At the end of the day, I firmly believe that patch quality is important and that there
is an objective scale for the quality of the actual patch blocks (as distinct from the
quality of the changed code, the comments and the commit messages, which are of course
also important). Ideally a patch should apply, apply cleanly, be dry-runnable, be
reversible, not be amalgamated and be at patch level 1

We print out a patch anaylsis at the end of the patching process so the recipe maintainer
is given useful information about which patches could be improved.

If the key comes out as "RAYMD1LOVE" then everything is fine.

Note, this code should be mirrored with git, or git should be used to drive the patching
process with options to automatically clean up patches.
.. so that:

(?:^|[^\{]){%\s*(?:el)?if\s*.*channel_targets\s*(?:[^%]*?)?%\}

matches:

{% if 'conda-forge' not in channel_targets %}
@mingwandroid mingwandroid force-pushed the master.nupatch.4merge branch from a4dab98 to 170a01b Compare October 13, 2020 16:43
@mingwandroid mingwandroid merged commit ae08afb into conda:master Oct 14, 2020
@github-actions
Copy link

Hi there, thank you for your contribution!

This pull request has been automatically locked because it has not had recent activity after being closed.

Please open a new issue or pull request if needed.

Thanks!

@github-actions github-actions bot added the locked [bot] locked due to inactivity label Mar 10, 2022
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 10, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
cla-signed [bot] added once the contributor has signed the CLA locked [bot] locked due to inactivity
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants