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

Burst additional command in two files #6641

Conversation

Pierre-Sassoulas
Copy link
Member

Type of Changes

Type
🔨 Refactoring
📜 Docs

Description

Move the messages documentation to user guide and do the proper redirection.

Small reviewable part of #6589 and follow-up to #6613, #6622 and #6628

@DanielNoord
Copy link
Collaborator

See #6589 (comment).

I am -0.5 on this change. I think the User guide (which we might want to rename) should focus on pylint whereas these are different commands and probably deserve their own section in the index.

@coveralls
Copy link

coveralls commented May 18, 2022

Pull Request Test Coverage Report for Build 2350387317

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 95.353%

Totals Coverage Status
Change from base Build 2345624172: 0.0%
Covered Lines: 16066
Relevant Lines: 16849

💛 - Coveralls

@Pierre-Sassoulas Pierre-Sassoulas force-pushed the move-additional-command-to-user-guide branch from 55dbbf6 to 9025815 Compare May 18, 2022 11:40
@Pierre-Sassoulas Pierre-Sassoulas changed the title Move additional command to the user guide Burst additional command in two files May 18, 2022
@Pierre-Sassoulas Pierre-Sassoulas force-pushed the move-additional-command-to-user-guide branch from 9025815 to 2d3853f Compare May 18, 2022 12:58
@Pierre-Sassoulas
Copy link
Member Author

these are different commands and probably deserve their own section in the index.

You're right, I updated the MR accordingly.

User guide (which we might want to rename)

What do you have in mind ?

@DanielNoord
Copy link
Collaborator

What about Using pylint? Or Usage and configuration? black uses that under their User Guide, see https://black.readthedocs.io/en/stable/. I like that term as I think it covers the topics better than "Guide".

@Pierre-Sassoulas
Copy link
Member Author

Pierre-Sassoulas commented May 18, 2022

Edit: answered too fast, I'm ok with merging pyreverse/symilar in a usage and configuration section.

@DanielNoord
Copy link
Collaborator

Edit: answered too fast, I'm ok with merging pyreverse/symilar in a usage and configuration section.

I would do:

Tutorial
Usage and configuration
Development
Additional included programs
Changelogs
Contact

Although I'm not 100% on Additional included programs. For me this is the clearest separation of the various topics we have.

@Pierre-Sassoulas
Copy link
Member Author

Regarding Changelogs my idea is to separate changelog for dev and changelog for users so in order to do that it would make sense to have two changelogs, one in Usage and configuration and one in Development.

@DanielNoord
Copy link
Collaborator

Regarding Changelogs my idea is to separate changelog for dev and changelog for users so in order to do that it would make sense to have two changelogs, one in Usage and configuration and one in Development.

Can't we do two sections in the same changelog? Why would we force developers to look in two places? We could just make an internal changes section. There might also be some grey-area changes.

@Pierre-Sassoulas
Copy link
Member Author

Why would we force developers to look in two places?

The plugin developers are maybe 0.5% of total users, and they're power users very knowledgable in pylint. We could separate the two changelog so the vast majority of user do not have to triage what they should read in the changelog.

@DanielNoord
Copy link
Collaborator

Why would we force developers to look in two places?

The plugin developers are maybe 0.5% of total users, and they're power users very knowledgable in pylint. We could separate the two changelog so the vast majority of user do not have to triage what they should read in the changelog.

Yeah, but still. I often look back at older changelogs to see when something changed and I tend to look at the changelogs of other projects as well. That can often give you inspiration about relevant changes.
Why not do:

Breaking changes or removed functionality: (if any)
- ...
- ...

New checkers or functionality:
- ...
- ...

Bug fixes:
- ...
- ...
- ...

Internal changes:
- ...
- ...

If the internal changes are separated from the user-facing changes in a separate section I really don't think any user will mind.

@Pierre-Sassoulas
Copy link
Member Author

That would work . But we also have old changelogs to display. Unless we want to triage the old changelog it would be convenient to keep whatsnew (user facing changelog) and changelog (dev facing changelog) separated.

@DanielNoord
Copy link
Collaborator

DanielNoord commented May 18, 2022

Just from the 2.14 changelog alone I can get these examples, which I would say are directed towards developers and not users:
https://github.com/PyCQA/pylint/blob/a6ae75a62020aba78eccd2988cc0b1b02f9aee05/doc/whatsnew/2.14.rst#L377
https://github.com/PyCQA/pylint/blob/a6ae75a62020aba78eccd2988cc0b1b02f9aee05/doc/whatsnew/2.14.rst#L204
https://github.com/PyCQA/pylint/blob/a6ae75a62020aba78eccd2988cc0b1b02f9aee05/doc/whatsnew/2.14.rst#L216
https://github.com/PyCQA/pylint/blob/a6ae75a62020aba78eccd2988cc0b1b02f9aee05/doc/whatsnew/2.14.rst#L329
https://github.com/PyCQA/pylint/blob/a6ae75a62020aba78eccd2988cc0b1b02f9aee05/doc/whatsnew/2.14.rst#L289

I'm nog suggesting to move those around, but just to illustrate that we already struggle with deciding where to put an entry. I just think that many changes can't be easily categorised as either being Developer and User and I don't think it makes sense to separate those changelogs. I don't know of any other projects that splits its changelogs like that.
If we're going through the effort of moving stuff aroundwhy not simplify?
I am aware that most of those PRs are made by myself, so perhaps I am the only one who struggles to identify the difference, but I think you understand what I mean 😄

There are multiple solutions to the problem of merging the current two locations. We could even do something where we keep the whatsnew and move those to Changelogs. Start adapting a new structure from now on and provide a link at the top of the page to the old format changelogs. For the old version that wouldn't change the status quo: 2 places to look. But for now versions there would be one place with clearly separated sections. That also has the benefit of making it easier to point contributors where they should put the entry instead of asking them to do it in two places.
If at some point anybody gets bored they can write a nice script that would merge the two older versions 😄

@Pierre-Sassoulas
Copy link
Member Author

Pierre-Sassoulas commented May 18, 2022

we already struggle with deciding where to put an entry.

Yeah, right now we're duplicating everything everywhere 😄 Actually if you check the whatsnew for 2.5 before hippo91 and myself became release manager what is in whatsnew is really a small summary of changelog. We just had a lot of other things to take care of at the time and inadvertently created the habit of duplicating the changelog in whatsnew all the time.

That's why we need to define what we want to do now (before 2.15 so the 2.15 changelog is the new example to follow, and can be enforced by CI checks + label chosen by maintainer like in black). I think we should not document simple refactor or small internal change. I.e. for the label documentation and maintenance we do not add any changelog, at all. For the API changes and deprecations, it should be in the dev facing changelog. For the dependency label we probably need to separate dev dependency from pylint's actual dependency that will affect installation alongside other libs (user facing), dev dependencies (dev facing), and from pre-commit dependency (really not important for anyone).

I think that the user facing changelog should only be changes that will modify something that will affect you when you install pylint or launch pylint with pylint [options] or use pylint integrated in an IDE. So with that definition in mind:

https://github.com/PyCQA/pylint/blob/a6ae75a62020aba78eccd2988cc0b1b02f9aee05/doc/whatsnew/2.14.rst#L377

Dev only.

https://github.com/PyCQA/pylint/blob/a6ae75a62020aba78eccd2988cc0b1b02f9aee05/doc/whatsnew/2.14.rst#L204

The only one where it's ambiguous imo. But there was no way to use this priority in any pylint, options, dev facing too.

https://github.com/PyCQA/pylint/blob/a6ae75a62020aba78eccd2988cc0b1b02f9aee05/doc/whatsnew/2.14.rst#L216

Dev only.

https://github.com/PyCQA/pylint/blob/a6ae75a62020aba78eccd2988cc0b1b02f9aee05/doc/whatsnew/2.14.rst#L329

Dev only.

https://github.com/PyCQA/pylint/blob/a6ae75a62020aba78eccd2988cc0b1b02f9aee05/doc/whatsnew/2.14.rst#L289

Dev only.

This is probably something we should have discussed in #5728 before I create 5 MRs 😄 The need to separate user guide and dev guide - while it make sense in itself, because right now everything is mixed up and impossible to follow- stem from the fact that I wanted to not have to merge changelog and whatsnew for older changelogs but I still wanted a clear rules for new changelog in the future.

@DanielNoord
Copy link
Collaborator

The need to separate user guide and dev guide - while it make sense in itself, because right now everything is mixed up and impossible to follow- stem from the fact that I wanted to not have to merge changelog and whatsnew for older changelogs but I still wanted a clear rules for new changelog in the future.

See my proposal in my last comment:

I don't think we should do something just because we have to deal with a legacy format of the changelog. Let's start writing the changelog in our preferred format and worry about how to store the old changelogs afterwards. I wouldn't mind having a sentence: "Pylint's changelog format changed after 2.x. Therefore, for older versions there are two related but different changelogs which can be found here > link to changelog archive". Or something like that...
I don't think it will be an issue if there is less consistency between newer and older changelogs. As a matter of fact, we already have that.

@Pierre-Sassoulas
Copy link
Member Author

I don't think we should do something just because we have to deal with a legacy format of the changelog

Reorganizing the doc is a good thing in itself too. and it's better to have a clean doc for 2.14 because it's the reference in read the doc (but we could cherry-pick it on maintenance/2.14 too when the patch become the reference and only do the changelog change during the beta).

But let's just apply #6641 (comment) for this MR first :)

@Pierre-Sassoulas Pierre-Sassoulas self-assigned this May 18, 2022
doc/conf.py Outdated Show resolved Hide resolved
Co-authored-by: Daniël van Noord <[email protected]>
doc/index.rst Outdated Show resolved Hide resolved
doc/index.rst Outdated Show resolved Hide resolved
@Pierre-Sassoulas
Copy link
Member Author

Can't merge yet I did not apply #6641 (comment) yet

Co-authored-by: Daniël van Noord <[email protected]>
@DanielNoord DanielNoord merged commit 8a1feee into pylint-dev:main May 19, 2022
@Pierre-Sassoulas Pierre-Sassoulas deleted the move-additional-command-to-user-guide branch May 19, 2022 07:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants