unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Ted Zlatanov <tzz@lifelogs.com>
To: emacs-devel@gnu.org
Subject: Re: Why does make run git?
Date: Tue, 15 Aug 2017 12:58:27 -0400	[thread overview]
Message-ID: <87zib0lqdo.fsf@lifelogs.com> (raw)
In-Reply-To: ec9e71fe-306f-d7d7-074f-06910c00f6cc@cs.ucla.edu

On Tue, 15 Aug 2017 08:52:30 -0700 Paul Eggert <eggert@cs.ucla.edu> wrote: 

PE> Ted Zlatanov wrote:
>> perhaps CONTRIBUTE
>> and INSTALL should mention how to compile and run Emacs without running
>> Git or expecting a .git/hooks directory?

PE> Those files already attempt to do that. In what sense do they fall short? What
PE> wording needs to be changed?

I guess INSTALL doesn't deal with autogen.sh so it doesn't need changes.

I think CONTRIBUTE should mention, right after saying to run autogen.sh,
that the above requires Git to be installed.

PE> Or perhaps a better way to put it: what went wrong with your build, exactly? Is
PE> it something that autogen.sh can detect and work around automatically? It'd be
PE> better to automate away any problems than to complicate CONTRIBUTE and INSTALL
PE> to work around them.

Agreed :) Hence my next paragraph.

What went wrong? https://gitlab.com/emacs-ci/emacs/-/jobs/29326689 says

#+begin_src text
$ ./autogen.sh
Checking whether you have the necessary tools...
(Read INSTALL.REPO for more details on building Emacs)
Checking for autoconf (need at least version 2.65) ... ok
Your system has the required tools.
Building aclocal.m4 ...
Running 'autoreconf -fi -I m4' ...
Configuring local git repository...
'.git/config' -> '.git/config.~1~'
git config transfer.fsckObjects 'true'
git config diff.elisp.xfuncname '^\(def[^[:space:]]+[[:space:]]+([^()[:space:]]+)'
git config diff.m4.xfuncname '^((m4_)?define|A._DEFUN(_ONCE)?)\([^),]*'
git config diff.make.xfuncname '^([$.[:alnum:]_].*:|[[:alnum:]_]+[[:space:]]*([*:+]?[:?]?|!?)=|define .*)'
git config diff.shell.xfuncname '^([[:space:]]*[[:alpha:]_][[:alnum:]_]*[[:space:]]*\(\)|[[:alpha:]_][[:alnum:]_]*=)'
git config diff.texinfo.xfuncname '^@node[[:space:]]+([^,[:space:]][^,]+)'
Installing git hooks...
'build-aux/git-hooks/commit-msg' -> '.git/hooks/commit-msg'
cp: cannot create regular file '.git/hooks/commit-msg': No such file or directory
ERROR: Job failed: exit code 1
#+end_src

So it looks like it assumes that `.git/hooks' exists. I don't know why
that's not true in the GitLab checkout. Maybe "Configuring local git
repository" could be changed to "Configuring local git repository (run
'autogen.sh autoconf' to skip this step)"? That would probably be the
most direct way to help users who don't read the docs :)

>> Maybe there could even be a more automatic way to avoid running the Git
>> commands inside an automated build, where there's no chance they will be
>> needed?

PE> That's easy, just run "rm -r .git". I don't think this is a good idea, though.

Yes, it's a radical surgery. I think the text change suggested above is
a gentler way.

Ted




  reply	other threads:[~2017-08-15 16:58 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
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 [this message]
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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=87zib0lqdo.fsf@lifelogs.com \
    --to=tzz@lifelogs.com \
    --cc=emacs-devel@gnu.org \
    /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 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).