unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* The ChangeLog and merge conflicts
       [not found]   ` <CAAdUY-LyCBThR5PJFPuPf-mNbgFvn5NWGnKgeeh7QVXViaFqTg@mail.gmail.com>
@ 2015-02-09 23:36     ` Artur Malabarba
  2015-02-10  0:05       ` David Kastrup
  0 siblings, 1 reply; 5+ messages in thread
From: Artur Malabarba @ 2015-02-09 23:36 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1013 bytes --]

For this short period of time that I've been trying to help here, there is
one workflow issue that's really been bugging me: the ChangeLog file causes
conflicts on every merge.

This pops up in two situations:

1. I do some work on another branch for a couple of days, while adding a
ChangeLog entry with each commit. I proceed to merge with master.

2. Someone submits a patch and is kind enough to include a ChangeLog entry
in it. As usual, the patch is only applied after (in the very least) a few
days.

If anything at all has happened between branch/patch creation and the
merge, a conflict is guaranteed to happen.
Of course, the reason for this is that every new entry goes at the top of
the ChangeLog, and every commit is accompanied with an entry.

I'm just wondering whether there's a solution around this that I'm not
aware of. Is there something I should do differently?

These conflicts aren't complicated at all to solve, but it gets irritating
to have to fix them every single time.

Cheers,
Artur

[-- Attachment #2: Type: text/html, Size: 1182 bytes --]

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

* Re: The ChangeLog and merge conflicts
  2015-02-09 23:36     ` The ChangeLog and merge conflicts Artur Malabarba
@ 2015-02-10  0:05       ` David Kastrup
  2015-02-10  0:17         ` Rüdiger Sonderfeld
                           ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: David Kastrup @ 2015-02-10  0:05 UTC (permalink / raw)
  To: Artur Malabarba; +Cc: emacs-devel

Artur Malabarba <bruce.connor.am@gmail.com> writes:

> For this short period of time that I've been trying to help here, there is
> one workflow issue that's really been bugging me: the ChangeLog file causes
> conflicts on every merge.
>
> This pops up in two situations:
>
> 1. I do some work on another branch for a couple of days, while adding a
> ChangeLog entry with each commit. I proceed to merge with master.
>
> 2. Someone submits a patch and is kind enough to include a ChangeLog entry
> in it. As usual, the patch is only applied after (in the very least) a few
> days.
>
> If anything at all has happened between branch/patch creation and the
> merge, a conflict is guaranteed to happen.
> Of course, the reason for this is that every new entry goes at the top of
> the ChangeLog, and every commit is accompanied with an entry.
>
> I'm just wondering whether there's a solution around this that I'm not
> aware of. Is there something I should do differently?
>
> These conflicts aren't complicated at all to solve, but it gets irritating
> to have to fix them every single time.

Take a look for the git-merge-changelog program (the respective Debian
package is called just that).

It's still sort of a nuisance to maintain the corresponding entry in the
top level .gitattributes file (since it is itself under version
control), but at least this works reasonably well for the non-toplevel
ChangeLog file merges.

-- 
David Kastrup



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

* Re: The ChangeLog and merge conflicts
  2015-02-10  0:05       ` David Kastrup
@ 2015-02-10  0:17         ` Rüdiger Sonderfeld
  2015-02-10  3:43         ` Eli Zaretskii
  2015-02-10  6:55         ` Artur Malabarba
  2 siblings, 0 replies; 5+ messages in thread
From: Rüdiger Sonderfeld @ 2015-02-10  0:17 UTC (permalink / raw)
  To: emacs-devel; +Cc: David Kastrup, Artur Malabarba

On Tuesday 10 February 2015 01:05:30 David Kastrup wrote:
> It's still sort of a nuisance to maintain the corresponding entry in the
> top level .gitattributes file (since it is itself under version
> control), but at least this works reasonably well for the non-toplevel
> ChangeLog file merges.

For local attributes you can create a .git/info/attributes file.  That will be 
local to the repo.  If you are working with several projects using ChangeLog 
files then it probably even makes sense to place it in the global attributes 
file ($XDG_CONFIG_HOME/git/attributes or ~/.config/git/attributes).

Regards,
Rüdiger




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

* Re: The ChangeLog and merge conflicts
  2015-02-10  0:05       ` David Kastrup
  2015-02-10  0:17         ` Rüdiger Sonderfeld
@ 2015-02-10  3:43         ` Eli Zaretskii
  2015-02-10  6:55         ` Artur Malabarba
  2 siblings, 0 replies; 5+ messages in thread
From: Eli Zaretskii @ 2015-02-10  3:43 UTC (permalink / raw)
  To: David Kastrup; +Cc: bruce.connor.am, emacs-devel

> From: David Kastrup <dak@gnu.org>
> Date: Tue, 10 Feb 2015 01:05:30 +0100
> Cc: emacs-devel <emacs-devel@gnu.org>
> 
> Take a look for the git-merge-changelog program (the respective Debian
> package is called just that).

Indeed.  I'm using it and I have zero conflicts in ChangeLog files.



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

* Re: The ChangeLog and merge conflicts
  2015-02-10  0:05       ` David Kastrup
  2015-02-10  0:17         ` Rüdiger Sonderfeld
  2015-02-10  3:43         ` Eli Zaretskii
@ 2015-02-10  6:55         ` Artur Malabarba
  2 siblings, 0 replies; 5+ messages in thread
From: Artur Malabarba @ 2015-02-10  6:55 UTC (permalink / raw)
  To: David Kastrup; +Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1610 bytes --]

Thanks! I'll check it out!
On 10 Feb 2015 00:05, "David Kastrup" <dak@gnu.org> wrote:

> Artur Malabarba <bruce.connor.am@gmail.com> writes:
>
> > For this short period of time that I've been trying to help here, there
> is
> > one workflow issue that's really been bugging me: the ChangeLog file
> causes
> > conflicts on every merge.
> >
> > This pops up in two situations:
> >
> > 1. I do some work on another branch for a couple of days, while adding a
> > ChangeLog entry with each commit. I proceed to merge with master.
> >
> > 2. Someone submits a patch and is kind enough to include a ChangeLog
> entry
> > in it. As usual, the patch is only applied after (in the very least) a
> few
> > days.
> >
> > If anything at all has happened between branch/patch creation and the
> > merge, a conflict is guaranteed to happen.
> > Of course, the reason for this is that every new entry goes at the top of
> > the ChangeLog, and every commit is accompanied with an entry.
> >
> > I'm just wondering whether there's a solution around this that I'm not
> > aware of. Is there something I should do differently?
> >
> > These conflicts aren't complicated at all to solve, but it gets
> irritating
> > to have to fix them every single time.
>
> Take a look for the git-merge-changelog program (the respective Debian
> package is called just that).
>
> It's still sort of a nuisance to maintain the corresponding entry in the
> top level .gitattributes file (since it is itself under version
> control), but at least this works reasonably well for the non-toplevel
> ChangeLog file merges.
>
> --
> David Kastrup
>

[-- Attachment #2: Type: text/html, Size: 2101 bytes --]

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

end of thread, other threads:[~2015-02-10  6:55 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <CAAdUY-+7hjTB6k=nzC37_Dnm2VWe3tvworne6fmABRkpwjLdXw@mail.gmail.com>
     [not found] ` <CAAdUY-Kx+AjHDEoYVzfERFWFRMArrCMvqY3TTB1vndsQAUxwnA@mail.gmail.com>
     [not found]   ` <CAAdUY-LyCBThR5PJFPuPf-mNbgFvn5NWGnKgeeh7QVXViaFqTg@mail.gmail.com>
2015-02-09 23:36     ` The ChangeLog and merge conflicts Artur Malabarba
2015-02-10  0:05       ` David Kastrup
2015-02-10  0:17         ` Rüdiger Sonderfeld
2015-02-10  3:43         ` Eli Zaretskii
2015-02-10  6:55         ` Artur Malabarba

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.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).