[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

spurious bootstrap failure

From: Stefano Lattarini
Subject: spurious bootstrap failure
Date: Mon, 10 Oct 2011 18:41:32 +0200
User-agent: KMail/1.13.7 (Linux/2.6.30-2-686; KDE/4.6.5; i686; ; )

On Debian GNU/Linux unstable:

  $ git clone git://git.sv.gnu.org/findutils
  remote: Total 17963 (delta 14240), reused 17927 (delta 14216)
  Receiving objects: 100% (17963/17963), 7.53 MiB | 309 KiB/s, done.
  Resolving deltas: 100% (14240/14240), done.
  $ sh import-gnulib.sh
  Checking the submodule directory layout... 
  The submodule directory layout looks OK.
  Submodule 'gnulib' (git://git.sv.gnu.org/gnulib.git) registered for path 
  Cloning into gnulib...
  remote: Counting objects: 127481, done.
  remote: Compressing objects: 100% (21079/21079), done.
  remote: Total 127481 (delta 106613), reused 127173 (delta 106344)
  Receiving objects: 100% (127481/127481), 22.00 MiB | 511 KiB/s, done.
  Resolving deltas: 100% (106613/106613), done.
  Submodule path 'gnulib': checked out 
  ERROR: Merge driver git-merge-changelog is not executable.
  ERROR: Please fix .git/config or install git-merge-changelog

But with my current system setup, I'm routinely and correctly using
git-merge-changelog with other projcts (e.g., automake and autoconf);
in fact:

  $ git config -l | grep merge
  merge.merge-changelog.name=GNU-style ChangeLog merge driver
  merge.merge-changelog.driver=git-merge-changelog %O %A %B

  $ git-merge-changelog --help
  Usage: git-merge-changelog [OPTION] O-FILE-NAME A-FILE-NAME B-FILE-NAME

  Merges independent modifications of a ChangeLog style file.
  O-FILE-NAME names the original file, the ancestor of the two others.
  A-FILE-NAME names the publicly modified file.
  B-FILE-NAME names the user-modified file.
  Writes the merged file into A-FILE-NAME.

  Informative output:
    -h, --help                  display this help and exit
    -V, --version               output version information and exit

  Report bugs to <address@hidden>.

The "quick & dirty" diff below fixes the problem for me.



diff --git a/import-gnulib.sh b/import-gnulib.sh
index 9912e09..31005da 100755
--- a/import-gnulib.sh
+++ b/import-gnulib.sh
@@ -271,9 +271,9 @@ Example:
         driver="$(git config --get merge.merge-changelog.driver |
                   sed -e 's/[   ].*//')"
        if [ $? -eq 0 ]; then
-           if ! [ -x "$driver" ]; then
-               echo "ERROR: Merge driver $driver is not executable." >&2
-               echo "ERROR: Please fix $config_file or install $driver" >&2
+           if ! ("$driver" --help) </dev/null >/dev/null 2>&1; then
+               echo "ERROR: Merge driver $driver doesn't work." >&2
+               echo "ERROR: Please fix $config_file or correctly install 
$driver" >&2
                # Always fatal - if configured, the merge driver should work.
                exit 1

reply via email to

[Prev in Thread] Current Thread [Next in Thread]