all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Paul Eggert <eggert@cs.ucla.edu>
To: rms@gnu.org, Tino Calancha <tino.calancha@gmail.com>
Cc: eliz@gnu.org, emacs-devel@gnu.org
Subject: Re: Why does make run git?
Date: Wed, 2 Aug 2017 10:56:53 -0700	[thread overview]
Message-ID: <6d947774-836a-7286-4214-ddc5f516577f@cs.ucla.edu> (raw)
In-Reply-To: <E1dcxPt-0002QZ-8n@fencepost.gnu.org>

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

On 08/02/2017 10:26 AM, Richard Stallman wrote:
> But it is unreliable.  You can't rely on the user's having done 'make'
> in the repository before doing the git operations that use these
> settings.

You can pretty much rely on users running either Make or ./autogen.sh; 
otherwise they can't easily build or run Emacs. So the main problem here 
is ./autogen.sh.

Although last year I arranged for ./autogen.sh (when invoked with no 
arguments) to do Git settings like Make does, some other developers 
objected at the time that this might conflict with their own Git 
settings so I changed autogen.sh to not alter Git settings except on 
explicit request. Given the confusion on this topic on the meantime, 
though, I think the change was mistaken, and in that sense I believe 
that you and I are in agreement.

To help improve the situation I propose the attached patch, which 
reverts the default ./autogen.sh behavior to be './autogen.sh all', the 
way it used to be (briefly). Developers who want autogen.sh to leave 
their Git settings alone can continue to use './autogen.sh autoconf'.


[-- Attachment #2: 0001-Default-autogen.sh-to-all.patch --]
[-- Type: text/x-patch, Size: 1614 bytes --]

From 2c9b41624a7e32af0793eedc9d8a5e1278eb271f Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Wed, 2 Aug 2017 10:50:37 -0700
Subject: [PATCH] Default autogen.sh to 'all'

This addresses a problem noted by RMS in:
http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00052.html
* autogen.sh (do_git): Set to true if this script is invoked
with no arguments and there is a .git subdirectory.
---
 CONTRIBUTE   | 2 +-
 INSTALL.REPO | 2 +-
 autogen.sh   | 3 ++-
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/CONTRIBUTE b/CONTRIBUTE
index 365e423249..9b5fb090e7 100644
--- a/CONTRIBUTE
+++ b/CONTRIBUTE
@@ -14,7 +14,7 @@ Briefly, the following shell commands build and run Emacs from scratch:
 	git config --global transfer.fsckObjects true
 	git clone git://git.sv.gnu.org/emacs.git
 	cd emacs
-	./autogen.sh all
+	./autogen.sh
 	./configure
 	make
 	src/emacs
diff --git a/INSTALL.REPO b/INSTALL.REPO
index ce346bb246..e7bb3bba03 100644
--- a/INSTALL.REPO
+++ b/INSTALL.REPO
@@ -19,7 +19,7 @@ To use the autotools, run the following shell command to generate the
 'configure' script and some related files, and to set up your git
 configuration:
 
-  $ ./autogen.sh all
+  $ ./autogen.sh
 
 You can then configure your build as follows:
 
diff --git a/autogen.sh b/autogen.sh
index 76fde9e18d..70f9cbd245 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -127,7 +127,8 @@ do_git=
 
 case $do_autoconf,$do_git in
   false,false)
-    do_autoconf=true;;
+    do_autoconf=true
+    test -e .git && do_git=true;;
 esac
 
 # Generate Autoconf-related files, if requested.
-- 
2.13.3


  parent reply	other threads:[~2017-08-02 17:56 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-01  1:19 Why does make run git? Richard Stallman
2017-08-01  3:07 ` Eli Zaretskii
2017-08-01 14:30   ` Richard Stallman
2017-08-01 14:49     ` Tino Calancha
2017-08-02 17:26       ` Richard Stallman
2017-08-02 17:43         ` Radon Rosborough
2017-08-03 19:43           ` Richard Stallman
2017-08-03 20:02             ` Radon Rosborough
2017-08-02 17:56         ` Paul Eggert [this message]
2017-08-02 18:31           ` Eli Zaretskii
2017-08-02 18:42             ` Paul Eggert
2017-08-02 19:10               ` Eli Zaretskii
2017-08-02 20:04                 ` Paul Eggert
2017-08-12 16:11                   ` Paul Eggert
2017-08-15 14:18           ` Ted Zlatanov
2017-08-15 15:52             ` Paul Eggert
2017-08-15 16:58               ` Ted Zlatanov
2017-08-15 17:08                 ` Eli Zaretskii
2017-08-15 20:39                 ` Paul Eggert
2017-08-16 12:30                   ` Andy Moreton
2017-08-16 12:38                     ` Noam Postavsky
2017-08-16 12:49                     ` Andreas Schwab
2017-08-16 14:09                   ` Ted Zlatanov
2017-08-01  3:14 ` Tino Calancha
2017-08-02 17:25   ` Richard Stallman
2017-08-01 15:10 ` Paul Eggert
2017-08-01 15:15   ` Kaushal Modi
2017-08-01 16:01 ` Radon Rosborough
2017-08-02 17:30   ` Richard Stallman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6d947774-836a-7286-4214-ddc5f516577f@cs.ucla.edu \
    --to=eggert@cs.ucla.edu \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=rms@gnu.org \
    --cc=tino.calancha@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.