all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* scratch/igc as feature branch
@ 2024-07-03 12:40 Andrea Corallo
  2024-07-03 17:44 ` Gerd Möllmann
  0 siblings, 1 reply; 15+ messages in thread
From: Andrea Corallo @ 2024-07-03 12:40 UTC (permalink / raw)
  To: emacs-devel; +Cc: Gerd Möllmann

Hi all,

given a number of developers here are tracking and working cooperatively
on scratch/igc and the aim is to hopefully reach a mergable status,
shouldn't we move the development to a feature branch (read
feature/igc)?

Typically feature branch are supposed to be tracked by other people
(read no force push allowed) and commit messages are already in the
format suggested by CONTRIBUTE.

WDYT?

  Andrea



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: scratch/igc as feature branch
  2024-07-03 12:40 scratch/igc as feature branch Andrea Corallo
@ 2024-07-03 17:44 ` Gerd Möllmann
  2024-07-03 19:01   ` Andrea Corallo
  0 siblings, 1 reply; 15+ messages in thread
From: Gerd Möllmann @ 2024-07-03 17:44 UTC (permalink / raw)
  To: Andrea Corallo; +Cc: emacs-devel

Andrea Corallo <acorallo@gnu.org> writes:

> Hi all,
>
> given a number of developers here are tracking and working cooperatively
> on scratch/igc and the aim is to hopefully reach a mergable status,
> shouldn't we move the development to a feature branch (read
> feature/igc)?
>
> Typically feature branch are supposed to be tracked by other people
> (read no force push allowed) and commit messages are already in the
> format suggested by CONTRIBUTE.

Can't speak for Helmut or Pip, but I find it too early to put
restictions on developers :-).

BTW, what's in for the developers when it becomes a feature branch?



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: scratch/igc as feature branch
  2024-07-03 17:44 ` Gerd Möllmann
@ 2024-07-03 19:01   ` Andrea Corallo
  2024-07-03 19:29     ` Gerd Möllmann
  0 siblings, 1 reply; 15+ messages in thread
From: Andrea Corallo @ 2024-07-03 19:01 UTC (permalink / raw)
  To: Gerd Möllmann; +Cc: emacs-devel

Gerd Möllmann <gerd.moellmann@gmail.com> writes:

> Andrea Corallo <acorallo@gnu.org> writes:
>
>> Hi all,
>>
>> given a number of developers here are tracking and working cooperatively
>> on scratch/igc and the aim is to hopefully reach a mergable status,
>> shouldn't we move the development to a feature branch (read
>> feature/igc)?
>>
>> Typically feature branch are supposed to be tracked by other people
>> (read no force push allowed) and commit messages are already in the
>> format suggested by CONTRIBUTE.
>
> Can't speak for Helmut or Pip, but I find it too early to put
> restictions on developers :-).
>
> BTW, what's in for the developers when it becomes a feature branch?

- Tipically the guarantee that the branch is not force pushed (a PITA
for other developers tracking and working on the branch).

- It gives more visibility externally, so overt time more users can find
it, try it, and report issues.

- The fact that the branch is already worked with commits that will be
directly mergable without having to do a mega rebase afterward.  Also
the mega rebase would cancel all or part of the history which I find a
serious disadvantage.

It's indeed up to the developers of the branch, I'd personally find it
advantageous therefore my proposal but it's just me :)



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: scratch/igc as feature branch
  2024-07-03 19:01   ` Andrea Corallo
@ 2024-07-03 19:29     ` Gerd Möllmann
  2024-07-03 19:37       ` Gerd Möllmann
                         ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Gerd Möllmann @ 2024-07-03 19:29 UTC (permalink / raw)
  To: Andrea Corallo; +Cc: emacs-devel

Andrea Corallo <acorallo@gnu.org> writes:

> - The fact that the branch is already worked with commits that will be
> directly mergable without having to do a mega rebase afterward.  Also
> the mega rebase would cancel all or part of the history which I find a
> serious disadvantage.

Hm, that makes me curious.

Does it mean that in the end, before merging, every commit must have a
conforming commit message? Also, there are probably many hundreds of
commits that are not in scratch/igc at all, but only in my original.
What's with those?



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: scratch/igc as feature branch
  2024-07-03 19:29     ` Gerd Möllmann
@ 2024-07-03 19:37       ` Gerd Möllmann
  2024-07-04  4:58         ` Eli Zaretskii
  2024-07-03 22:04       ` Andrea Corallo
  2024-07-04  4:49       ` Eli Zaretskii
  2 siblings, 1 reply; 15+ messages in thread
From: Gerd Möllmann @ 2024-07-03 19:37 UTC (permalink / raw)
  To: Andrea Corallo; +Cc: emacs-devel

Gerd Möllmann <gerd.moellmann@gmail.com> writes:

> Andrea Corallo <acorallo@gnu.org> writes:
>
>> - The fact that the branch is already worked with commits that will be
>> directly mergable without having to do a mega rebase afterward.  Also
>> the mega rebase would cancel all or part of the history which I find a
>> serious disadvantage.
>
> Hm, that makes me curious.
>
> Does it mean that in the end, before merging, every commit must have a
> conforming commit message? Also, there are probably many hundreds of
> commits that are not in scratch/igc at all, but only in my original.
> What's with those?

Some numbers, hope I got the git right

/Users/gerd/emacs/github/igc % git rev-list --count cl-packages..igc --first-parent
980

/Users/gerd/emacs/savannah/igc % git rev-list --count master..scratch/igc --first-parent
431



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: scratch/igc as feature branch
  2024-07-03 19:29     ` Gerd Möllmann
  2024-07-03 19:37       ` Gerd Möllmann
@ 2024-07-03 22:04       ` Andrea Corallo
  2024-07-04  4:15         ` Gerd Möllmann
  2024-07-04  4:49       ` Eli Zaretskii
  2 siblings, 1 reply; 15+ messages in thread
From: Andrea Corallo @ 2024-07-03 22:04 UTC (permalink / raw)
  To: Gerd Möllmann; +Cc: emacs-devel

Gerd Möllmann <gerd.moellmann@gmail.com> writes:

> Andrea Corallo <acorallo@gnu.org> writes:
>
>> - The fact that the branch is already worked with commits that will be
>> directly mergable without having to do a mega rebase afterward.  Also
>> the mega rebase would cancel all or part of the history which I find a
>> serious disadvantage.
>
> Hm, that makes me curious.
>
> Does it mean that in the end, before merging, every commit must have a
> conforming commit message?

I don't know if we have to be 100% strict on this, my opinion is that
would be a pity to loose the history of the branch we already have, but
others might have other opinions.  OTOH given we know *now* that the
goal is to try to merge, it would feel very weired to me to deliberatly
ignore what we have in CONTRIBUTE as requirements for commits we are
writing now and we know we want to include.

> Also, there are probably many hundreds of
> commits that are not in scratch/igc at all, but only in my original.
> What's with those?

We are discussing igc, how do these other commits come into play?

  Andrea



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: scratch/igc as feature branch
  2024-07-03 22:04       ` Andrea Corallo
@ 2024-07-04  4:15         ` Gerd Möllmann
  2024-07-04  6:15           ` Eli Zaretskii
  0 siblings, 1 reply; 15+ messages in thread
From: Gerd Möllmann @ 2024-07-04  4:15 UTC (permalink / raw)
  To: Andrea Corallo; +Cc: emacs-devel

Andrea Corallo <acorallo@gnu.org> writes:

> Gerd Möllmann <gerd.moellmann@gmail.com> writes:
>
>> Andrea Corallo <acorallo@gnu.org> writes:
>>
>>> - The fact that the branch is already worked with commits that will be
>>> directly mergable without having to do a mega rebase afterward.  Also
>>> the mega rebase would cancel all or part of the history which I find a
>>> serious disadvantage.
>>
>> Hm, that makes me curious.
>>
>> Does it mean that in the end, before merging, every commit must have a
>> conforming commit message?
>
> I don't know if we have to be 100% strict on this, my opinion is that
> would be a pity to loose the history of the branch we already have, but
> others might have other opinions.  

Not sure what you mean with loosing the history. Do you mean the git
history? If so, how would you loose that? Squashing? I'm confused.

> OTOH given we know *now* that the goal is to try to merge, it would
> feel very weired to me to deliberatly ignore what we have in
> CONTRIBUTE as requirements for commits we are writing now and we know
> we want to include.

Sorry, I was asking about existing commits, not the future. I'm asking
because you mentioned rebasing which I take to mean interactive rebasing
to write new commit messages otherwise I don't know how rebasing comes
into play.

My question is if that's correct and if so who is supposed to write all
these commit messages? And the number of commits give an impression of
the amount of work involved.

>> Also, there are probably many hundreds of
>> commits that are not in scratch/igc at all, but only in my original.
>> What's with those?
>
> We are discussing igc, how do these other commits come into play?

The igc branch on github is the original, containing the whole truth
from day 1. I created scratch/igc by taking my changes after some 500+
commits and applying them to master at that time. (And FWIW I'm not
using scratch/igc for anything.) I suppose you know all that.

My question is what's with commit message of the initial commit in
scratch/igc? There is definitely a cut point there. The history of 500
commits is lost. Git history.



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: scratch/igc as feature branch
  2024-07-03 19:29     ` Gerd Möllmann
  2024-07-03 19:37       ` Gerd Möllmann
  2024-07-03 22:04       ` Andrea Corallo
@ 2024-07-04  4:49       ` Eli Zaretskii
  2024-07-04  6:14         ` Gerd Möllmann
  2 siblings, 1 reply; 15+ messages in thread
From: Eli Zaretskii @ 2024-07-04  4:49 UTC (permalink / raw)
  To: Gerd Möllmann; +Cc: acorallo, emacs-devel

> From: Gerd Möllmann <gerd.moellmann@gmail.com>
> Cc: emacs-devel@gnu.org
> Date: Wed, 03 Jul 2024 21:29:49 +0200
> 
> Does it mean that in the end, before merging, every commit must have a
> conforming commit message?

No, we only need to provide a commit log message that describes the
changes wrt the revision before the merge.  For example, a new file or
a new function that saw gobs of commits on the branch needs only to be
mentioned as new file or new function.  Other places need to be
mentioned as if all the changes were done in one go, and changes which
were later reverted don't need to be mentioned at all.

IOW, think about describing the merge "as if" you've rebased the
branch onto master (I say "as if" because IMO actually rebasing is not
a good idea).

> Also, there are probably many hundreds of commits that are not in
> scratch/igc at all, but only in my original.  What's with those?

If they don't affect the code after the merge, they don't need to be
mentioned in the commit log message.  Or did you mean something other
than commit log messages?



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: scratch/igc as feature branch
  2024-07-03 19:37       ` Gerd Möllmann
@ 2024-07-04  4:58         ` Eli Zaretskii
  2024-07-04  6:19           ` Gerd Möllmann
  0 siblings, 1 reply; 15+ messages in thread
From: Eli Zaretskii @ 2024-07-04  4:58 UTC (permalink / raw)
  To: Gerd Möllmann; +Cc: acorallo, emacs-devel

> From: Gerd Möllmann <gerd.moellmann@gmail.com>
> Cc: emacs-devel@gnu.org
> Date: Wed, 03 Jul 2024 21:37:42 +0200
> 
> Some numbers, hope I got the git right
> 
> /Users/gerd/emacs/github/igc % git rev-list --count cl-packages..igc --first-parent
> 980
> 
> /Users/gerd/emacs/savannah/igc % git rev-list --count master..scratch/igc --first-parent
> 431

What do you want to say with these numbers?



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: scratch/igc as feature branch
  2024-07-04  4:49       ` Eli Zaretskii
@ 2024-07-04  6:14         ` Gerd Möllmann
  2024-07-04  6:26           ` Eli Zaretskii
  0 siblings, 1 reply; 15+ messages in thread
From: Gerd Möllmann @ 2024-07-04  6:14 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: acorallo, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Gerd Möllmann <gerd.moellmann@gmail.com>
>> Cc: emacs-devel@gnu.org
>> Date: Wed, 03 Jul 2024 21:29:49 +0200
>> 
>> Does it mean that in the end, before merging, every commit must have a
>> conforming commit message?
>
> No, we only need to provide a commit log message that describes the
> changes wrt the revision before the merge.  For example, a new file or
> a new function that saw gobs of commits on the branch needs only to be
> mentioned as new file or new function.  Other places need to be
> mentioned as if all the changes were done in one go, and changes which
> were later reverted don't need to be mentioned at all.
>
> IOW, think about describing the merge "as if" you've rebased the
> branch onto master (I say "as if" because IMO actually rebasing is not
> a good idea).

Let try me formulate in my own words what I understood, to see it is
right.

The commits before the merge don't need new new commit messages. So,
there's is no interactive rebasing required. The commit message of the
merge consists of a change log entry describing all effective changes
between master and igc at that time (it describes the diff at that
time.

Right?

>> Also, there are probably many hundreds of commits that are not in
>> scratch/igc at all, but only in my original.  What's with those?
>
> If they don't affect the code after the merge, they don't need to be
> mentioned in the commit log message.  Or did you mean something other
> than commit log messages?

Well, Andrea talked about the importance of history. And >50% of the
history are not on savannah. I guess I just don't understand what he
means with history which should be preserved or how h expressed it.



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: scratch/igc as feature branch
  2024-07-04  4:15         ` Gerd Möllmann
@ 2024-07-04  6:15           ` Eli Zaretskii
  0 siblings, 0 replies; 15+ messages in thread
From: Eli Zaretskii @ 2024-07-04  6:15 UTC (permalink / raw)
  To: Gerd Möllmann; +Cc: acorallo, emacs-devel

> From: Gerd Möllmann <gerd.moellmann@gmail.com>
> Cc: emacs-devel@gnu.org
> Date: Thu, 04 Jul 2024 06:15:08 +0200
> 
> Andrea Corallo <acorallo@gnu.org> writes:
> 
> >> Does it mean that in the end, before merging, every commit must have a
> >> conforming commit message?
> >
> > I don't know if we have to be 100% strict on this, my opinion is that
> > would be a pity to loose the history of the branch we already have, but
> > others might have other opinions.  
> 
> Not sure what you mean with loosing the history. Do you mean the git
> history?

Yes.

> If so, how would you loose that? Squashing? I'm confused.

If you rebase or squash, you lose the Git history of the branch.

> > OTOH given we know *now* that the goal is to try to merge, it would
> > feel very weired to me to deliberatly ignore what we have in
> > CONTRIBUTE as requirements for commits we are writing now and we know
> > we want to include.
> 
> Sorry, I was asking about existing commits, not the future. I'm asking
> because you mentioned rebasing which I take to mean interactive rebasing
> to write new commit messages otherwise I don't know how rebasing comes
> into play.

He mean "git rebase" instead of "git merge">  I don't think this is
what you mean when you say "interactive rebasing".

> My question is if that's correct and if so who is supposed to write all
> these commit messages? And the number of commits give an impression of
> the amount of work involved.

See my response: there's no need to write such massive log messages.

> >> Also, there are probably many hundreds of
> >> commits that are not in scratch/igc at all, but only in my original.
> >> What's with those?
> >
> > We are discussing igc, how do these other commits come into play?
> 
> The igc branch on github is the original, containing the whole truth
> from day 1. I created scratch/igc by taking my changes after some 500+
> commits and applying them to master at that time. (And FWIW I'm not
> using scratch/igc for anything.) I suppose you know all that.
> 
> My question is what's with commit message of the initial commit in
> scratch/igc? There is definitely a cut point there. The history of 500
> commits is lost. Git history.

There's nothing we can reasonably do with that, so don't worry about
that.  In the final merge commit we'll need to describe changes
relative to the fork point, where the scratch/igc branch was forked
from the-then master, that's all.



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: scratch/igc as feature branch
  2024-07-04  4:58         ` Eli Zaretskii
@ 2024-07-04  6:19           ` Gerd Möllmann
  0 siblings, 0 replies; 15+ messages in thread
From: Gerd Möllmann @ 2024-07-04  6:19 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: acorallo, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Gerd Möllmann <gerd.moellmann@gmail.com>
>> Cc: emacs-devel@gnu.org
>> Date: Wed, 03 Jul 2024 21:37:42 +0200
>> 
>> Some numbers, hope I got the git right
>> 
>> /Users/gerd/emacs/github/igc % git rev-list --count cl-packages..igc --first-parent
>> 980
>> 
>> /Users/gerd/emacs/savannah/igc % git rev-list --count master..scratch/igc --first-parent
>> 431
>
> What do you want to say with these numbers?

Two things.

(1) There are >500 of history (= commits for me) that aren't in
scratch/igc. Since Andrea was mentioning history...

(2) If commit messages need to be rewritten, there are >400,
so it's a lot of work. Since rebasing was mentioned...



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: scratch/igc as feature branch
  2024-07-04  6:14         ` Gerd Möllmann
@ 2024-07-04  6:26           ` Eli Zaretskii
  2024-07-04  6:55             ` Gerd Möllmann
  0 siblings, 1 reply; 15+ messages in thread
From: Eli Zaretskii @ 2024-07-04  6:26 UTC (permalink / raw)
  To: Gerd Möllmann; +Cc: acorallo, emacs-devel

> From: Gerd Möllmann <gerd.moellmann@gmail.com>
> Cc: acorallo@gnu.org,  emacs-devel@gnu.org
> Date: Thu, 04 Jul 2024 08:14:24 +0200
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > No, we only need to provide a commit log message that describes the
> > changes wrt the revision before the merge.  For example, a new file or
> > a new function that saw gobs of commits on the branch needs only to be
> > mentioned as new file or new function.  Other places need to be
> > mentioned as if all the changes were done in one go, and changes which
> > were later reverted don't need to be mentioned at all.
> >
> > IOW, think about describing the merge "as if" you've rebased the
> > branch onto master (I say "as if" because IMO actually rebasing is not
> > a good idea).
> 
> Let try me formulate in my own words what I understood, to see it is
> right.
> 
> The commits before the merge don't need new new commit messages. So,
> there's is no interactive rebasing required. The commit message of the
> merge consists of a change log entry describing all effective changes
> between master and igc at that time (it describes the diff at that
> time.
> 
> Right?

Yes.

> >> Also, there are probably many hundreds of commits that are not in
> >> scratch/igc at all, but only in my original.  What's with those?
> >
> > If they don't affect the code after the merge, they don't need to be
> > mentioned in the commit log message.  Or did you mean something other
> > than commit log messages?
> 
> Well, Andrea talked about the importance of history. And >50% of the
> history are not on savannah. I guess I just don't understand what he
> means with history which should be preserved or how h expressed it.

I believe I answered that in another email.



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: scratch/igc as feature branch
  2024-07-04  6:26           ` Eli Zaretskii
@ 2024-07-04  6:55             ` Gerd Möllmann
  2024-07-04  7:41               ` Eli Zaretskii
  0 siblings, 1 reply; 15+ messages in thread
From: Gerd Möllmann @ 2024-07-04  6:55 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: acorallo, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> The commits before the merge don't need new new commit messages. So,
>> there's is no interactive rebasing required. The commit message of the
>> merge consists of a change log entry describing all effective changes
>> between master and igc at that time (it describes the diff at that
>> time.
>> 
>> Right?
>
> Yes.

Thanks.

Whoever does that in the end is a poor soul.



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: scratch/igc as feature branch
  2024-07-04  6:55             ` Gerd Möllmann
@ 2024-07-04  7:41               ` Eli Zaretskii
  0 siblings, 0 replies; 15+ messages in thread
From: Eli Zaretskii @ 2024-07-04  7:41 UTC (permalink / raw)
  To: Gerd Möllmann; +Cc: acorallo, emacs-devel

> From: Gerd Möllmann <gerd.moellmann@gmail.com>
> Cc: acorallo@gnu.org,  emacs-devel@gnu.org
> Date: Thu, 04 Jul 2024 08:55:52 +0200
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> The commits before the merge don't need new new commit messages. So,
> >> there's is no interactive rebasing required. The commit message of the
> >> merge consists of a change log entry describing all effective changes
> >> between master and igc at that time (it describes the diff at that
> >> time.
> >> 
> >> Right?
> >
> > Yes.
> 
> Thanks.
> 
> Whoever does that in the end is a poor soul.

Not really, it's a relatively simple task, even for very large merges
from a feature branch.  For example, all the stuff in igc.c needs just
one entry:

  * src/igc.c: New file.



^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2024-07-04  7:41 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-03 12:40 scratch/igc as feature branch Andrea Corallo
2024-07-03 17:44 ` Gerd Möllmann
2024-07-03 19:01   ` Andrea Corallo
2024-07-03 19:29     ` Gerd Möllmann
2024-07-03 19:37       ` Gerd Möllmann
2024-07-04  4:58         ` Eli Zaretskii
2024-07-04  6:19           ` Gerd Möllmann
2024-07-03 22:04       ` Andrea Corallo
2024-07-04  4:15         ` Gerd Möllmann
2024-07-04  6:15           ` Eli Zaretskii
2024-07-04  4:49       ` Eli Zaretskii
2024-07-04  6:14         ` Gerd Möllmann
2024-07-04  6:26           ` Eli Zaretskii
2024-07-04  6:55             ` Gerd Möllmann
2024-07-04  7:41               ` Eli Zaretskii

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.