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

doc: add guide for backporting PRs #11099

Closed
wants to merge 11 commits into from

Conversation

evanlucas
Copy link
Contributor

This guide should help answer questions for contributors
that are not familiar with the backport process.

Checklist
  • documentation is changed or added
  • commit message follows commit guidelines
Affected core subsystem(s)

doc

@nodejs-github-bot nodejs-github-bot added the doc Issues and PRs related to the documentations. label Feb 1, 2017

Each release line has a staging branch that the releaser will use a scratch pad
while preparing a release. The branch name is formatted as follows:
`vn.x-staging` where `n` is the major release number.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a suggestion but how about a capital N? vN.x-staging might be a bit clearer.

@gibfahn
Copy link
Member

gibfahn commented Feb 1, 2017

Does this cover the same ground as #10343?

If so I guess we should decide whether we want this as a separate guide linked to from the COLLABORATOR_GUIDE (i.e. this PR), or just a note at the bottom of the COLLABORATOR_GUIDE #10343.

I'm undecided.

@evanlucas
Copy link
Contributor Author

@gibfahn oh wow, thanks. I totally missed that one

@mscdex mscdex added the meta Issues and PRs related to the general management of the project. label Feb 1, 2017
@jasnell
Copy link
Member

jasnell commented Feb 1, 2017

There's likely value in separating it out

Copy link
Contributor

@sam-github sam-github left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great to see this documented so the process can become more regular.


## Staging branches

Each release line has a staging branch that the releaser will use a scratch pad
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"as a scratch"

If a cherry-pick does not landing cleanly on the staging branch, the releaser
will mark the pull request with a particular label for that release line,
specifying to our tooling that this pull request should not be included. The
releaser will then add a comment that a backport is needed.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is the label? the labelelling has to distinguish things that should be backported (but aren't landing cleanly) from things that should not be backported (clean cherry-pick or not)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yea I wasn't quite sure how to word it being as the label is different for each release line.

I agree that we should have 1 label for something that doesn't land and another for 1 that shouldn't land. That being said, I think the reasoning for not having them is that we should land everything in master that isn't a breaking change and a breaking change will be marked as semver major.

## What needs to be backported?

When a release is being prepared, the releaser attempts to cherry-pick a
certain set of commits from the master branch to the release staging branch.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"certain" is vague, but elaborated on below, maybe state that criteria for consideration depends on the the target version (current or LTS)?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actually, not elaborated on below, I don't think.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yea, I hear ya. It is a bit difficult to find the middle ground between spilling my guts on cutting releases vs the actual intention of the guide. I'll improve this.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think ideally this would link to the part of releases.md which talks about the criteria, not sure if there is currently anything in there to link to though.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is not anything in the releases.md document regarding this. I'll work on documenting that more specifically as well.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think that level of information belongs in this doc, if we can actually figure out what "certain" means then it belongs elsewhere anyway.


## What can be backported?

The "Current" release line (currently v7.x) is much more lenient in what can
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lenient than what?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shouldn't semver-major be mentioned here somewhere?


## How to submit a backport pull request?

For these steps, let's assume that a backport is needed for the v7.x release
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is unusual, isn't it? that a backport is needed from master to Current? Shouldn't master always pick clean to Current?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not necessarily. Master takes semver-major changes. I see a lot of conflicts from changes that go in after a major change so they have to be backported quite a bit in that case.

git checkout -b backport-10157
```

*Note: the branch name does not have to have the pull request number in it.*
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Recommending a consistent branch naming is a good thing: backport-<PR#>-to-<target node version>

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like it. Will update

* After creating the branch, apply the changes to the branch.
* The commit message should be identical to the commit message on the master
branch, unless the commit has to be different due to dependencies that are
not present in the targeted release line.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what do you mean by "deps not present"? If its a manual backport, the code is changing, sometimes a lot, should the commit message still be exactly the same?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's a fair point. I guess the answer in that case would be "it depends". I don't think we should have identical commit messages if they are incorrect, but I do think we need a better way to show, hey this is a backport commit (like the v8 backports).

### Helpful Hints

* Please include the backport target in the pull request title.
* Ex. `process: improve performance of nextTick (v4.x backport)`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of an example, I suggest we be prescriptive. I've been doing "v4.x backport: proces: improve...", I thought that was requested, but I'm happy to do above instead.

Copy link
Member

@gibfahn gibfahn Feb 1, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd rather we put "v4.x backport" at the beginning; it makes it stand out more.

+1 for specifying exactly.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that works for me. I added this so we could actually come up with a specified way that we request (and can edit to make sure is followed). I would rather we be opinionated on this. It makes looking for backports easier IO

A good example of a commit that has been backported is
https://github.com/nodejs/node/commit/2d23562588eebaf9a2a3d3987fe6e4ef63ab9500.

* Original Pull Request: https://github.com/nodejs/node/pull/10157
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

neither the commit above, nor the PR it links to, has these two lines in the commit message or PR description, can you point to where they should be? In the commit message when it lands, the backport description?

Maybe our process should add another PR-URL-like piece of metadata for commits that had to be reworked and PRed as a backport because they didn't land clean? The current metadata seems like a bit of a lie, the reviewers never saw the particular code diff that is landing in the backport.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought that the procedure was to get LGTMs on the backport PR, and include those (not the LGTMs from the original PR) when landing.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do think we need to come up with an additional piece of metadata for the original PR-URL. Part of the reason for opening this is so we can get to the point where everyone knows how to handle these, because right now, things are kind of all over the place. +1 for including the reviewers from the backport PR vs the original PR


When a release is being prepared, the releaser attempts to cherry-pick a
certain set of commits from the master branch to the release staging branch.
If a cherry-pick does not landing cleanly on the staging branch, the releaser
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

landing->land

Also, do we do three-way merging (git am -3)? If so it might be worth specifying that.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no, we only cherry-pick (or I only cherry-pick). /cc @nodejs/release do any of yall actually fixup conflicts when cherry-picking?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm pretty sure I got this (in my ~/.gitconfig) from @MylesBorins :

  pa = "!curl -L $1.patch | git am --whitespace=fix #" # Patch Github PR
  pap = "!curl -L $1.patch | git am -3 --whitespace=fix #" # Please patch it

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, when landing a commit for pushing to master, we use git am. For backporting, the goal is to get the commit unmodified, so we use git cherry-pick <sha>.

If a cherry-pick does not landing cleanly on the staging branch, the releaser
will mark the pull request with a particular label for that release line,
specifying to our tooling that this pull request should not be included. The
releaser will then add a comment that a backport is needed.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

# Assuming your fork of Node.js is checked out in $NODE_DIR,
# the origin remote points to your fork, and the upstream remote points
# to git://github.com/nodejs/node
cd $NODE_DIR
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might be easier to just say something like:

git clone -o upstream https://github.com/nodejs/node.git && cd node
git remote add fork [email protected]:$USER/node.git
git fetch --all

I'd find it easier to understand, and it doubles as a guide for someone not sure about setting up multiple remotes.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sure, although I would think that origin is more common than fork

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like to be specific in instructions, origin can end up being upstream or fork.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay fair enough, makes sense to keep it consistent then.


*Note: the branch name does not have to have the pull request number in it.*

* After creating the branch, apply the changes to the branch.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe specify cherry-picking the commit across?

git cherry-pick $SHA # Use your commit hash

cherry-picked cleanly from master, then nothing needs to be done. If not, a
backport pull request will need to be submitted.

## How to submit a backport pull request?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't need the ?

@gibfahn
Copy link
Member

gibfahn commented Feb 1, 2017

We should definitely link to this from the COLLABORATOR_GUIDE.

This guide should help answer questions for contributors
that are not familiar with the backport process.
@evanlucas
Copy link
Contributor Author

Ok, updated. PTAL. I went ahead and added to the COLLABORATOR_GUIDE as well. I removed an example commit since I (unfortunately) couldn't find one that actually used the backport PR-URL instead of the original. Thanks!

```shell
git cherry-pick $SHA # Use your commit hash
```

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At this point do we need to say what you should expect to see and how to fix it up? I assume that following this guide is only needed if the cherry-pick is going to fail (I'm also assuming that $SHA is for the original commit that went into master)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll clarify. Yes, this guide is for when the releaser cannot cleanly cherry-pick the commit and requests a backport.

```

* The commit message should be as close as possible to the commit message on the
master branch, unless the commit has to be different due to dependencies that
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I understand correctly, this means the metadata(PR urls, reviewers, etc) should remain the same as the original commit?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the case of a backport, I don't think it should. I'll clarify that.

@sam-github
Copy link
Contributor

sam-github commented Feb 11, 2017

Maybe we should have explicit meta-data on backport commits, like Backport: <URL to PR being backported>? Edit: which I realize from email notifications that @evanlucas already suggested, but the comment is hidden above.

@gibfahn
Copy link
Member

gibfahn commented Feb 12, 2017

Having another line seems like a good idea, so @sam-github are you suggesting that if we have:

PR-URL: url1
Backport: url2

then PR-URL: url1 is the original PR, and Backport: url2 is the vN.x Backport PR (not the other way around)? I guess it might make sense to keep PR-URL: the same across backports.

@evanlucas
Copy link
Contributor Author

@sam-github @gibfahn I agree. I went ahead and added it in. PTAL. Thanks!

@targos
Copy link
Member

targos commented Feb 13, 2017

In the metadata of the backport commit, who should be displayed as Reviewed-By?

  • Reviewers of the original PR?
  • Reviewers of the backport PR?
  • Both?

@evanlucas
Copy link
Contributor Author

@targos good point. IMO, if a backport PR is necessary, it should go through the standard process of reviewers. I think the reviewers from the backport PR should be listed, not the reviewers from the original PR.

@sam-github
Copy link
Contributor

@gibfahn I think PR-URL should point to the PR where this specific commit was reviewed, and the meta-data should refer to the specific (backport) PR.

So, something like this:

The original PR would be:

commit message

PR-URL: original PR (as it is now)
... (metadata as it is now)

then it gets backported and PRed, a new PR (obviously):

commit message

PR-URL: the URL for the PR where the backport was proposed and discussed
Backport-of: the URL to the original PR that needed to be backported
... metadata of *the backport* (not a copy of the original)

I changed Backport to Backport-of because your question made me realize calling the original PR a "backport" is strange and confusing.

If its way too much work, maybe it can't happen, but landing backports, which are rewritten PRs, with metadata claiming they have been reviewed by people who may not in fact have reviewed the rewrite seems misleading.

@MylesBorins
Copy link
Contributor

We have so far been using the original PR for the PR-URL and including the backport PR as a Refs:

This has not been consistent though. I'm up for whatever re: labelling as long as it is consistent and documented

@gibfahn
Copy link
Member

gibfahn commented Feb 14, 2017

I changed Backport to Backport-of because your question made me realize calling the original PR a "backport" is strange and confusing.

@sam-github yeah, that was my issue. I'm fine with using Backport-of: for the original PR to master, it makes sense that `PR-URL:`` should always point to the actual PR that added this specific commit.

The Reviewed-By: field is (in my experience) already redone to only contain the reviewers of the backport PR.

Copy link
Member

@gibfahn gibfahn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should clarify what the 2 week rule applies to.

is reviewed. When each commit is landed, the new reviewers and the new PR-URL
should be used.

[`LTS Plan`]: https://github.com/nodejs/LTS#lts-plan
Copy link
Member

@gibfahn gibfahn Feb 16, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason you used [`LTS Plan`] rather than: [LTS Plan]? It looks a bit odd to me.

The "Current" release line (currently v7.x) is much more lenient than the LTS
release lines in what can be landed. Our LTS release lines
(currently v4.x and v6.x) require that commits live in a Current release for at
least 2 weeks before backporting. Please see the [`LTS Plan`][] for more
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As I understand it, the two week rule doesn't apply to doc fixes and infrastructure changes (things that don't change what we ship). This is probably a question for @nodejs/lts, but either way we should probably be explicit here.

Refs: #11351 (comment) and nodejs/build#613 (comment)

cc/ @bnoordhuis @MylesBorins @misterdjules

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The length of time is not set in stone as is based on the potential impact. A doc change has no impact on runtime stability so those, as long as they are relevant to the version, can pretty much land any time. A code change, however, should go through at least one current release cycle to ensure that there are no regressions reported. For changes to more sensitive parts of the code, the length of time may be longer. Anything that is semver-minor will typically be batched up and held much longer than semver-patch so that we have less frequency between LTS minors.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Based on what James said, I think we should remove this part. How does one know what sensitive parts of the codebase are when submitting a backport PR? It's hard to document something that isn't concrete imo.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's definitely a grey area, but people do talk about the two week rule, so I think we should try and document it somehow, even if we have to say that it's quite subjective.

@gibfahn
Copy link
Member

gibfahn commented Feb 16, 2017

I also had another question, if @nodejs/lts decides what gets backported to LTS, and @nodejs/release do the releases, who decides what gets backported to current?

@jasnell
Copy link
Member

jasnell commented Feb 16, 2017

Essentially anything sitting in master that is not semver-major or explicitly marked dont-land for the current should land in current. The person doing the release selects the set. If a PR needs to be backported, then either the release person will do it or will ask someone to do it, otherwise it won't make it in.

Copy link
Contributor

@MylesBorins MylesBorins left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment inline about one inaccuracy with current process


Switch to using String#repeat to improve performance.

PR-URL: https://github.com/nodejs/node/pull/5678
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not accurate. we maintain the original PR-URL

Copy link
Contributor

@MylesBorins MylesBorins left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@evanlucas
Copy link
Contributor Author

@rvagg mind taking a quick look? Thanks!


Switch to using String#repeat to improve performance.

PR-URL: https://github.com/nodejs/node/pull/1234
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

5678

Copy link
Member

@gibfahn gibfahn Mar 29, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@targos see #11099 (comment)

FWIW looking at backport PRs they seem to vary.

@evanlucas
Copy link
Contributor Author

ping @rvagg

@refack refack changed the title doc: add guide for backporting prs doc: add guide for backporting PRs Apr 10, 2017
Following on from discussion in:
nodejs/Release#191
the backport PR should start with the same commit message. Any
additions can be made by whoever lands the PR.
@gibfahn
Copy link
Member

gibfahn commented Apr 12, 2017

In the backporting meeting we decided that it would be easiest (at least for now) if people raising Backport PRs didn't have to modify the commit message, so I've added a commit to remove that info.

cc/ @MylesBorins @sam-github @addaleax @mhdawson

Copy link
Member

@mhdawson mhdawson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still LGTM from me.

@gibfahn gibfahn dismissed rvagg’s stale review April 13, 2017 16:09

Issues have all been fixed.

@gibfahn
Copy link
Member

gibfahn commented Apr 13, 2017

Does anyone have any objection to this landing? Any further issues can be looked at later, and it would be really good to have something to refer people to.

Copy link
Contributor

@MylesBorins MylesBorins left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tiny nit: LGTM

## What needs to be backported?

If a cherry-pick from master does not land cleanly on a staging branch, the
releaser will mark the pull request with a particular label for that release
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@gibfahn should we specify the label?

@sam-github
Copy link
Contributor

LGTM, still. Get it in, iterate on it as we go.

@gibfahn
Copy link
Member

gibfahn commented Apr 16, 2017

Landed in ece9ab5

@gibfahn gibfahn closed this Apr 16, 2017
gibfahn pushed a commit that referenced this pull request Apr 16, 2017
This guide should help answer questions for contributors
that are not familiar with the backport process.

PR-URL: #11099
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Sam Roberts <[email protected]>
Reviewed-By: Gibson Fahnestock <[email protected]>
Reviewed-By: Myles Borins <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
evanlucas added a commit that referenced this pull request Apr 25, 2017
This guide should help answer questions for contributors
that are not familiar with the backport process.

PR-URL: #11099
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Sam Roberts <[email protected]>
Reviewed-By: Gibson Fahnestock <[email protected]>
Reviewed-By: Myles Borins <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
@evanlucas evanlucas mentioned this pull request May 1, 2017
evanlucas added a commit that referenced this pull request May 1, 2017
This guide should help answer questions for contributors
that are not familiar with the backport process.

PR-URL: #11099
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Sam Roberts <[email protected]>
Reviewed-By: Gibson Fahnestock <[email protected]>
Reviewed-By: Myles Borins <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
evanlucas added a commit that referenced this pull request May 2, 2017
This guide should help answer questions for contributors
that are not familiar with the backport process.

PR-URL: #11099
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Sam Roberts <[email protected]>
Reviewed-By: Gibson Fahnestock <[email protected]>
Reviewed-By: Myles Borins <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
gibfahn pushed a commit that referenced this pull request May 15, 2017
This guide should help answer questions for contributors
that are not familiar with the backport process.

PR-URL: #11099
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Sam Roberts <[email protected]>
Reviewed-By: Gibson Fahnestock <[email protected]>
Reviewed-By: Myles Borins <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
MylesBorins pushed a commit that referenced this pull request May 18, 2017
This guide should help answer questions for contributors
that are not familiar with the backport process.

PR-URL: #11099
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Sam Roberts <[email protected]>
Reviewed-By: Gibson Fahnestock <[email protected]>
Reviewed-By: Myles Borins <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
@MylesBorins MylesBorins mentioned this pull request May 23, 2017
andrew749 pushed a commit to michielbaird/node that referenced this pull request Jul 19, 2017
This guide should help answer questions for contributors
that are not familiar with the backport process.

PR-URL: nodejs/node#11099
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Sam Roberts <[email protected]>
Reviewed-By: Gibson Fahnestock <[email protected]>
Reviewed-By: Myles Borins <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
doc Issues and PRs related to the documentations. meta Issues and PRs related to the general management of the project.
Projects
None yet
Development

Successfully merging this pull request may close these issues.