--
You received this message because you are subscribed to the Google Groups "Metamath" group.
To unsubscribe from this group and stop receiving emails from it, send an email to metamath+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/metamath/23A8AB6C-886F-4A1C-BBAC-76F36FCEC240%40dwheeler.com.
--
You received this message because you are subscribed to the Google Groups "Metamath" group.
To unsubscribe from this group and stop receiving emails from it, send an email to metamath+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/metamath/ab1fbf3a-1f43-4608-ad9e-e970b5338d11n%40googlegroups.com.
It is a fair question and to a fair extent I think we can rely on the judgement of the person merging it about how long to wait (subject to the more black and white rules about passing the automated checks and - I suppose this is black and white except for mathboxes - having at least one approval). That is, I think many of us have at least some feel for whether there needs to be more discussion or there's a potential for controversy.
We can also see whether merge conflicts of this sort end up being
frequent or rare. A bit hard for me to predict in advance, as it
depends on how often people change the same parts of (well, set.mm
especially, the other files to a smaller extent).
--
You received this message because you are subscribed to the Google Groups "Metamath" group.
To unsubscribe from this group and stop receiving emails from it, send an email to metamath+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/metamath/976c29ad-2812-0ee5-02ef-8dd36e1b471b%40gmx.net.
> On Dec 13, 2021, at 10:33 PM, Mario Carneiro <di....@gmail.com> wrote:
>
> I think that a 5 day waiting period is too long, and indeed I don't think there should be any time-based review barrier. For contributions to main set.mm, I would propose that we have a simple system where at least 2 people sign off on each PR: the author and at least one maintainer/reviewer (not equal to the author). CI is quick so we can make it a requirement for merging.
I'm fine with omitting a waiting period! I suggested the "5 days" to increase the likelihood of people agreeing to *a* merge criterion.
But if "another maintainer approved" is generally acceptable as a merge criterion, that's even better.
So who does the merge? I guess any maintainer can trigger the merge once the conditions are met?
> I think we should have designated maintainers for parts of set.mm. Any changes to that section should be reviewed by at least one designated maintainer. There aren't too many daily active contributors so possibly we can just all be maintainers of everything to start, but some people have their own pet sections and we should make an attempt to write down everyone's area of expertise so that we know who to ping.
Sounds good. I'll call those "area maintainers". Let's start with the empty set.
If anyone has a "pet section" or "pet database"
they want to review all changes to, please post here on the mailing list.
If there's general agreement, we'll add them to an "area maintainers"
list in the set.mm README. The rule would be, all changes to the area (database or database section)
would require a review from one of those area maintainers before being accepted.
> For mathbox-only changes, I would stick to the 1 reviewer rule but most likely only a cursory examination is required.
Fair enough. I imagine they'll mainly be looking for statements that might interfere with others.
If *every* pull request requires review & approval by someone else, we could even enforce that via GitHub rule.
That might be a good thing. One of the main advantages of set.mm is how rigorously verified it is
(every change is verified by multiple independent verifiers, etc.). Having enforced review could help
us convince *others* that we take this database seriously. We don't need to turn that on now,
but it might be worth thinking about.
One thing that I think we should stick to is one commit per PR. We had a similar discussion for metamath-knife but for set.mm it's important to keep PR sizes down so that people can reasonably review them, and squash merges keep things organized. This is the mechanism we've been using in mathlib and it works well to avoid merge conflicts, especially when things scale to many concurrent PRs.
Squashing & rebasing instead of merging is the latest fashion. I'm not a fan of these bell bottomed pants.
Squashing eliminates the history of what actually happened, in particular, it's hard to tell
if an earlier comment was acted on if you eliminate the history through squashing.
You also can't tell what "really happened".
> On Dec 14, 2021, at 12:51 PM, Mario Carneiro <di....@gmail.com> wrote:
>
>
>
> On Tue, Dec 14, 2021 at 12:47 PM Mario Carneiro <di....@gmail.com> wrote:
> One thing that I think we should stick to is one commit per PR. We had a similar discussion for metamath-knife but for set.mm it's important to keep PR sizes down so that people can reasonably review them, and squash merges keep things organized. This is the mechanism we've been using in mathlib and it works well to avoid merge conflicts, especially when things scale to many concurrent PRs.
I think multiple *commits* per PR is fine, especially if the later commits are small changes that fix the initial commit based on feedback. Then it's clear that comments were acted on.
> For big PRs that benefit from multiple commits, I think the commits should be consciously organized, squashing away bugfix commits and rebasing (not merging) on master. Such PRs are merged using the "rebase" option instead of "squash", but "squash" should be the default (and "merge" should not be used).
Squashing & rebasing instead of merging is the latest fashion. I'm not a fan of these bell bottomed pants.
Squashing eliminates the history of what actually happened, in particular, it's hard to tell
if an earlier comment was acted on if you eliminate the history through squashing.
You also can't tell what "really happened".
Git handles changes just fine without rebasing or squashing. It's definitely not a hill to die on,
but I prefer avoiding both.
Git can handle it, but it's a lot more confusing for people looking at the history; things like HEAD~3 go who knows where and it's difficult to see at a glance what's going on when half of the commits are merges that clutter up the graph.
On 12/14/21 9:47 AM, Mario Carneiro wrote:
Of late I haven't had much time to devote to PR reviews though, so it will need more than just me if we want to keep the queue flowing. I think Jim Kingdon should take point on iset.mm maintenance, and others should speak up if they want to participate more in maintenance.
I don't object to being listed for iset.mm but I don't think I
should be the only one who can approve pull requests which touch
it. For all the usual "avoid single points of failure" reasons.
It's a possibility, but I don't think we need to make the structures unnecessarily rigid. Most of our contributors are able to work well together without a heavy coordination framework and I'd like to keep it that way, at least until experience suggests that more structure will help more than hinder.
--
You received this message because you are subscribed to the Google Groups "Metamath" group.
To unsubscribe from this group and stop receiving emails from it, send an email to metamath+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/metamath/4df58cd6-11fc-4530-a496-9de95f68110bn%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "Metamath" group.
To unsubscribe from this group and stop receiving emails from it, send an email to metamath+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/metamath/b3dc988e-b782-a00e-971f-096aad384985%40panix.com.
Personally, I like seeing all the commits in my git log history. Using bisect I can generally piece together what happened when. I often use the PR history, but I'd hate to not have a local copy of the history to refer to.
--
You received this message because you are subscribed to the Google Groups "Metamath" group.
To unsubscribe from this group and stop receiving emails from it, send an email to metamath+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/metamath/64cb1a13-ad03-4552-a80c-d9ceb7e6e1c2n%40googlegroups.com.