Simon Josefsson wrote:
> It would be nice if the documentation is moved to the gnulib texinfo
> manual, but as I haven't tried git-merge-changelog yet I'm not the best
> person to work on that.
git-merge-changelog is actually out-of-place in gnulib, since it's a program
(t
ike a CVS idiom.
>
> Absolutely. I'm committing this:
Thank you! Looks great. This fix didn't make it into the 20240701-1
upload of gnulib into Debian, but hopefully I'll be able to take care of
it before the next upload.
It would be nice if the documentation is moved to the g
at the top-level.
diff --git a/lib/git-merge-changelog.c b/lib/git-merge-changelog.c
index 3cffe1fd2f..60754c8367 100644
--- a/lib/git-merge-changelog.c
+++ b/lib/git-merge-changelog.c
@@ -1,5 +1,5 @@
/* git-merge-changelog - git "merge" driver for GNU style ChangeLog files.
- Copyr
Samuel Bronson writes:
> Package: git-merge-changelog
> Version: 20140202+stable-2
> Severity: normal
>
> Dear Maintainer,
>
> Your git-merge-changelog(1) manpage and the source file
> git-merge-changelog.c both say that you need a '.gitattributes' file in
>
t;fix" and "missing" from your ChangeLog entry, since I am not
aware of a formal standard that specifies how a conflict marker should
look like. Again, if you have different knowledge, please share it.
2024-06-24 Bruno Haible
git-merge-changelog: Improve last commit.
* lib/git-merge-changelog.c (conflict_write): Add missing space
after marker.
---
lib/git-merge-changelog.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/git-merge-changelog.c b/lib/git-merge-changelog.c
index c701d29942..b30045e2aa 100644
--- a/lib/gi
ices into FILE2, it's better to rename in2 to jrev.
2023-05-22 Bruno Haible
git-merge-changelog: Code style changes.
* lib/git-merge-changelog.c: Don't make side effects to variables
inside parenthesized expressions. Write (size_t)(-1), for consistency
* lib/git-merge-changelog (entry_hashcode):
As a nicety, Prefer SIZE_WIDTH to computing it ourselves.
---
ChangeLog | 4
lib/git-merge-changelog.c | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
index eb6066b42c..8b29eed568 100644
ET_MAX, EXTRA_CONTEXT_FIELDS, compute_differences, main):
Use ptrdiff_t, not ssize_t.
* modules/git-merge-changelog (Depends-on): Add stdint for PTRDIFF_MAX.
---
ChangeLog | 10
lib/git-merge-changelog.c | 109 ++--
modules/git-merge-changelog | 1 +
3
)
(try_split_merged_entry, struct conflict, conflict_write, main):
Prefer idx_t to ptrdiff_t and size_t when the value is a
nonnegative index or size. Change a few for-loops so that
the index never goes negative.
* modules/git-merge-changelog (Depends-on): Add idx.
---
ChangeLog | 13 +++
lib/git
@@
+2023-05-21 Paul Eggert
+
+ git-merge-changelog: port to ssize_t padding
+ * lib/git-merge-changelog.c (OFFSET_MAX): New macro, as a nicety.
+
2023-05-21 Bruno Haible
limits-h tests: Check the value of SSIZE_MAX.
diff --git a/lib/git-merge-changelog.c b/lib/git-merge
I did:
> * modules/git-merge-changelog (License): Change to GPLv2+.
That doesn't work: It produces gnulib-tool warnings
gnulib-tool: warning: module git-merge-changelog depends on a module with an
incompatible license: c-strstr
gnulib-tool: warning: module git-merge-changelog depe
In our current convention, when we talk about GPL we mean GPLv3+.
The module 'git-merge-changelog', however, is meant to be GPLv2+,
not GPLv3+ (for compatibility with git itself).
And the module 'gnupload' is meant to be GPLv2+ as well. But gnulib-tool
does not support bui
Hi,
Per user request, git-merge-changelog is now a package in debian.
The binary package is generated from the gnulib source package, along
with the gnulib binary package.
Debian mandates man pages for all binaries, so I adapted the comments at
the top of git-merge-changelog.c into a man page
now
about core.safecrlf, but I don't trust any program to be entirely
"safe" when it futzes with the EOL format, and have enough gray hair
to bear witness.)
What triggered this patch was that I used git-merge-changelog with the
msysgit port of Git for Windows, to cherry-pick a cha
fig --global core.autocrlf input
should be perfect for Windows users. I can understand why you don't want
git config --global core.autocrlf true
(namely if you work a lot with Cygwin / Unix tools).
Given the above general rule, I believe that git-merge-changelog is
not the only program that
git-merge-changelog does its I/O in text mode. This is explained in
the sources for the input direction:
/* Read a ChangeLog file into memory.
Return the contents in *RESULT. */
static void
read_changelog_file (const char *filename, struct changelog_file *result)
{
/* Read the
On 03/18/2012 05:52 AM, Mark Wielaard wrote:
> git-merge-changelog is maintained in gnulib, so bug reports should go
> to bug-gnulib@gnu.org, not bug-gnu-gett...@gnu.org.
>
> ---
> ChangeLog |4
> lib/git-merge-changelog.c |2 +-
> 2 files change
f --git a/ChangeLog b/ChangeLog
> index e600a1d..9650fc3 100644
> --- a/ChangeLog
> +++ b/ChangeLog
> @@ -1,3 +1,8 @@
> +2012-03-15 Mark Wielaard
> +
> + git-merge-changelog: add specific example on how to use with hg.
> + * lib/git-merge-changelog.c: Add ex
git-merge-changelog is maintained in gnulib, so bug reports should go
to bug-gnulib@gnu.org, not bug-gnu-gett...@gnu.org.
---
ChangeLog |4
lib/git-merge-changelog.c |2 +-
2 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-03-15 Mark Wielaard
+
+ git-merge-changelog: add specific example on how to use with hg.
+ * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
+
2012-03-15 Bruno Haible
fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
diff
> The only special "program" in gnulib is git-merge-changelog;
> though now that I think about it, it makes more sense to split
> out git-merge-changelog into a seperate project.
Yes, you're entirely right. The project has been created already:
http://sava
Hi Alfred,
> The only special "program" in gnulib is git-merge-changelog; though now
> that I think about it, it makes more sense to split out
> git-merge-changelog into a seperate project.
Yes, you're entirely right. The project has been created already:
http://sava
What about this? I haven't tried it, but I think it should work. The
only special "program" in gnulib is git-merge-changelog; though now
that I think about it, it makes more sense to split out
git-merge-changelog into a seperate project.
2012-01-03 Alfred M. Szmidt
> It seems that git-merge-changelog is added to bin_PROGRAMS in the
> generated lib/Makefile.am, which causes it to get installed in
> exec_prefix/bin (at least in inetutils). Not sure why though
It's necessary so that the installation instructions at the top of
Alfred M. Szmidt wrote:
> It seems that git-merge-changelog is added to bin_PROGRAMS in the
> generated lib/Makefile.am, which causes it to get installed in
> exec_prefix/bin (at least in inetutils). Not sure why though
It's necessary so that the installation instructions at the to
It seems that git-merge-changelog is added to bin_PROGRAMS in the
generated lib/Makefile.am, which causes it to get installed in
exec_prefix/bin (at least in inetutils). Not sure why though; I
couldn't find anything that struck me in the ChangeLog. Anyone know?
Bruno Haible writes:
> Andreas Schwab wrote:
>> >> As required by git.
>> >
>> > What do you mean by that?
>>
>> See rerere.c:is_cmarker.
>
> Please give a "how to reproduce".
Enable rerere and cherry-pick a conflicting changelog.
Andreas.
--
Andreas Schwab, sch...@linux-m68k.org
GPG Key fin
Andreas Schwab wrote:
> >> As required by git.
> >
> > What do you mean by that?
>
> See rerere.c:is_cmarker.
Please give a "how to reproduce".
git-merge-changelog fails with an exit code 1 when there is a conflict.
This should be enough to alert git about
Bruno Haible writes:
> Hello Andreas,
>
>> As required by git.
>
> What do you mean by that?
See rerere.c:is_cmarker.
Andreas.
--
Andreas Schwab, sch...@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
Hello Andreas,
> As required by git.
What do you mean by that? The user is expected to resolve the conflict,
and this implies removing the <<< and >>> markers, before doing
"git add conflicting-file".
In other words: Please give a reproducible recipe for experiencing a
problem that occur
As required by git.
Andreas.
2011-01-09 Andreas Schwab
* lib/git-merge-changelog.c (conflict_write): Add space after
conflict marker.
---
lib/git-merge-changelog.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/git-merge-changelog.c b/lib/git-
useful to revisit once we have unit tests for
the normal operation of git-merge-changelog.
OK, although it may be another day or two (I've got bigger things on my
plate right now, like strstr and memmem broken in glibc due to a bug in
my str-two-way.h).
--
Eric Blake ebl...@redhat.co
git pull --rebase'.
I also use 'git pull --rebase' often, and git-merge-changelog brings the
ChangeLog entries into the right order.
> Apparently, git decided that since my change
> didn't impact line 1, it didn't have any reason to call
> git-merge-changelog;
h for additional tr fixes,
with two ChangeLog paragraphs grouped under one date; at which point I
did 'git pull --rebase'. Apparently, get decided that since my change
didn't impact line 1, it didn't have any reason to call
git-merge-changelog; therefore, my most recent par
Hi,
Brian Gough found out how to make use of the git-merge-changelog program for
'git'. Let me add his findings as documentation. Thanks a lot, Brian!
2010-08-14 Brian Gough
Bruno Haible
git-merge-changelog: add doc relating to use with bzr and hg.
At Sunday 18 July 2010, Bruno Haible wrote:
> Hello Stafano,
>
> Thanks for the suggestion. Eric Blake already suggested the same
> thing. It is planned that in a month or so, the
> git-merge-changelog is merged to a project of its own, then
> receives a test suite, and then
2000-01-01 Foo Bar
>
> Add foo
>
> 2000-01-01 Foo Bar
>
> Add bar
>
> For such projects, the git-merge-changelog user experience is somewhat
> marred, since the driver separates the lumped-togheter entries when
> rebasing, e.g. turning
Bar
Add bar
For such projects, the git-merge-changelog user experience is somewhat
marred, since the driver separates the lumped-togheter entries when
rebasing, e.g. turning a ChangeLog entry like the former into one
like the latter (see the attached script for an example).
Do you
* Bruno Haible wrote on Sun, May 23, 2010 at 06:12:46PM CEST:
> > Also, I noticed that this file is copyrighted by you, not to the FSF
> > Oversight?
>
> Some day, I intend to put this into a better place than gnulib, or have it
> distributed as a contrib in git. Don't know. - Since git is GPLv2 a
erve this purpose (for ChangeLog entries
coming from the local user).
But before adding more changes (even bug fixes) to git-merge-changelog, I
think the next step - long overdue - would be to create a test suite for it.
Simply a set of quadruples (O, A, B, result).
Bruno
On 05/23/2010 10:12 AM, Bruno Haible wrote:
> Hi Ralf,
>
>> I only now became aware of the --split-merged-entry option which
>> git-merge-changelog provides, because I never bothered to look at --help
>> output
>
> Whereas I was aware of the option, but thought I
Hi Ralf,
> I only now became aware of the --split-merged-entry option which
> git-merge-changelog provides, because I never bothered to look at --help
> output
Whereas I was aware of the option, but thought I would never need it,
and was then surprised to have conflicts in ChangeLog at
Hello Bruno,
I only now became aware of the --split-merged-entry option which
git-merge-changelog provides, because I never bothered to look at --help
output, and the header comment was enough for me otherwise. Very nice!
(I was going to try to extend the code to do something about split
headers
Rolf Bjarne Kvinge wrote:
> >> Attached are three files (o-file, a-file and b-file) which when run with
> >> git-merge-changelog causes an assertion in:
> >>
> >> #3 0x08049985 in main (argc=Cannot access memory at address 0x34a6) at
>
file) which when run with
>> git-merge-changelog causes an assertion in:
>>
>> #3 0x08049985 in main (argc=Cannot access memory at address 0x34a6) at
>> git-merge-changelog.c:1469
>> 1469 ASSERT (entry_equals
>> (ancestor_file.ent
now the merge driver crashes during the rebase
process (like in the sample I sent a few minutes ago)
Rolf
> Hi,
>
> Attached are three files (o-file, a-file and b-file) which when run with
> git-merge-changelog causes an assertion in:
>
> #3 0x08049985 in main (arg
Hi,
Attached are three files (o-file, a-file and b-file) which when run with
git-merge-changelog causes an assertion in:
#3 0x08049985 in main (argc=Cannot access memory at address 0x34a6) at
git-merge-changelog.c:1469
1469ASSERT (entry_equals
Hi,
Rolf Bjarne Kvinge wrote:
> Attached are three files (o-file, a-file and b-file) which when run with
> git-merge-changelog causes an assertion in:
>
> #3 0x08049985 in main (argc=Cannot access memory at address 0x34a6) at
> git-merge-changelo
Hi,
Attached are three files (o-file, a-file and b-file) which when run with
git-merge-changelog causes an assertion in:
#3 0x08049985 in main (argc=Cannot access memory at address 0x34a6) at
git-merge-changelog.c:1469
1469ASSERT (entry_equals
Hi Eric,
> Is it also worth addressing the root cause of this? After all, it was
> git-merge-changelog that created file1 with more than 1 exact copy in the
> first place (via the earlier round of merging); it seems like it would be
> better for git-merge-changelog to fail with a me
copies unpaired rather than aborting.
> Reported by Eric Blake.
Is it also worth addressing the root cause of this? After all, it was
git-merge-changelog that created file1 with more than 1 exact copy in the
first place (via the earlier round of merging); it seems like it would be
bette
Eric Blake wrote:
> This time, git removes the temporary .merge_file_*, but I confirmed that
> they can be recreated via:
>
> $ git show 5f008b:ChangeLog > file1
> $ git show 0b17f4:ChangeLog > file2
> $ git show cd172d:ChangeLog > file3
> $ git-merge-changelog
l ChangeLog entries:
git show 9ecd0a
And trying to reproduce it shows that even today's git-merge-changelog will
still happily create this situation of duplicate entries:
$ git branch stackovf 6864b6f
$ git checkout 08dd3b2
$ GIT_TRACE=2 git merge stackovf
trace: built-in: git 'merge&
Eric Blake byu.net> writes:
> According to Bruno Haible on 7/2/2009 5:17 PM:
> > Now, can you show me a crashing situation, please (with either the old or
the
> > new git-merge-changelog)?
>
> Found one. This crashes under the old:
And under the new. It is triggerin
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
According to Bruno Haible on 7/2/2009 5:17 PM:
> Now, can you show me a crashing situation, please (with either the old or the
> new git-merge-changelog)?
Found one. This crashes under the old:
$ git clone git://git.sv.gnu.org/m4.git
$ cd m4
me a crashing situation, please (with either the old or the
new git-merge-changelog)?
2009-07-02 Bruno Haible
Speedup git-merge-changelog for git cherry-pick.
* lib/git-merge-changelog.c (struct entries_mapping): New type.
(entries_mapping_get): New function, extracted
advanced. Notice that it
> appears to get stuck in an infinite loop, consuming 100% CPU with no
> apparent progress after a while.
>
> $ git clone git://git.sv.gnu.org/m4.git
> $ cd m4
> $ git config
> $ git reset --hard 6033d89
> $ git config merge.merge-changelog.driver
>
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
According to Bruno Haible on 6/30/2009 2:28 PM:
> Hi Eric,
>
>> git-merge-changelog either segfaults
>
> Ouch. It's written as defensively as possible, and checked with valgrind.
> Therefore I thought that was impossibl
I've repeatedly encountered a situation where git-merge-changelog is a
hindrance rather than a help. Any time I commit a patch on one branch,
then want to run 'git cherry-pick' to copy it to another,
git-merge-changelog either segfaults or goes into a super-long processing
Hi Eric,
> git-merge-changelog either segfaults
Ouch. It's written as defensively as possible, and checked with valgrind.
Therefore I thought that was impossible!
> Any time I commit a patch on one branch,
> then want to run 'git cherry-pick' to copy it to another,
>
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
I've repeatedly encountered a situation where git-merge-changelog is a
hindrance rather than a help. Any time I commit a patch on one branch,
then want to run 'git cherry-pick' to copy it to another,
git-merge-changelog either segfaul
nfo to reconstruct a base tree...
> Falling back to patching base and 3-way merge...
> /usr/local/bin/git-merge-changelog: expected three arguments
> $ cat .git/config
> [merge "cl-merge"]
> name = GNU-style ChangeLog merge driver
> driver = /usr/local
: patch failed: ChangeLog:41
> error: ChangeLog: patch does not apply
> Using index info to reconstruct a base tree...
> Falling back to patching base and 3-way merge...
> /usr/local/bin/git-merge-changelog: expected three arguments
... it looks like no arguments are being passed at all.
James.
econstruct a base tree...
Falling back to patching base and 3-way merge...
/usr/local/bin/git-merge-changelog: expected three arguments
Auto-merged .gitignore
Removed ABOUT-NLS
Auto-merged ChangeLog
CONFLICT (content): Merge conflict in ChangeLog
Auto-merged import-gnulib.sh
Removed po/Makefile.in
This is another local patch I had for bootstrap in sed. It
automatically adds to .git/config the required lines to use the
git-merge-changelog driver.
To use this feature, in addition, the project maintainer must add
ChangeLog* merge=merge-changelog
in the root .gitattributes file.
Ok?
Paolo
The git-merge-changelog does not link on MacOS X:
gcc -std=gnu99 -g -O2 -o git-merge-changelog git-merge-changelog.o libgnu.a
-lm
Undefined symbols:
"_libintl_gettext", referenced from:
_xalloc_die in libgnu.a(xalloc-die.o)
_error_tail in libgnu
I just made this script that prepares a git-merge-changelog tarball. I
don't know if it would be useful to have it in a cron job somewhere. It
needs git in the path.
#! /bin/sh
mkdir -p git-merge-changelog
cd git-merge-changelog
if test -d gnulib/.git; then
(cd gnulib && g
68 matches
Mail list logo