--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/sage-devel/e1c5735c-553e-4012-ba0d-2cb9ee0d9d83%40ucalgary.ca.
[△EXTERNAL] |
To view this discussion visit https://groups.google.com/d/msgid/sage-devel/def22026-d56a-487e-a8eb-853cc9e20862n%40googlegroups.com.
I had a similar thought but didn’t know if it was possible. I don’t really understand the idea of being religious about not touching someone’s PR if they were the one that opened it. Surely just getting the code finished and merged is more important, and being able to rebase rather than abandoning seems like a good idea.
On Wednesday, 22 January 2025 at 20:30:46 UTC-8 jackson...@gmail.com wrote:I had a similar thought but didn’t know if it was possible. I don’t really understand the idea of being religious about not touching someone’s PR if they were the one that opened it. Surely just getting the code finished and merged is more important, and being able to rebase rather than abandoning seems like a good idea.The conversation on the PR is part of the sagemath repo, so team members can for the most part comment there. The code, however, resides in a fork that is owned by the person who made the PR. You can't really expect to be able to push updates to that branch. "Taking over" a PR on trac meant one would connect a different branch to the ticket. I'm not sure github allows that.
It looks like "allow edits by maintainers" goes some way to alleviating these problems (see https://github.blog/news-insights/product-news/improving-collaboration-with-forks/), but I expect we don't have enough "maintainers" to really make this useful (only people with push privilege on the sagemath repo would qualify).
If you'd know beforehand that there are several people who'll be working on a PR it should be possible to just make a fork where all these people are given push privilege. But that requires some advance planning which wouldn't help these after-the-fact resuscitation endeavours. There's always the option of forking the PR branch and make a new pull request from that. The git metadata would still accurately reflect authorship of the earlier commits. It would lead to a discontinuity in the discussion history, though, and it could give people the feeling their "PR" was stolen if they're more concentrated on PR authorship than commit authorship. For posterity, the git commit data is much more important but in github the PR discussions are much more visible, so it's not unlikely people would feel strongly about PR authorship. Even on trac, where tickets were owned by the organization, people would often feel attached to "their" tickets.
I want to clarify a couple things that might convince the people opposed to this (and if not I have a compromise proposal). Closing a PR doesn't mean we lose the potential contribution. You can still find closed PRs here: https://github.com/sagemath/sage/pulls?q=is%3Apr+is%3Aclosed+is%3Aunmerged. I think rather than thinking of closing a PR as deleting it, it's more accurate to think of it as archiving the PR. With my proposal there would also be a tag to filter to the abandoned ones. I think this would provide an easy way to search for abandoned PRs to take over and have someone else complete.
There are two reasons I go to https://github.com/sagemath/sage/pulls:
A PR that was reviewed with changes requested and no developer
response doesn't fall into either of the two categories above,
which is why I think these abandoned PRs are mostly noise.
But if people are still opposed to moving the PR from the open tab to the closed tab, instead of closing it we could just add a tag for "unresponsive" but still leave those PRs open. We could then say that any PR marked with the unresponsive tag is fair game for someone else to take over (preferably after asking the original author if they intend to finish it).
Adding an "unresponsive" tag (either in the open or closed tab of pull requests) would communicate that you shouldn't expect that feature to be added anytime soon, but if you want to do that work yourself someone has already started it and you can take over.
I think functionally leaving it open or closed doesn't change much, it's the "unresponsive" tag that makes it clear that someone else is free to take the PR over. I would prefer to close abandoned PRs just to clean up the list of open pull requests, but if people prefer to leave it as open and just have the "unresponsive" tag then I'd be okay with that as a compromise.
To provide some additional context, the PR that prompted me to
post this was this: https://github.com/sagemath/sage/pull/38292,
it adds a new feature (Enigma encryption) that's only really of
pedagogical/historical interest and hence low-priority. Unless
there's a Sage contributor with both the interest and knowledge in
the Enigma cipher and the time to fix up the PR, it's unlikely
that it will get picked up by someone else. There are at least a
dozen other encryption schemes that would be more useful to add to
Sage, so while interesting it's a pretty niche contribution that I
doubt anyone will want to pick up and finish since most of the
people who have the expertise to finish it would probably want to
work on adding an encryption scheme that is of interest to current
cryptography researchers. Despite multiple people working on the
original PR, there has been no response from the developers since
I reviewed it in July. As somewhere between my original proposal
and my compromise proposal, we could add an "unresponsive" tag and
leave it up to discretion whether the PR is important enough to
leave open or if it's better of closing it because it's unlikely
to get picked up. Then a search for the "unresponsive" tag on open
PRs would return a list of abandoned PRs that add/fix something
important, and a search for the "unresponsive" tag on closed PRs
would return a list of abandoned PRs that while they would be cool
to have, aren't really important for Sage.
Vincent Macri (He/Him)
--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/sage-devel/ebcf2d0f-a8fd-43fb-a2e8-9a8f4dd46e45n%40googlegroups.com.
To do this, it is very helpful that unfinished tickets are *not* closed, because this gives me the "interesting" tickets with a single click: I hide all the closed ones. Usually only a few remain, and the older among those tell me the story I want to listen to.One major annoyance for this scheme was that, some time in the past, tickets were automatically modified with a message similar to "As the Sage-8.8 release milestone is pending,...next release milestone (sage-8.9)."
On Friday, 24 January 2025 at 11:28:42 UTC-8 axio...@yahoo.de wrote:To do this, it is very helpful that unfinished tickets are *not* closed, because this gives me the "interesting" tickets with a single click: I hide all the closed ones. Usually only a few remain, and the older among those tell me the story I want to listen to.
That's a relevant data point: indeed, "stale" PRs are not "closed" PRs (which would include integrated PRs and truly discarded ones).
The "stale" PRs need to be differentiated from them so that they can show up in searches. So perhaps "closing" them isn't the right thing to do.