* Re: 01/03: gnu: wxwidgets: Add libxtst to inputs. [not found] ` <20230607033317.826FCC23EDC@vcs2.savannah.gnu.org> @ 2023-06-07 10:59 ` Christopher Baines 2023-06-11 3:17 ` Maxim Cournoyer 0 siblings, 1 reply; 19+ messages in thread From: Christopher Baines @ 2023-06-07 10:59 UTC (permalink / raw) To: Maxim Cournoyer; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 871 bytes --] guix-commits@gnu.org writes: > apteryx pushed a commit to branch master > in repository guix. > > commit ec9f15b158300da3a77ce02cd2267222f435e80f > Author: Maxim Cournoyer <maxim.cournoyer@gmail.com> > AuthorDate: Tue Jun 6 12:12:40 2023 -0400 > > gnu: wxwidgets: Add libxtst to inputs. > > WxWidgets was already built with XTest support, but mostly by luck, via > propagation of libxtst from GTK's propagated at-spi2-core package. Make it an > explicit input. > > * gnu/packages/wxwidgets.scm (wxwidgets) [inputs]: Add libxtst. > --- > gnu/packages/wxwidgets.scm | 1 + > 1 file changed, 1 insertion(+) Did this need to go straight to the master branch? → guix refresh -l wxwidgets Building the following 217 packages would ensure 456 dependent packages are rebuilt: ... That to me says this should go to staging. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 987 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: 01/03: gnu: wxwidgets: Add libxtst to inputs. 2023-06-07 10:59 ` 01/03: gnu: wxwidgets: Add libxtst to inputs Christopher Baines @ 2023-06-11 3:17 ` Maxim Cournoyer 2023-06-11 8:44 ` Rebasing or merging? [was: Re: 01/03: gnu: wxwidgets: Add libxtst to inputs.] Andreas Enge 2023-06-11 9:25 ` 01/03: gnu: wxwidgets: Add libxtst to inputs Christopher Baines 0 siblings, 2 replies; 19+ messages in thread From: Maxim Cournoyer @ 2023-06-11 3:17 UTC (permalink / raw) To: Christopher Baines; +Cc: guix-devel Hi Christopher, Christopher Baines <mail@cbaines.net> writes: > guix-commits@gnu.org writes: > >> apteryx pushed a commit to branch master >> in repository guix. >> >> commit ec9f15b158300da3a77ce02cd2267222f435e80f >> Author: Maxim Cournoyer <maxim.cournoyer@gmail.com> >> AuthorDate: Tue Jun 6 12:12:40 2023 -0400 >> >> gnu: wxwidgets: Add libxtst to inputs. >> >> WxWidgets was already built with XTest support, but mostly by luck, via >> propagation of libxtst from GTK's propagated at-spi2-core package. Make it an >> explicit input. >> >> * gnu/packages/wxwidgets.scm (wxwidgets) [inputs]: Add libxtst. >> --- >> gnu/packages/wxwidgets.scm | 1 + >> 1 file changed, 1 insertion(+) > > Did this need to go straight to the master branch? > > → guix refresh -l wxwidgets > Building the following 217 packages would ensure 456 dependent packages are rebuilt: ... > > That to me says this should go to staging. Correct. Except there's no staging branch anymore. I guess we should create one? :-) -- Thanks, Maxim ^ permalink raw reply [flat|nested] 19+ messages in thread
* Rebasing or merging? [was: Re: 01/03: gnu: wxwidgets: Add libxtst to inputs.] 2023-06-11 3:17 ` Maxim Cournoyer @ 2023-06-11 8:44 ` Andreas Enge 2023-06-11 21:25 ` Maxim Cournoyer 2023-06-11 9:25 ` 01/03: gnu: wxwidgets: Add libxtst to inputs Christopher Baines 1 sibling, 1 reply; 19+ messages in thread From: Andreas Enge @ 2023-06-11 8:44 UTC (permalink / raw) To: Maxim Cournoyer; +Cc: Christopher Baines, guix-devel Hello, Am Sat, Jun 10, 2023 at 11:17:44PM -0400 schrieb Maxim Cournoyer: > > That to me says this should go to staging. > Correct. Except there's no staging branch anymore. I guess we should > create one? :-) I would say it should go to a team branch; xsystem? Regardless of name, I think the idea behind the team branch concept is that a branch should regroup related changes (as much as possible), but in any case there should be an identified person or group of persons taking responsibility for shepherding the branch up to its merge; and for repairing potential breakage. So we could extend the concept to have a june-2023-disruptive-changes branch, with the aim of regrouping several maybe unrelated changes leading to bigger rebuilds (and identified responsibilities). We should not create a random branch where lots of big changes accumulate for which nobody takes responsibility. The changes suggested at https://issues.guix.gnu.org/63459 remove the staging and core-updates branches from the documentation. Does it leave open problems behind? One thing I wonder about is whether we should not rebase all team branches on master instead of merging master back in. In this way, at least the commits specific to a branch would be visible since they are on top; with the former merging concept of staging and core-updates, they would end up buried deep in the commit history. It could also help keeping changes focused. What do you think? Andreas ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Rebasing or merging? [was: Re: 01/03: gnu: wxwidgets: Add libxtst to inputs.] 2023-06-11 8:44 ` Rebasing or merging? [was: Re: 01/03: gnu: wxwidgets: Add libxtst to inputs.] Andreas Enge @ 2023-06-11 21:25 ` Maxim Cournoyer 2023-06-11 22:40 ` Felix Lechner via Development of GNU Guix and the GNU System distribution. 0 siblings, 1 reply; 19+ messages in thread From: Maxim Cournoyer @ 2023-06-11 21:25 UTC (permalink / raw) To: Andreas Enge; +Cc: Christopher Baines, guix-devel Hi Andreas, Andreas Enge <andreas@enge.fr> writes: > Hello, > > Am Sat, Jun 10, 2023 at 11:17:44PM -0400 schrieb Maxim Cournoyer: >> > That to me says this should go to staging. >> Correct. Except there's no staging branch anymore. I guess we should >> create one? :-) > > I would say it should go to a team branch; xsystem? > > Regardless of name, I think the idea behind the team branch concept is > that a branch should regroup related changes (as much as possible), but > in any case there should be an identified person or group of persons taking > responsibility for shepherding the branch up to its merge; and for repairing > potential breakage. So we could extend the concept to have a > june-2023-disruptive-changes branch, with the aim of regrouping several > maybe unrelated changes leading to bigger rebuilds (and identified > responsibilities). We should not create a random branch where lots of big > changes accumulate for which nobody takes responsibility. > > The changes suggested at > https://issues.guix.gnu.org/63459 > remove the staging and core-updates branches from the documentation. > Does it leave open problems behind? > > One thing I wonder about is whether we should not rebase all team branches > on master instead of merging master back in. In this way, at least the > commits specific to a branch would be visible since they are on top; with > the former merging concept of staging and core-updates, they would end up > buried deep in the commit history. It could also help keeping changes > focused. What do you think? Rebasing only really works if a single person works on the branch, since it rewrites history. So it doesn't seem very team friendly. Also, rebasing causes the PGP-signed commits to be resigned with the key of the people of does the rebase, which obfuscates the origin seal somewhat. I think we should continue to prefer merging, but minimizing this to only when it's truly required, as Linus suggests for branches maintainers (where it's suggested to not sync with the main branch to avoid getting unrelated/untested changes). If the branches are short-lived that shouldn't be (common) problem anyway. What do you think? -- Thanks, Maxim ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Rebasing or merging? [was: Re: 01/03: gnu: wxwidgets: Add libxtst to inputs.] 2023-06-11 21:25 ` Maxim Cournoyer @ 2023-06-11 22:40 ` Felix Lechner via Development of GNU Guix and the GNU System distribution. 2023-06-12 0:47 ` Maxim Cournoyer 0 siblings, 1 reply; 19+ messages in thread From: Felix Lechner via Development of GNU Guix and the GNU System distribution. @ 2023-06-11 22:40 UTC (permalink / raw) To: Maxim Cournoyer; +Cc: Andreas Enge, Christopher Baines, guix-devel Hi Maxim, On Sun, Jun 11, 2023 at 2:26 PM Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote: > > rebasing causes the PGP-signed commits to be resigned with the key of > the people of does the rebase, which obfuscates the origin seal > somewhat. > > I think we should continue to prefer merging Let's take your argument all the way for a moment, please. What if the signed merge commits were to serve as the mutual approvals Ludo' has been asking for? Non-forward merges could also be used for changes involving just a single commit, although that would create more overhead and result in a more complicated project history. Kind regards Felix ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Rebasing or merging? [was: Re: 01/03: gnu: wxwidgets: Add libxtst to inputs.] 2023-06-11 22:40 ` Felix Lechner via Development of GNU Guix and the GNU System distribution. @ 2023-06-12 0:47 ` Maxim Cournoyer 2023-06-12 1:10 ` Felix Lechner via Development of GNU Guix and the GNU System distribution. 2023-06-13 2:07 ` Leo Famulari 0 siblings, 2 replies; 19+ messages in thread From: Maxim Cournoyer @ 2023-06-12 0:47 UTC (permalink / raw) To: Felix Lechner; +Cc: Andreas Enge, Christopher Baines, guix-devel Hi Felix, Felix Lechner <felix.lechner@lease-up.com> writes: > Hi Maxim, > > On Sun, Jun 11, 2023 at 2:26 PM Maxim Cournoyer > <maxim.cournoyer@gmail.com> wrote: >> >> rebasing causes the PGP-signed commits to be resigned with the key of >> the people of does the rebase, which obfuscates the origin seal >> somewhat. >> >> I think we should continue to prefer merging > > Let's take your argument all the way for a moment, please. What if the > signed merge commits were to serve as the mutual approvals Ludo' has > been asking for? I'm not sure how that'd work, since Git only allows a single PGP signature per commit, as far as I can tell. When you rewrite the history (by using rebase, say), the existing signatures of the rewritten (rebased) commits are replaced with new ones generated from your key. -- Thanks, Maxim ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Rebasing or merging? [was: Re: 01/03: gnu: wxwidgets: Add libxtst to inputs.] 2023-06-12 0:47 ` Maxim Cournoyer @ 2023-06-12 1:10 ` Felix Lechner via Development of GNU Guix and the GNU System distribution. 2023-06-12 12:22 ` Maxim Cournoyer 2023-06-12 13:13 ` Andreas Enge 2023-06-13 2:07 ` Leo Famulari 1 sibling, 2 replies; 19+ messages in thread From: Felix Lechner via Development of GNU Guix and the GNU System distribution. @ 2023-06-12 1:10 UTC (permalink / raw) To: Maxim Cournoyer; +Cc: Andreas Enge, Christopher Baines, guix-devel Hi Maxim, On Sun, Jun 11, 2023 at 5:48 PM Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote: > > When you rewrite the > history (by using rebase, say), the existing signatures of the rewritten > (rebased) commits are replaced with new ones generated from your key. That was probably a misunderstanding. I meant to suggest with some trepidation that 'master' is merged into the feature branch, and then the feature branch is merged back into 'master'. I thought the two merge commits would be signed by the person performing the merges while the "origin seal" of the accepted change is also preserved. Please forgive me. I merely hoped to find common ground but apparently added confusion rather than clarity. Kind regards Felix ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Rebasing or merging? [was: Re: 01/03: gnu: wxwidgets: Add libxtst to inputs.] 2023-06-12 1:10 ` Felix Lechner via Development of GNU Guix and the GNU System distribution. @ 2023-06-12 12:22 ` Maxim Cournoyer 2023-06-12 13:13 ` Andreas Enge 1 sibling, 0 replies; 19+ messages in thread From: Maxim Cournoyer @ 2023-06-12 12:22 UTC (permalink / raw) To: Felix Lechner; +Cc: Andreas Enge, Christopher Baines, guix-devel Hi Felix, Felix Lechner <felix.lechner@lease-up.com> writes: > Hi Maxim, > > On Sun, Jun 11, 2023 at 5:48 PM Maxim Cournoyer > <maxim.cournoyer@gmail.com> wrote: >> >> When you rewrite the >> history (by using rebase, say), the existing signatures of the rewritten >> (rebased) commits are replaced with new ones generated from your key. > > That was probably a misunderstanding. I meant to suggest with some > trepidation that 'master' is merged into the feature branch, and then > the feature branch is merged back into 'master'. I thought the two > merge commits would be signed by the person performing the merges > while the "origin seal" of the accepted change is also preserved. > > Please forgive me. I merely hoped to find common ground but apparently > added confusion rather than clarity. No worries, cheers! -- Thanks, Maxim ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Rebasing or merging? [was: Re: 01/03: gnu: wxwidgets: Add libxtst to inputs.] 2023-06-12 1:10 ` Felix Lechner via Development of GNU Guix and the GNU System distribution. 2023-06-12 12:22 ` Maxim Cournoyer @ 2023-06-12 13:13 ` Andreas Enge 2023-06-12 13:47 ` Maxim Cournoyer 1 sibling, 1 reply; 19+ messages in thread From: Andreas Enge @ 2023-06-12 13:13 UTC (permalink / raw) To: Felix Lechner; +Cc: Maxim Cournoyer, Christopher Baines, guix-devel Hello, Am Sun, Jun 11, 2023 at 06:10:37PM -0700 schrieb Felix Lechner: > That was probably a misunderstanding. I meant to suggest with some > trepidation that 'master' is merged into the feature branch, and then > the feature branch is merged back into 'master'. I thought the two > merge commits would be signed by the person performing the merges > while the "origin seal" of the accepted change is also preserved. indeed, that is what we had been doing with the very long lived staging and core-updates branches in the past. Well, we used to repeatedly merge the master branch to core-updates, which if I remember well makes the master commits end up first in "git log". So the core-updates specific commits gradually disappear below thousands of master commits. So this is a problem. But Maxim is right about signatures, sorry for forgetting them time and again! One policy would be to *not* merge master back to the feature branch (or maybe just before merging the feature branch to master). This would work well for short-lived branches. Andreas ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Rebasing or merging? [was: Re: 01/03: gnu: wxwidgets: Add libxtst to inputs.] 2023-06-12 13:13 ` Andreas Enge @ 2023-06-12 13:47 ` Maxim Cournoyer 0 siblings, 0 replies; 19+ messages in thread From: Maxim Cournoyer @ 2023-06-12 13:47 UTC (permalink / raw) To: Andreas Enge; +Cc: Felix Lechner, Christopher Baines, guix-devel Hi Andreas, Andreas Enge <andreas@enge.fr> writes: > Hello, > > Am Sun, Jun 11, 2023 at 06:10:37PM -0700 schrieb Felix Lechner: >> That was probably a misunderstanding. I meant to suggest with some >> trepidation that 'master' is merged into the feature branch, and then >> the feature branch is merged back into 'master'. I thought the two >> merge commits would be signed by the person performing the merges >> while the "origin seal" of the accepted change is also preserved. > > indeed, that is what we had been doing with the very long lived staging > and core-updates branches in the past. Well, we used to repeatedly merge > the master branch to core-updates, which if I remember well makes the > master commits end up first in "git log". So the core-updates specific > commits gradually disappear below thousands of master commits. So this is > a problem. > > But Maxim is right about signatures, sorry for forgetting them time and > again! > > One policy would be to *not* merge master back to the feature branch > (or maybe just before merging the feature branch to master). This would > work well for short-lived branches. Yes, I think we should document as policy that there should be no merge to the feature branches unless really necessary. This will remove a lot of noise from the commit history and keep things in the feature branch focused. -- Thanks, Maxim ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Rebasing or merging? [was: Re: 01/03: gnu: wxwidgets: Add libxtst to inputs.] 2023-06-12 0:47 ` Maxim Cournoyer 2023-06-12 1:10 ` Felix Lechner via Development of GNU Guix and the GNU System distribution. @ 2023-06-13 2:07 ` Leo Famulari 2023-06-14 1:32 ` Maxim Cournoyer 2023-06-20 16:32 ` Giovanni Biscuolo 1 sibling, 2 replies; 19+ messages in thread From: Leo Famulari @ 2023-06-13 2:07 UTC (permalink / raw) To: Maxim Cournoyer Cc: Felix Lechner, Andreas Enge, Christopher Baines, guix-devel On Sun, Jun 11, 2023 at 08:47:54PM -0400, Maxim Cournoyer wrote: > I'm not sure how that'd work, since Git only allows a single PGP > signature per commit, as far as I can tell. When you rewrite the > history (by using rebase, say), the existing signatures of the rewritten > (rebased) commits are replaced with new ones generated from your key. Is it so bad to re-sign commits on feature branches that we should lose the easy-to-read history of rebased branches? To me, it's much easier to understand and review a branch that has been updated by rebasing rather than merging. I think that counts for a lot. Do many people feel the same way? Re-signing the commits is messy but I don't think there's even been a consensus that it's very bad. I think that re-signing commits while rebasing is consistent with our security model which (as I understand it) considers committers' and their machines to be trusted. And that the meaning of the signature is merely that the committed changeset was definitively made by someone with the key. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Rebasing or merging? [was: Re: 01/03: gnu: wxwidgets: Add libxtst to inputs.] 2023-06-13 2:07 ` Leo Famulari @ 2023-06-14 1:32 ` Maxim Cournoyer 2023-06-20 17:15 ` Giovanni Biscuolo 2023-06-20 16:32 ` Giovanni Biscuolo 1 sibling, 1 reply; 19+ messages in thread From: Maxim Cournoyer @ 2023-06-14 1:32 UTC (permalink / raw) To: Leo Famulari; +Cc: Felix Lechner, Andreas Enge, Christopher Baines, guix-devel Hi Leo, Leo Famulari <leo@famulari.name> writes: > On Sun, Jun 11, 2023 at 08:47:54PM -0400, Maxim Cournoyer wrote: >> I'm not sure how that'd work, since Git only allows a single PGP >> signature per commit, as far as I can tell. When you rewrite the >> history (by using rebase, say), the existing signatures of the rewritten >> (rebased) commits are replaced with new ones generated from your key. > > Is it so bad to re-sign commits on feature branches that we should lose > the easy-to-read history of rebased branches? It's no the end of the world, but if it's avoidable, it should be, in my opinion. A bigger problem with rebasing is that it means a single person can push changes to the rebased branch. As discussed previously in this thread, a good policy would be to suggest avoid *both* rebases and merges during a feature branch development. This way we avoid both problems, and if the branch is short lived, it should be bearable that is isn't synced with master for its short lifetime. -- Thanks, Maxim ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Rebasing or merging? [was: Re: 01/03: gnu: wxwidgets: Add libxtst to inputs.] 2023-06-14 1:32 ` Maxim Cournoyer @ 2023-06-20 17:15 ` Giovanni Biscuolo 2023-06-20 20:39 ` Maxim Cournoyer 0 siblings, 1 reply; 19+ messages in thread From: Giovanni Biscuolo @ 2023-06-20 17:15 UTC (permalink / raw) To: Maxim Cournoyer Cc: Leo Famulari, Felix Lechner, Andreas Enge, Christopher Baines, guix-devel [-- Attachment #1: Type: text/plain, Size: 1676 bytes --] Hi Maxim, Maxim Cournoyer <maxim.cournoyer@gmail.com> writes: > As discussed previously in this thread, a good policy would be to > suggest avoid *both* rebases and merges during a feature branch > development. This way we avoid both problems, I read the whole thread and AFAIU the (only?) problem with the "merging master to feature branch" workflow is the one pointed out by Andreas [1]: --8<---------------cut here---------------start------------->8--- Well, we used to repeatedly merge the master branch to core-updates, which if I remember well makes the master commits end up first in "git log". So the core-updates specific commits gradually disappear below thousands of master commits. So this is a problem. --8<---------------cut here---------------end--------------->8--- So, if I don't get wrong, the only problem is with "git log" not clearly showing the commit that are specific to the feature branch: are we sure is there no option that can help feature branch reviewers focus on the specific commits? Is not "git log --no-merges master..branchname" supposed to do what we need? Or "git log --first-parent <branch_name>"? (not tested) > and if the branch is short lived, it should be bearable that is isn't > synced with master for its short lifetime. What lifetime is short lived in Guix context? 5 days, 3 weeks? Anyway, I'm not sure that the branches designed on Guix (i.e. those listed on https://qa.guix.gnu.org/) will be short lived, I guess some could be long lived (months instead of weeks) WDYT? Ciao, Gio' [1] id:ZIcZ9tUidrWOfgyN@jurong -- Giovanni Biscuolo Xelera IT Infrastructures [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 849 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Rebasing or merging? [was: Re: 01/03: gnu: wxwidgets: Add libxtst to inputs.] 2023-06-20 17:15 ` Giovanni Biscuolo @ 2023-06-20 20:39 ` Maxim Cournoyer 2023-06-21 7:36 ` Josselin Poiret 0 siblings, 1 reply; 19+ messages in thread From: Maxim Cournoyer @ 2023-06-20 20:39 UTC (permalink / raw) To: Giovanni Biscuolo Cc: Leo Famulari, Felix Lechner, Andreas Enge, Christopher Baines, guix-devel Hi Giovanni, Giovanni Biscuolo <g@xelera.eu> writes: > Hi Maxim, > > Maxim Cournoyer <maxim.cournoyer@gmail.com> writes: > >> As discussed previously in this thread, a good policy would be to >> suggest avoid *both* rebases and merges during a feature branch >> development. This way we avoid both problems, > > I read the whole thread and AFAIU the (only?) problem with the "merging > master to feature branch" workflow is the one pointed out by Andreas [1]: > > > Well, we used to repeatedly merge the master branch to core-updates, > which if I remember well makes the master commits end up first in "git > log". So the core-updates specific commits gradually disappear below > thousands of master commits. So this is a problem. > > So, if I don't get wrong, the only problem is with "git log" not clearly > showing the commit that are specific to the feature branch: are we sure > is there no option that can help feature branch reviewers focus on the > specific commits? > > Is not "git log --no-merges master..branchname" supposed to do what we > need? Or "git log --first-parent <branch_name>"? (not tested) I'm not a 'git log' expert myself, but intuitively like you, I'd expect the --no-merges one to be useful to hide merge commits! The doc seems to confirm that: --no-merges Do not print commits with more than one parent. This is exactly the same as --max-parents=1. Thanks for finding that option. >> and if the branch is short lived, it should be bearable that is isn't >> synced with master for its short lifetime. > > What lifetime is short lived in Guix context? 5 days, 3 weeks? I'd say anything shorter than a month is (relatively) short lived, yes. > Anyway, I'm not sure that the branches designed on Guix (i.e. those > listed on https://qa.guix.gnu.org/) will be short lived, I guess some > could be long lived (months instead of weeks) I'm not sure too, but the idea is that when a branch is merged it should be deleted to communicate that, and that branches should be short lived (feature branches). Perhaps we'll find out that we still need more longer term integration branches that require synchronization; we'll see! -- Thanks, Maxim ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Rebasing or merging? [was: Re: 01/03: gnu: wxwidgets: Add libxtst to inputs.] 2023-06-20 20:39 ` Maxim Cournoyer @ 2023-06-21 7:36 ` Josselin Poiret 2023-06-26 13:26 ` Maxim Cournoyer 0 siblings, 1 reply; 19+ messages in thread From: Josselin Poiret @ 2023-06-21 7:36 UTC (permalink / raw) To: Maxim Cournoyer, Giovanni Biscuolo Cc: Leo Famulari, Felix Lechner, Andreas Enge, Christopher Baines, guix-devel [-- Attachment #1: Type: text/plain, Size: 637 bytes --] Hi everyone, Maxim Cournoyer <maxim.cournoyer@gmail.com> writes: > I'm not a 'git log' expert myself, but intuitively like you, I'd expect > the --no-merges one to be useful to hide merge commits! The doc seems > to confirm that: > > --no-merges > Do not print commits with more than one parent. This is > exactly the same as --max-parents=1. > > Thanks for finding that option. I used these kinds of options for the last core-updates merge, and this one only hides the merge commits themselves, not the merged commits. For that, you need to use --first-parent. Best, -- Josselin Poiret [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 682 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Rebasing or merging? [was: Re: 01/03: gnu: wxwidgets: Add libxtst to inputs.] 2023-06-21 7:36 ` Josselin Poiret @ 2023-06-26 13:26 ` Maxim Cournoyer 0 siblings, 0 replies; 19+ messages in thread From: Maxim Cournoyer @ 2023-06-26 13:26 UTC (permalink / raw) To: Josselin Poiret Cc: Giovanni Biscuolo, Leo Famulari, Felix Lechner, Andreas Enge, Christopher Baines, guix-devel Hi Josselin, Josselin Poiret <dev@jpoiret.xyz> writes: > Hi everyone, > > Maxim Cournoyer <maxim.cournoyer@gmail.com> writes: > >> I'm not a 'git log' expert myself, but intuitively like you, I'd expect >> the --no-merges one to be useful to hide merge commits! The doc seems >> to confirm that: >> >> --no-merges >> Do not print commits with more than one parent. This is >> exactly the same as --max-parents=1. >> >> Thanks for finding that option. > > I used these kinds of options for the last core-updates merge, and this > one only hides the merge commits themselves, not the merged commits. > For that, you need to use --first-parent. Good to know, thanks for sharing! -- Thanks, Maxim ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Rebasing or merging? [was: Re: 01/03: gnu: wxwidgets: Add libxtst to inputs.] 2023-06-13 2:07 ` Leo Famulari 2023-06-14 1:32 ` Maxim Cournoyer @ 2023-06-20 16:32 ` Giovanni Biscuolo 1 sibling, 0 replies; 19+ messages in thread From: Giovanni Biscuolo @ 2023-06-20 16:32 UTC (permalink / raw) To: Leo Famulari, Maxim Cournoyer Cc: Felix Lechner, Andreas Enge, Christopher Baines, guix-devel [-- Attachment #1: Type: text/plain, Size: 4823 bytes --] Hello, please consider I am (was?) a /great/ fan of rebase, but I have to admit that "the golden rule" [1] of rebasing makes sense: «never rebase on a public branch.» Leo Famulari <leo@famulari.name> writes: > On Sun, Jun 11, 2023 at 08:47:54PM -0400, Maxim Cournoyer wrote: >> I'm not sure how that'd work, since Git only allows a single PGP >> signature per commit, as far as I can tell. When you rewrite the >> history (by using rebase, say), the existing signatures of the rewritten >> (rebased) commits are replaced with new ones generated from your key. > > Is it so bad to re-sign commits on feature branches that we should lose > the easy-to-read history of rebased branches? IMHO this is not a problem, at all. > To me, it's much easier to understand and review a branch that has been > updated by rebasing rather than merging. I think that counts for a lot. > Do many people feel the same way? Me! ...if you mean "it's much easier to understand the history" I agree, but all in all this is "just" a "view" problem that should be solved (if not already solved) by a proper git log "filter" conversely, when rebasing the review process might be (sometimes very) problematic, this is an excerpt from «Why you should stop using Git rebase» https://medium.com/@fredrikmorken/why-you-should-stop-using-git-rebase-5552bee4fed1 --8<---------------cut here---------------start------------->8--- Why do we use Git at all? Because it is our most important tool for tracking down the source of bugs in our code. Git is our safety net. By rebasing, we give this less priority, in favour of the desire to achieve a linear history. A while back, I had to bisect through several hundred commits to track down a bug in our system. The faulty commit was located in the middle of a long chain of commits that didn’t compile, due to a faulty rebase a colleague had performed. This unneccessary and totally avoidable error resulted in me spending nearly a day extra in tracking down the commit. [...] Git merge. It’s a simple, one-step process, where all conflicts are resolved in a single commit. The resulting merge commit clearly marks the integration point between our branches, and our history depicts what actually happened, and when it happened. The importance of keeping your history true should not be underestimated. By rebasing, you are lying to yourself and to your team. You pretend that the commits were written today, when they were in fact written yesterday, based on another commit. You’ve taken the commits out of their original context, disguising what actually happened. Can you be sure that the code builds? Can you be sure that the commit messages still make sense? You may believe that you are cleaning up and clarifying your history, but the result may very well be the opposite. --8<---------------cut here---------------end--------------->8--- Also, when I read the below mentioned article I have many doubts that rebase should ever be used in Guix public feature branches: «Rebase Considered Harmful» https://fossil-scm.org/home/doc/trunk/www/rebaseharm.md --8<---------------cut here---------------start------------->8--- 2.1 A rebase is just a merge with historical references omitted [...] So, another way of thinking about rebase is that it is a kind of merge that intentionally forgets some details in order to not overwhelm the weak history display mechanisms available in Git. Wouldn't it be better, less error-prone, and easier on users to enhance the history display mechanisms in Git so that rebasing for a clean, linear history became unnecessary? [...] 2.2 Rebase does not actually provide better feature-branch diffs [...] The argument from rebase advocates is that with merge it is difficult to see only the changes associated with the feature branch without the commingled mainline changes. In other words, diff(C2,C7) shows changes from both the feature branch and from the mainline, whereas in the rebase case diff(C6,C5') shows only the feature branch changes. But that argument is comparing apples to oranges, since the two diffs do not have the same baseline. The correct way to see only the feature branch changes in the merge case is not diff(C2,C7) but rather diff(C6,C7). [...] (n.d.r. see graphs on original page for clearness) --8<---------------cut here---------------end--------------->8--- (IMHO the whole article deserves to be read) [...] WDYT? Happy hacking! Gio' [1] https://www.atlassian.com/git/tutorials/merging-vs-rebasing#the-golden-rule-of-rebasing P.S.: and yes, maybe Fossil is better designed than Git, but I'm not proposing switching to it, not at all :-) -- Giovanni Biscuolo Xelera IT Infrastructures [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 849 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: 01/03: gnu: wxwidgets: Add libxtst to inputs. 2023-06-11 3:17 ` Maxim Cournoyer 2023-06-11 8:44 ` Rebasing or merging? [was: Re: 01/03: gnu: wxwidgets: Add libxtst to inputs.] Andreas Enge @ 2023-06-11 9:25 ` Christopher Baines 2023-06-11 21:20 ` Maxim Cournoyer 1 sibling, 1 reply; 19+ messages in thread From: Christopher Baines @ 2023-06-11 9:25 UTC (permalink / raw) To: Maxim Cournoyer; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 1585 bytes --] Maxim Cournoyer <maxim.cournoyer@gmail.com> writes: > Hi Christopher, > > Christopher Baines <mail@cbaines.net> writes: > >> guix-commits@gnu.org writes: >> >>> apteryx pushed a commit to branch master >>> in repository guix. >>> >>> commit ec9f15b158300da3a77ce02cd2267222f435e80f >>> Author: Maxim Cournoyer <maxim.cournoyer@gmail.com> >>> AuthorDate: Tue Jun 6 12:12:40 2023 -0400 >>> >>> gnu: wxwidgets: Add libxtst to inputs. >>> >>> WxWidgets was already built with XTest support, but mostly by luck, via >>> propagation of libxtst from GTK's propagated at-spi2-core package. Make it an >>> explicit input. >>> >>> * gnu/packages/wxwidgets.scm (wxwidgets) [inputs]: Add libxtst. >>> --- >>> gnu/packages/wxwidgets.scm | 1 + >>> 1 file changed, 1 insertion(+) >> >> Did this need to go straight to the master branch? >> >> → guix refresh -l wxwidgets >> Building the following 217 packages would ensure 456 dependent packages are rebuilt: ... >> >> That to me says this should go to staging. > > Correct. Except there's no staging branch anymore. I guess we should > create one? :-) You're the second person to mention this. I guess I view the branch not existing as a minor technical detail that doesn't really change what you'd do. Maybe we need to do more in the guidance to reassure people though, you should still push to a branch if that's what you should do, even if that branch doesn't currently exist on the remote. This situation will probably come up more often in the case of team branches. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 987 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: 01/03: gnu: wxwidgets: Add libxtst to inputs. 2023-06-11 9:25 ` 01/03: gnu: wxwidgets: Add libxtst to inputs Christopher Baines @ 2023-06-11 21:20 ` Maxim Cournoyer 0 siblings, 0 replies; 19+ messages in thread From: Maxim Cournoyer @ 2023-06-11 21:20 UTC (permalink / raw) To: Christopher Baines; +Cc: guix-devel Hi, Christopher Baines <mail@cbaines.net> writes: > Maxim Cournoyer <maxim.cournoyer@gmail.com> writes: > >> Hi Christopher, >> >> Christopher Baines <mail@cbaines.net> writes: >> >>> guix-commits@gnu.org writes: >>> >>>> apteryx pushed a commit to branch master >>>> in repository guix. >>>> >>>> commit ec9f15b158300da3a77ce02cd2267222f435e80f >>>> Author: Maxim Cournoyer <maxim.cournoyer@gmail.com> >>>> AuthorDate: Tue Jun 6 12:12:40 2023 -0400 >>>> >>>> gnu: wxwidgets: Add libxtst to inputs. >>>> >>>> WxWidgets was already built with XTest support, but mostly by luck, via >>>> propagation of libxtst from GTK's propagated at-spi2-core package. Make it an >>>> explicit input. >>>> >>>> * gnu/packages/wxwidgets.scm (wxwidgets) [inputs]: Add libxtst. >>>> --- >>>> gnu/packages/wxwidgets.scm | 1 + >>>> 1 file changed, 1 insertion(+) >>> >>> Did this need to go straight to the master branch? >>> >>> → guix refresh -l wxwidgets >>> Building the following 217 packages would ensure 456 dependent packages are rebuilt: ... >>> >>> That to me says this should go to staging. >> >> Correct. Except there's no staging branch anymore. I guess we should >> create one? :-) > > You're the second person to mention this. I guess I view the branch not > existing as a minor technical detail that doesn't really change what > you'd do. I remember we were very happy to get rid of the staging branch last time we managed to merge it -- I was naively hoping we'd have ironed out the new team-based branching processes soon enough to not have to recreate staging/core-updates anew; I guess I'm not alone :-). Which reminds me, I need to take a look at https://issues.guix.gnu.org/63459, which I'll try to do soon. -- Thanks, Maxim ^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2023-06-26 13:26 UTC | newest] Thread overview: 19+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <168610879676.2825.9044237296073582277@vcs2.savannah.gnu.org> [not found] ` <20230607033317.826FCC23EDC@vcs2.savannah.gnu.org> 2023-06-07 10:59 ` 01/03: gnu: wxwidgets: Add libxtst to inputs Christopher Baines 2023-06-11 3:17 ` Maxim Cournoyer 2023-06-11 8:44 ` Rebasing or merging? [was: Re: 01/03: gnu: wxwidgets: Add libxtst to inputs.] Andreas Enge 2023-06-11 21:25 ` Maxim Cournoyer 2023-06-11 22:40 ` Felix Lechner via Development of GNU Guix and the GNU System distribution. 2023-06-12 0:47 ` Maxim Cournoyer 2023-06-12 1:10 ` Felix Lechner via Development of GNU Guix and the GNU System distribution. 2023-06-12 12:22 ` Maxim Cournoyer 2023-06-12 13:13 ` Andreas Enge 2023-06-12 13:47 ` Maxim Cournoyer 2023-06-13 2:07 ` Leo Famulari 2023-06-14 1:32 ` Maxim Cournoyer 2023-06-20 17:15 ` Giovanni Biscuolo 2023-06-20 20:39 ` Maxim Cournoyer 2023-06-21 7:36 ` Josselin Poiret 2023-06-26 13:26 ` Maxim Cournoyer 2023-06-20 16:32 ` Giovanni Biscuolo 2023-06-11 9:25 ` 01/03: gnu: wxwidgets: Add libxtst to inputs Christopher Baines 2023-06-11 21:20 ` Maxim Cournoyer
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).