* Re: ChangeLogs in the elpa branch
2011-09-26 16:26 ` Glenn Morris
@ 2011-09-26 16:38 ` Lars Magne Ingebrigtsen
2011-09-26 19:18 ` Andreas Schwab
2011-09-26 17:06 ` Eli Zaretskii
` (3 subsequent siblings)
4 siblings, 1 reply; 31+ messages in thread
From: Lars Magne Ingebrigtsen @ 2011-09-26 16:38 UTC (permalink / raw)
To: Glenn Morris; +Cc: Michael Albinus, Stefan Monnier, emacs-devel
Glenn Morris <rgm@gnu.org> writes:
> Reasons I can see why people want to do this:
>
> 1) It makes merging between branches a bit easier.
My work flow when fixing small bugs (and most of them are small bugs)
are:
1) fix the bug
2) `C-x 4 a', and write the bug entry
3) `M-x vc-dir RET'
4) Do something depending on what's shown in the vc-dir buffer, like
mark ChangeLog and the file in question, in case I have other changes
pending, which I often have
5) `='
6) `v'
7) `C-c C-a' to pull in the log
8) Remove the bit too much that `C-a C-a' pulled in, since I perhaps
just did another change to the same file.
9) Rewrite the entry to fit a commit; i.e., make a complete first
sentence that shows up as the summary
10) `C-c C-c'
11) Profit!
If we didn't have a ChangeLog, my work flow would be:
1) fix the bug
2) `C-x v ='
3) `C-x v v'
4) Write the entry
5) `C-c C-c'
Won't anybody think of the poor developers' fingers!
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog http://lars.ingebrigtsen.no/
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: ChangeLogs in the elpa branch
2011-09-26 16:38 ` Lars Magne Ingebrigtsen
@ 2011-09-26 19:18 ` Andreas Schwab
0 siblings, 0 replies; 31+ messages in thread
From: Andreas Schwab @ 2011-09-26 19:18 UTC (permalink / raw)
To: Lars Magne Ingebrigtsen; +Cc: Michael Albinus, Stefan Monnier, emacs-devel
Lars Magne Ingebrigtsen <larsi@gnus.org> writes:
> 4) Do something depending on what's shown in the vc-dir buffer, like
> mark ChangeLog and the file in question, in case I have other changes
> pending, which I often have
You shouldn't. Commit early, commit often.
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: ChangeLogs in the elpa branch
2011-09-26 16:26 ` Glenn Morris
2011-09-26 16:38 ` Lars Magne Ingebrigtsen
@ 2011-09-26 17:06 ` Eli Zaretskii
2011-09-26 17:08 ` Stefan Monnier
` (2 subsequent siblings)
4 siblings, 0 replies; 31+ messages in thread
From: Eli Zaretskii @ 2011-09-26 17:06 UTC (permalink / raw)
To: Glenn Morris; +Cc: michael.albinus, monnier, emacs-devel
> From: Glenn Morris <rgm@gnu.org>
> Date: Mon, 26 Sep 2011 12:26:53 -0400
> Cc: Michael Albinus <michael.albinus@gmx.de>, emacs-devel@gnu.org
>
> Personally I think the slight extra time involved in maintaining a
> ChangeLog is more than justified by the higher quality of said log.
I agree with everything Glenn wrote, FWIW.
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: ChangeLogs in the elpa branch
2011-09-26 16:26 ` Glenn Morris
2011-09-26 16:38 ` Lars Magne Ingebrigtsen
2011-09-26 17:06 ` Eli Zaretskii
@ 2011-09-26 17:08 ` Stefan Monnier
2011-09-26 21:18 ` Michael Albinus
` (2 more replies)
2011-09-27 9:00 ` Juanma Barranquero
2011-09-27 12:24 ` Thien-Thi Nguyen
4 siblings, 3 replies; 31+ messages in thread
From: Stefan Monnier @ 2011-09-26 17:08 UTC (permalink / raw)
To: Glenn Morris; +Cc: Michael Albinus, emacs-devel
> Reasons I object to getting rid of ChangeLogs:
> 1) Using Emacs VC, you only have to write the ChangeLog, then use C-c
> C-a to insert it into the commit buffer. So there is no need to "write
> the same thing twice".
That doesn't seem like an objection but more like a reason why you're
willing to live with the duplication.
> 2) Sometimes I want to put more detail into the commit log, which is
> not appropriate for the ChangeLog.
Without stating why, I can't assess how serious this is.
> 3) ChangeLogs can be edited to correct mistakes, commit logs cannot.
That's not written in stone. CVS can edit its commit logs, and there's
no reason the same can't be done for other revision control systems.
Better yet: there's no reason we can't do it ourselves in a (potentially
even backend-agnostic) way that will work for C-x v l and for
auto-generation of a ChangeLog file.
> 4) I have the impression that having to write ChangeLogs leads to
> higher quality entries than just using commit logs would.
I think this just reflects the better support in change-log-mode, with
highlighting, C-x 4 a and things like that. We indeed need to improve
the commit-log-editor accordingly.
Stefan
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: ChangeLogs in the elpa branch
2011-09-26 17:08 ` Stefan Monnier
@ 2011-09-26 21:18 ` Michael Albinus
2011-09-26 21:27 ` Lars Magne Ingebrigtsen
2011-09-27 5:22 ` Bastien
2011-09-27 7:10 ` Glenn Morris
2 siblings, 1 reply; 31+ messages in thread
From: Michael Albinus @ 2011-09-26 21:18 UTC (permalink / raw)
To: Stefan Monnier; +Cc: emacs-devel
Stefan Monnier <monnier@IRO.UMontreal.CA> writes:
>> 1) Using Emacs VC, you only have to write the ChangeLog, then use C-c
>> C-a to insert it into the commit buffer. So there is no need to "write
>> the same thing twice".
>
> That doesn't seem like an objection but more like a reason why you're
> willing to live with the duplication.
Sometimes, I commit for somebody else. I mark it in the ChangeLog.
Without a ChangeLog, I need to add --author to the (bzr) commit. How
is this possible with Emacs' VC?
> Stefan
Best regards, Michael.
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: ChangeLogs in the elpa branch
2011-09-26 17:08 ` Stefan Monnier
2011-09-26 21:18 ` Michael Albinus
@ 2011-09-27 5:22 ` Bastien
2011-09-27 8:57 ` Andreas Schwab
2011-09-27 13:00 ` Stefan Monnier
2011-09-27 7:10 ` Glenn Morris
2 siblings, 2 replies; 31+ messages in thread
From: Bastien @ 2011-09-27 5:22 UTC (permalink / raw)
To: Stefan Monnier; +Cc: Michael Albinus, emacs-devel
Stefan Monnier <monnier@IRO.UMontreal.CA> writes:
> That's not written in stone. CVS can edit its commit logs, and there's
> no reason the same can't be done for other revision control systems.
At least for git, you can edit the last commit message with a simple
~$ git commit --amend
But editing the commit logs beyond that goes against a principle that
is somewhat carved in stone: "Don't modify the commit logs history."
I don't know how bzr devs feel about this.
--
Bastien
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: ChangeLogs in the elpa branch
2011-09-27 5:22 ` Bastien
@ 2011-09-27 8:57 ` Andreas Schwab
2011-09-27 9:04 ` Bastien
2011-09-27 9:25 ` Eli Zaretskii
2011-09-27 13:00 ` Stefan Monnier
1 sibling, 2 replies; 31+ messages in thread
From: Andreas Schwab @ 2011-09-27 8:57 UTC (permalink / raw)
To: Bastien; +Cc: Michael Albinus, Stefan Monnier, emacs-devel
Bastien <bzg@altern.org> writes:
> At least for git, you can edit the last commit message with a simple
> ~$ git commit --amend
git rebase -i can conveniently do that for older commits as well.
> But editing the commit logs beyond that goes against a principle that
> is somewhat carved in stone: "Don't modify the commit logs history."
The principle is actually: "Don't modify published history." It is
perfectly ok to edit commits locally until you are happy with them
before publishing them.
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: ChangeLogs in the elpa branch
2011-09-27 8:57 ` Andreas Schwab
@ 2011-09-27 9:04 ` Bastien
2011-09-27 9:25 ` Eli Zaretskii
1 sibling, 0 replies; 31+ messages in thread
From: Bastien @ 2011-09-27 9:04 UTC (permalink / raw)
To: Andreas Schwab; +Cc: Michael Albinus, Stefan Monnier, emacs-devel
Andreas Schwab <schwab@linux-m68k.org> writes:
> The principle is actually: "Don't modify published history." It is
> perfectly ok to edit commits locally until you are happy with them
> before publishing them.
You're perfectly right, thanks for the precision.
--
Bastien
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: ChangeLogs in the elpa branch
2011-09-27 8:57 ` Andreas Schwab
2011-09-27 9:04 ` Bastien
@ 2011-09-27 9:25 ` Eli Zaretskii
1 sibling, 0 replies; 31+ messages in thread
From: Eli Zaretskii @ 2011-09-27 9:25 UTC (permalink / raw)
To: Andreas Schwab; +Cc: bzg, michael.albinus, monnier, emacs-devel
> From: Andreas Schwab <schwab@linux-m68k.org>
> Date: Tue, 27 Sep 2011 10:57:22 +0200
> Cc: Michael Albinus <michael.albinus@gmx.de>,
> Stefan Monnier <monnier@IRO.UMontreal.CA>, emacs-devel@gnu.org
>
> > But editing the commit logs beyond that goes against a principle that
> > is somewhat carved in stone: "Don't modify the commit logs history."
>
> The principle is actually: "Don't modify published history." It is
> perfectly ok to edit commits locally until you are happy with them
> before publishing them.
If your bzr branch is not bound, then your log messages will be
invisible anyway after merging to mainline (unless people actually
_want_ to see logs from non-mainline history); what matters is the log
you write when you merge. If your branch _is_ bound, then there are
no local commits. (If you are thinking about "bzr ci --local", then
these again look after pushing as non-mainline commits, so this option
doesn't change the basic facts.)
I suspect that people who care about lack of the ability to edit log
messages are talking about the latter situation. So the "you can edit
non-published history" stance does not help them.
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: ChangeLogs in the elpa branch
2011-09-27 5:22 ` Bastien
2011-09-27 8:57 ` Andreas Schwab
@ 2011-09-27 13:00 ` Stefan Monnier
1 sibling, 0 replies; 31+ messages in thread
From: Stefan Monnier @ 2011-09-27 13:00 UTC (permalink / raw)
To: Bastien; +Cc: Michael Albinus, emacs-devel
> But editing the commit logs beyond that goes against a principle that
> is somewhat carved in stone: "Don't modify the commit logs history."
If you go read the Bazaar ticket about this issue, you'll see that the
unchanging nature of the past is not incompatible with "editing past
commit messages". You only need to commit a new additional change that
contains a note "in the future, whenever the user asks for the commit
message of commit nb XXX, please return this new text instead of the one
stored in the immutable history".
Stefan
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: ChangeLogs in the elpa branch
2011-09-26 17:08 ` Stefan Monnier
2011-09-26 21:18 ` Michael Albinus
2011-09-27 5:22 ` Bastien
@ 2011-09-27 7:10 ` Glenn Morris
2011-09-27 9:05 ` Juanma Barranquero
2 siblings, 1 reply; 31+ messages in thread
From: Glenn Morris @ 2011-09-27 7:10 UTC (permalink / raw)
To: Stefan Monnier; +Cc: Michael Albinus, emacs-devel
Stefan Monnier wrote:
>> Reasons I object to getting rid of ChangeLogs:
>> 1) Using Emacs VC, you only have to write the ChangeLog, then use C-c
>> C-a to insert it into the commit buffer. So there is no need to "write
>> the same thing twice".
>
> That doesn't seem like an objection but more like a reason why you're
> willing to live with the duplication.
OK. But much of the motivation to make the change seems to be "there will
be less to type". I'm saying I don't find that compelling.
I find the extra work involved in maintaining a ChangeLog to be worth it.
(Did I miss some other reason why this change is desirable, beyond
"somewhat fewer keypresses", and "slightly easier merging between
branches"?
CVS had both editable logs, and a cvs2log program, so what's changed?
I guess it's that people tend to use more branches now, and find merging
ChangeLogs difficult? As I said, try the changelog_merge plugin for
that. Or don't keep (versioned) ChangeLogs in your personal branches.)
>> 2) Sometimes I want to put more detail into the commit log, which is
>> not appropriate for the ChangeLog.
>
> Without stating why, I can't assess how serious this is.
It tends to be things like adding hrefs to emacs-devel discussions, or
explaining more _why_ a change is needed as opposed to simply stating
what the change was.
>> 3) ChangeLogs can be edited to correct mistakes, commit logs cannot.
>
> That's not written in stone. CVS can edit its commit logs, and there's
> no reason the same can't be done for other revision control systems.
Shall we wait till bzr gets a good implementation of this feature then?
> Better yet: there's no reason we can't do it ourselves in a (potentially
> even backend-agnostic) way that will work for C-x v l and for
> auto-generation of a ChangeLog file.
This doesn't sound "better" to me.
>> 4) I have the impression that having to write ChangeLogs leads to
>> higher quality entries than just using commit logs would.
>
> I think this just reflects the better support in change-log-mode, with
> highlighting, C-x 4 a and things like that.
I disagree, I think people take more care with ChangeLogs.
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: ChangeLogs in the elpa branch
2011-09-27 7:10 ` Glenn Morris
@ 2011-09-27 9:05 ` Juanma Barranquero
2011-09-27 9:45 ` joakim
2011-09-27 12:02 ` Stephen J. Turnbull
0 siblings, 2 replies; 31+ messages in thread
From: Juanma Barranquero @ 2011-09-27 9:05 UTC (permalink / raw)
To: Glenn Morris; +Cc: Michael Albinus, Stefan Monnier, emacs-devel
On Tue, Sep 27, 2011 at 09:10, Glenn Morris <rgm@gnu.org> wrote:
> Stefan Monnier wrote:
>> I think this just reflects the better support in change-log-mode, with
>> highlighting, C-x 4 a and things like that.
>
> I disagree, I think people take more care with ChangeLogs.
I'm with Glenn again. And part of the fact is, IMO, the immediacy of
writting the commit logs. I'd bet not many people write them at a
leisurely pace before even starting the commit.
Juanma
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: ChangeLogs in the elpa branch
2011-09-27 9:05 ` Juanma Barranquero
@ 2011-09-27 9:45 ` joakim
2011-09-27 12:02 ` Stephen J. Turnbull
1 sibling, 0 replies; 31+ messages in thread
From: joakim @ 2011-09-27 9:45 UTC (permalink / raw)
To: Juanma Barranquero; +Cc: Michael Albinus, Stefan Monnier, emacs-devel
Juanma Barranquero <lekktu@gmail.com> writes:
> On Tue, Sep 27, 2011 at 09:10, Glenn Morris <rgm@gnu.org> wrote:
>
>> Stefan Monnier wrote:
>
>>> I think this just reflects the better support in change-log-mode, with
>>> highlighting, C-x 4 a and things like that.
>>
>> I disagree, I think people take more care with ChangeLogs.
>
> I'm with Glenn again. And part of the fact is, IMO, the immediacy of
> writting the commit logs. I'd bet not many people write them at a
> leisurely pace before even starting the commit.
A ChangeLog is somewhat similar to a Tag. That is, when you are pleased
with something you write a little more detail than you usually do in
commits. So, in bazaar you could presumably work on a branch, committing
as usual. Before you merge to trunk you optionaly tag, then merge. The
Tag will contain the fantastically superior commit message. This could
potentially even be an improvement over the ChangeLog format which
sometimes is a bit terse IMHO.
That said I don't have a strong opinion. I personally don't like the
hassle of the ChangeLogs for small changes. Historically I haven't made
many small changes to Emacs so I don't get hit often. Instead I've made
some larger patches and when merging them handling the ChangeLog is the
least of my worries.
Anyway, compared to many projects I'm involved Emacs is a shining beacon
of light with regards to the lucidity of the commit history so whatever
changes we do we should preserve that aspect.
>
> Juanma
>
--
Joakim Verona
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: ChangeLogs in the elpa branch
2011-09-27 9:05 ` Juanma Barranquero
2011-09-27 9:45 ` joakim
@ 2011-09-27 12:02 ` Stephen J. Turnbull
2011-09-27 13:05 ` Stefan Monnier
1 sibling, 1 reply; 31+ messages in thread
From: Stephen J. Turnbull @ 2011-09-27 12:02 UTC (permalink / raw)
To: Juanma Barranquero; +Cc: Michael Albinus, Stefan Monnier, emacs-devel
Juanma Barranquero writes:
> On Tue, Sep 27, 2011 at 09:10, Glenn Morris <rgm@gnu.org> wrote:
> > I disagree, I think people take more care with ChangeLogs.
>
> I'm with Glenn again. And part of the fact is, IMO, the immediacy of
> writting the commit logs. I'd bet not many people write them at a
> leisurely pace before even starting the commit.
That's because not many people write ChangeLogs at a leisurely pace
before even starting the commit. Anyway, the right time to write log
message (of either type) is before starting to code. ;-)
This particular issue is easy enough to solve, though.
1. Disable the log message prompt in the vc-commit code.
2. Add -F .emacs-vc-commit-log (or whatever the equivalent is in .bzr)
to the commit command (and maybe some sort of "up-to-date" check on
that file).
3. Have "C-x 4 a" look for that file as well as/instead of ChangeLog,
and create it (in preference to ChangeLog) if neither is found.
There are some rough edges there, but once the basic idea is
implemented, you'll never notice you're not writing ChangeLogs any
more.
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: ChangeLogs in the elpa branch
2011-09-27 12:02 ` Stephen J. Turnbull
@ 2011-09-27 13:05 ` Stefan Monnier
0 siblings, 0 replies; 31+ messages in thread
From: Stefan Monnier @ 2011-09-27 13:05 UTC (permalink / raw)
To: Stephen J. Turnbull; +Cc: Juanma Barranquero, emacs-devel, Michael Albinus
> 1. Disable the log message prompt in the vc-commit code.
> 2. Add -F .emacs-vc-commit-log (or whatever the equivalent is in .bzr)
> to the commit command (and maybe some sort of "up-to-date" check on
> that file).
> 3. Have "C-x 4 a" look for that file as well as/instead of ChangeLog,
> and create it (in preference to ChangeLog) if neither is found.
That's pretty much the plan, yes.
We do want to store the comment in a file, so that you can write it little
by little.
Stefan
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: ChangeLogs in the elpa branch
2011-09-26 16:26 ` Glenn Morris
` (2 preceding siblings ...)
2011-09-26 17:08 ` Stefan Monnier
@ 2011-09-27 9:00 ` Juanma Barranquero
2011-09-27 12:24 ` Thien-Thi Nguyen
4 siblings, 0 replies; 31+ messages in thread
From: Juanma Barranquero @ 2011-09-27 9:00 UTC (permalink / raw)
To: Glenn Morris; +Cc: Michael Albinus, Stefan Monnier, emacs-devel
> Reasons I object to getting rid of ChangeLogs:
[...]
> Personally I think the slight extra time involved in maintaining a
> ChangeLog is more than justified by the higher quality of said log.
I agree at 100%
Juanma
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: ChangeLogs in the elpa branch
2011-09-26 16:26 ` Glenn Morris
` (3 preceding siblings ...)
2011-09-27 9:00 ` Juanma Barranquero
@ 2011-09-27 12:24 ` Thien-Thi Nguyen
4 siblings, 0 replies; 31+ messages in thread
From: Thien-Thi Nguyen @ 2011-09-27 12:24 UTC (permalink / raw)
To: emacs-devel
() Glenn Morris <rgm@gnu.org>
() Mon, 26 Sep 2011 12:26:53 -0400
4) I have the impression that having to write ChangeLogs leads to
higher quality entries than just using commit logs would.
FWIW, this is the main reason i support maintaining separate ChangeLog files.
^ permalink raw reply [flat|nested] 31+ messages in thread