8000 Assist users with next steps... · Issue #414 · gitgitgadget/gitgitgadget · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Assist users with next steps... #414

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

Open
webstech opened this issue Jan 17, 2021 · 4 comments
Open

Assist users with next steps... #414

webstech opened this issue Jan 17, 2021 · 4 comments
8000

Comments

@webstech
Copy link
Contributor

Users are not always inclined to study the doc. Having submitted a change it is not always obvious what to do next if there are some email exchanges and possibly new /submitted changes. This can cause changes to linger that would otherwise be ready to be integrated. It would be helpful to notify users an action may be required on their part to move a patch forward. Automated posting of a comment on 'quiet' PRs with suggestions could be useful. When a patch is ready to move forward after some exchanges and updates, the Git maintainer needs to be notified. A command to do this would be helpful (ie /mergeready, /ready2merge, /mergable, ...?).

PR #410 has the initial discussion of this issue. Something like actions/stale does some of the work. There may be other workflows providing more features.

@webstech
Copy link
Contributor Author

More mind dumping on this...

Some other projects use labels to help track the status of PRs. It could be useful with git as well.

  • new users would have a new user label to identify contributors who may need extra assistance
  • a submitted label would be added with the `/submit' command
  • an accepted label would be added when an integrated type email is seen
  • a pending label and comment would be added if the PR is submitted but not pending or accepted for n days. This would be removed when adding the accepted label or other state changes such as a new /submit
  • possibly only support a single state (which may not match reality) of submitted/accepted/pending - ie remove other labels to keep a simple view on GitHub (although a dashboard combining the status of git/git and gitgitgitgadget/git could be useful)
  • the use of labels would make automation easier since they would provide easy state determination

@dscho
Copy link
Member
dscho commented Jan 18, 2021

I wonder whether we should do #152 instead, and then warn the user if the topic has either not been picked up for over a week, or has "fallen off the train" (i.e. has been in "What's cooking" but no longer is, despite the PR still being open). Particular attention could be paid to tell the user if their topic has been moved to the "Stalled" section.

@dscho
Copy link
Member
dscho commented Jan 18, 2021

I think this might be a good start for that idea:

/*
 * This class is designed to parse the "What's cooking" mails sent to
 * the Git mailing list about twice a week by the Git maintainer.
 */

export class SousChef {
    protected readonly mbox: string;
    protected readonly messageID: string | undefined;
    protected readonly branches: {
        [branchName: string]: {
            merged: string | undefined;
            sectionName: string;
            text: string;
        }
    };

    public constructor(mbox: string) {
        this.mbox = mbox;
        this.branches = {};

        const sections = mbox.split(/^-{10,}\n\[([^\]]+)\]\n/mg)
        for (let i = 1; i < sections.length; i += 2) {
            const sectionName = sections[i]

            const branches = sections[i + 1].split(/\n\* ([a-z][^]+?)\n\n/m);
            for (let j = 1; j < branches.length; j += 2) {
                const match = branches[j]
                    .match(/([^ ]+).*\n *(\(merged to [^)]+\))?/m);
                if (!match) continue;

                const branchName = match[1];
                const merged = match[2];
                const text = branches[j + 1];
                this.branches[branchName] = { merged, sectionName, text };
            }
        }

        const messageIDMatch =
            `\n${sections[0]}`.match(/\nMessage-ID: <([^>]+)>/im)
        this.messageID = messageIDMatch?.[1];
    }
}

@dscho
Copy link
Member
dscho commented Jan 18, 2021

Some other projects use labels to help track the status of PRs. It could be useful with git as well.

  • new users would have a new user label to identify contributors who may need extra assistance

  • a submitted label would be added with the `/submit' command

  • an accepted label would be added when an integrated type email is seen

  • a pending label and comment would be added if the PR is submitted but not pending or accepted for n days. This would be removed when adding the accepted label or other state changes such as a new /submit

  • possibly only support a single state (which may not match reality) of submitted/accepted/pending - ie remove other labels to keep a simple view on GitHub (although a dashboard combining the status of git/git and gitgitgitgadget/git could be useful)

  • the use of labels would make automation easier since they would provide easy state determination

I think those are very good ideas.

dscho added a commit to dscho/gitgitgadget that referenced this issue Jan 20, 2021
Suggested (among other suggestions) in
gitgitgadget#414 (comment)

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
dscho added a commit to dscho/gitgitgadget that referenced this issue Jan 21, 2021
Suggested (among other suggestions) in
gitgitgadget#414 (comment)

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
dscho added a commit to dscho/gitgitgadget that referenced this issue Jan 25, 2021
Suggested (among other suggestions) in
gitgitgadget#414 (comment)

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
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

No branches or pull requests

2 participants
0