Debian Bug report logs - #842477
git-sh-setup is broken

version graph

Package: git; Maintainer for git is Jonathan Nieder <jrnieder@gmail.com>; Source for git is src:git (PTS, buildd, popcon).

Affects: src:guilt, guilt

Reported by: Chris Lamb <lamby@debian.org>

Date: Sat, 29 Oct 2016 15:15:01 UTC

Severity: serious

Tags: patch, sid, stretch, upstream

Found in version git/1:2.10.1-1

Fixed in version git/1:2.10.2-1

Done: Anders Kaseorg <andersk@mit.edu>

Bug is archived. No further changes may be made.

Forwarded to http://marc.info/?l=git&m=147779341423578&w=2

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, reproducible-builds@lists.alioth.debian.org, Debian QA Group <packages@qa.debian.org>:
Bug#842477; Package src:guilt. (Sat, 29 Oct 2016 15:15:04 GMT) (full text, mbox, link).


Acknowledgement sent to Chris Lamb <lamby@debian.org>:
New Bug report received and forwarded. Copy sent to reproducible-builds@lists.alioth.debian.org, Debian QA Group <packages@qa.debian.org>. (Sat, 29 Oct 2016 15:15:04 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Chris Lamb <lamby@debian.org>
To: submit@bugs.debian.org
Subject: guilt: FTBFS: 010: Test failed!
Date: Sat, 29 Oct 2016 16:11:34 +0100
[Message part 1 (text/plain, inline)]
Source: guilt
Version: 0.36-1
Severity: serious
Justification: fails to build from source
User: reproducible-builds@lists.alioth.debian.org
Usertags: ftbfs
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Dear Maintainer,

guilt fails to build from source in unstable/amd64:

  […]

  
  **************************************************************************************
  ** Starting build                                                                   **
  **************************************************************************************
  
   Package:              guilt
   Version:              0.36-1
   Build architecture:   amd64
   Date:                 Sat, 29 Oct 2016 15:58:55 +0100
   Hostname:             34cc4054a89a
   Uname:                Linux 34cc4054a89a 4.7.0-1-amd64 #1 SMP Debian 4.7.8-1 (2016-10-19) x86_64 GNU/Linux
   /etc/timezone:        Europe/London
  
  **************************************************************************************
  ** Installing build dependencies                                                    **
  **************************************************************************************
  
  dh_testdir
  dh_testroot
  dh_prep
  dh_testdir
  dh_testroot
  dh_install
  dh_installdocs
  dh_installchangelogs
  dh_compress
  dh_fixperms
  dh_installdeb
  dh_gencontrol
  dh_md5sums
  dh_builddeb
  dpkg-deb: building package 'guilt-build-deps' in '../guilt-build-deps_0.36-1_all.deb'.
  
  The package has been created.
  Attention, the package has been created in the current directory,
  not in ".." as indicated by the message above!
  Selecting previously unselected package guilt-build-deps.
  (Reading database ... 23465 files and directories currently installed.)
  Preparing to unpack guilt-build-deps_0.36-1_all.deb ...
  Unpacking guilt-build-deps (0.36-1) ...
  Reading package lists...
  Building dependency tree...
  Reading state information...
  Correcting dependencies... Done
  The following additional packages will be installed:
    asciidoc docbook-xml docbook-xsl libexpat1-dev libxml2-utils libxslt1.1
    sgml-base sgml-data xml-core xmlto xsltproc
  Suggested packages:
    source-highlight vim-addon-manager docbook docbook-dsssl docbook-defguide
    dbtoepub docbook-xsl-doc-html | docbook-xsl-doc-pdf | docbook-xsl-doc-text
    | docbook-xsl-doc docbook-xsl-saxon fop libsaxon-java libxalan2-java
    libxslthl-java xalan sgml-base-doc perlsgml w3-recs opensp w3m | lynx-cur
    | links xmltex
  Recommended packages:
    dblatex docbook-utils dblatex | fop libpaper-utils zip
  The following NEW packages will be installed:
    asciidoc docbook-xml docbook-xsl libexpat1-dev libxml2-utils libxslt1.1
    sgml-base sgml-data xml-core xmlto xsltproc
  0 upgraded, 11 newly installed, 0 to remove and 0 not upgraded.
  1 not fully installed or removed.
  Need to get 2999 kB of archives.
  After this operation, 23.5 MB of additional disk space will be used.
  Get:1 http://httpredir.debian.org/debian sid/main amd64 asciidoc all 8.6.9-3 [830 kB]
  Get:2 http://httpredir.debian.org/debian sid/main amd64 libexpat1-dev amd64 2.2.0-1 [128 kB]
  Get:3 http://httpredir.debian.org/debian sid/main amd64 sgml-base all 1.28 [14.7 kB]
  Get:4 http://httpredir.debian.org/debian sid/main amd64 xml-core all 0.16 [23.0 kB]
  Get:5 http://httpredir.debian.org/debian sid/main amd64 sgml-data all 2.0.10 [181 kB]
  Get:6 http://httpredir.debian.org/debian sid/main amd64 docbook-xml all 4.5-8 [84.7 kB]
  Get:7 http://httpredir.debian.org/debian sid/main amd64 docbook-xsl all 1.79.1+dfsg-2 [1249 kB]
  Get:8 http://httpredir.debian.org/debian sid/main amd64 libxml2-utils amd64 2.9.4+dfsg1-2 [102 kB]
  Get:9 http://httpredir.debian.org/debian sid/main amd64 libxslt1.1 amd64 1.1.29-1 [233 kB]
  Get:10 http://httpredir.debian.org/debian sid/main amd64 xsltproc amd64 1.1.29-1 [120 kB]
  Get:11 http://httpredir.debian.org/debian sid/main amd64 xmlto amd64 0.0.28-0.1 [32.9 kB]
  Fetched 2999 kB in 0s (85.3 MB/s)
  Selecting previously unselected package asciidoc.
  (Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 23469 files and directories currently installed.)
  Preparing to unpack .../00-asciidoc_8.6.9-3_all.deb ...
  Unpacking asciidoc (8.6.9-3) ...
  Selecting previously unselected package libexpat1-dev:amd64.
  Preparing to unpack .../01-libexpat1-dev_2.2.0-1_amd64.deb ...
  Unpacking libexpat1-dev:amd64 (2.2.0-1) ...
  Selecting previously unselected package sgml-base.
  Preparing to unpack .../02-sgml-base_1.28_all.deb ...
  Unpacking sgml-base (1.28) ...
  Selecting previously unselected package xml-core.
  Preparing to unpack .../03-xml-core_0.16_all.deb ...
  Unpacking xml-core (0.16) ...
  Selecting previously unselected package sgml-data.
  Preparing to unpack .../04-sgml-data_2.0.10_all.deb ...
  Unpacking sgml-data (2.0.10) ...
  Selecting previously unselected package docbook-xml.
  Preparing to unpack .../05-docbook-xml_4.5-8_all.deb ...
  Unpacking docbook-xml (4.5-8) ...
  Selecting previously unselected package docbook-xsl.
  Preparing to unpack .../06-docbook-xsl_1.79.1+dfsg-2_all.deb ...
  Unpacking docbook-xsl (1.79.1+dfsg-2) ...
  Selecting previously unselected package libxml2-utils.
  Preparing to unpack .../07-libxml2-utils_2.9.4+dfsg1-2_amd64.deb ...
  Unpacking libxml2-utils (2.9.4+dfsg1-2) ...
  Selecting previously unselected package libxslt1.1:amd64.
  Preparing to unpack .../08-libxslt1.1_1.1.29-1_amd64.deb ...
  Unpacking libxslt1.1:amd64 (1.1.29-1) ...
  Selecting previously unselected package xsltproc.
  Preparing to unpack .../09-xsltproc_1.1.29-1_amd64.deb ...
  Unpacking xsltproc (1.1.29-1) ...
  Selecting previously unselected package xmlto.
  Preparing to unpack .../10-xmlto_0.0.28-0.1_amd64.deb ...
  Unpacking xmlto (0.0.28-0.1) ...
  Setting up libxml2-utils (2.9.4+dfsg1-2) ...
  Setting up sgml-base (1.28) ...
  Setting up libxslt1.1:amd64 (1.1.29-1) ...
  Processing triggers for libc-bin (2.24-5) ...
  Setting up asciidoc (8.6.9-3) ...
  Setting up libexpat1-dev:amd64 (2.2.0-1) ...
  Processing triggers for man-db (2.7.5-1) ...
  Setting up xml-core (0.16) ...
  Setting up xsltproc (1.1.29-1) ...
  Processing triggers for sgml-base (1.28) ...
  Setting up sgml-data (2.0.10) ...
  Setting up docbook-xsl (1.79.1+dfsg-2) ...
  Processing triggers for sgml-base (1.28) ...
  Setting up docbook-xml (4.5-8) ...
  Processing triggers for sgml-base (1.28) ...
  Setting up xmlto (0.0.28-0.1) ...
  Setting up guilt-build-deps (0.36-1) ...
  
  **************************************************************************************
  ** Environment                                                                      **
  **************************************************************************************
  
  PATH=/home/lamby/git/projects/dotfiles/dotfiles/..//bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
  HOSTNAME=34cc4054a89a
  TERM=xterm
  PAGER=more
  DISPLAY=:0
  DOCKER_IMAGE=lamby-debian-sid
  DEB_BUILD_OPTIONS=parallel=9
  PIP_DOWNLOAD_CACHE=/home/lamby/.cache/pip
  HOME=/home/lamby
  LOGNAME=lamby
  SHLVL=1
  PWD=/home/lamby/temp/cdt.20161029155853.PhTLXYMfSA.db.guilt/guilt-0.36
  OLDPWD=/home/lamby/temp/cdt.20161029155853.PhTLXYMfSA.db.guilt
  GPG_TTY=/dev/console
  QUILT_PATCHES=debian/patches
  QUILT_NO_DIFF_INDEX=1
  QUILT_REFRESH_ARGS=-p ab --no-timestamps --no-index
  DEBEMAIL=lamby@debian.org
  DEBFULLNAME=Chris Lamb
  EDITOR=vim
  LESS=-cgiFx4M
  GPG_KEY=1E953E27D4311E58
  BLASTER=A220 I5 D1 H5 P330 T6
  _=/usr/bin/env
  
  **************************************************************************************
  ** Building guilt 0.36-1 on amd64                                                   **
  **************************************************************************************
  
   dpkg-buildpackage -rfakeroot -D -us -uc -b
  dpkg-buildpackage: info: source package guilt
  dpkg-buildpackage: info: source version 0.36-1
  dpkg-buildpackage: info: source distribution unstable
  dpkg-buildpackage: info: source changed by Axel Beckert <abe@debian.org>
   dpkg-source --before-build guilt-0.36
  dpkg-buildpackage: info: host architecture amd64
   fakeroot debian/rules clean
  dh clean --parallel
     dh_testdir -O--parallel
     dh_auto_clean -O--parallel
  	make -j9 clean
  make[1]: Entering directory '/home/lamby/temp/cdt.20161029155853.PhTLXYMfSA.db.guilt/guilt-0.36'
  make -C Documentation clean 
  make[2]: Entering directory '/home/lamby/temp/cdt.20161029155853.PhTLXYMfSA.db.guilt/guilt-0.36/Documentation'
  rm -f *.xml *.html *.1 *.7 doc.dep
  rm -f cmds.txt
  rm -f usage-*.txt
  rm -f version.txt
  make[2]: Leaving directory '/home/lamby/temp/cdt.20161029155853.PhTLXYMfSA.db.guilt/guilt-0.36/Documentation'
  make[1]: Leaving directory '/home/lamby/temp/cdt.20161029155853.PhTLXYMfSA.db.guilt/guilt-0.36'
     dh_clean -O--parallel
   debian/rules build
  dh build --parallel
     dh_testdir -O--parallel
     dh_update_autotools_config -O--parallel
     dh_auto_configure -O--parallel
     dh_auto_build -O--parallel
  	make -j9
  make[1]: Entering directory '/home/lamby/temp/cdt.20161029155853.PhTLXYMfSA.db.guilt/guilt-0.36'
  Nothing to build, it is all bash :)
  Try make install
  make[1]: Leaving directory '/home/lamby/temp/cdt.20161029155853.PhTLXYMfSA.db.guilt/guilt-0.36'
     dh_auto_test -O--parallel
  	make -j9 test
  make[1]: Entering directory '/home/lamby/temp/cdt.20161029155853.PhTLXYMfSA.db.guilt/guilt-0.36'
  make -C regression all
  make[2]: Entering directory '/home/lamby/temp/cdt.20161029155853.PhTLXYMfSA.db.guilt/guilt-0.36'
  make[2]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
  ./run-tests
  010: Test failed!
  
  Test:		010
  Log file:	/tmp/guilt.log.26311
  Repo dir:	"/tmp/guilt reg.5445"
  
  Makefile:2: recipe for target 'all' failed
  make[2]: *** [all] Error 1
  make[2]: Leaving directory '/home/lamby/temp/cdt.20161029155853.PhTLXYMfSA.db.guilt/guilt-0.36/regression'
  Makefile:35: recipe for target 'test' failed
  make[1]: *** [test] Error 2
  make[1]: Leaving directory '/home/lamby/temp/cdt.20161029155853.PhTLXYMfSA.db.guilt/guilt-0.36'
  dh_auto_test: make -j9 test returned exit code 2
  debian/rules:5: recipe for target 'build' failed
  make: *** [build] Error 2

  […]

The full build log is attached.


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      lamby@debian.org / chris-lamb.co.uk
       `-
[guilt.0.36-1.unstable.amd64.log.txt.gz (application/octet-stream, attachment)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian QA Group <packages@qa.debian.org>:
Bug#842477; Package src:guilt. (Sat, 29 Oct 2016 16:27:10 GMT) (full text, mbox, link).


Acknowledgement sent to Adrian Bunk <bunk@stusta.de>:
Extra info received and forwarded to list. Copy sent to Debian QA Group <packages@qa.debian.org>. (Sat, 29 Oct 2016 16:27:10 GMT) (full text, mbox, link).


Message #10 received at 842477@bugs.debian.org (full text, mbox, reply):

From: Adrian Bunk <bunk@stusta.de>
To: Chris Lamb <lamby@debian.org>, 842477@bugs.debian.org
Subject: Re: Bug#842477: guilt: FTBFS: 010: Test failed!
Date: Sat, 29 Oct 2016 19:23:45 +0300
Control: reassign -1 git
Control: found -1 1:2.10.1-1
Control: tags -1 sid stretch
Control: retitle -1 git-sh-setup is broken
Control: affects -1 guilt
Control: affects -1 src:guilt

On Sat, Oct 29, 2016 at 04:11:34PM +0100, Chris Lamb wrote:
>...
>   make[2]: Entering directory '/home/lamby/temp/cdt.20161029155853.PhTLXYMfSA.db.guilt/guilt-0.36'
>   make[2]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
>   ./run-tests
>   010: Test failed!
>   
>   Test:		010
>   Log file:	/tmp/guilt.log.26311
>   Repo dir:	"/tmp/guilt reg.5445"
>   
>   Makefile:2: recipe for target 'all' failed
>   make[2]: *** [all] Error 1
>   make[2]: Leaving directory '/home/lamby/temp/cdt.20161029155853.PhTLXYMfSA.db.guilt/guilt-0.36/regression'
>   Makefile:35: recipe for target 'test' failed
>   make[1]: *** [test] Error 2
>   make[1]: Leaving directory '/home/lamby/temp/cdt.20161029155853.PhTLXYMfSA.db.guilt/guilt-0.36'
>   dh_auto_test: make -j9 test returned exit code 2
>   debian/rules:5: recipe for target 'build' failed
>   make: *** [build] Error 2
>...

Thanks for your report, this does actually look like a recent regression 
in git that affects not only building but even running of guilt.

The error message in the log is:
% guilt init
guilt: 6: .: git-sh-i18n: not found
% FAIL: The above command should succeed but failed.


Root cause:

git 1:2.9.3-1:
$ . "$(git --exec-path)/git-sh-setup"
$ 

git 1:2.10.1-1:
$ . "$(git --exec-path)/git-sh-setup"
bash: git-sh-i18n: No such file or directory
bash: eval_gettext: command not found
$ 


> Regards,

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed




Bug reassigned from package 'src:guilt' to 'git'. Request was from Adrian Bunk <bunk@stusta.de> to 842477-submit@bugs.debian.org. (Sat, 29 Oct 2016 16:27:10 GMT) (full text, mbox, link).


No longer marked as found in versions guilt/0.36-1. Request was from Adrian Bunk <bunk@stusta.de> to 842477-submit@bugs.debian.org. (Sat, 29 Oct 2016 16:27:11 GMT) (full text, mbox, link).


Marked as found in versions git/1:2.10.1-1. Request was from Adrian Bunk <bunk@stusta.de> to 842477-submit@bugs.debian.org. (Sat, 29 Oct 2016 16:27:12 GMT) (full text, mbox, link).


Added tag(s) sid and stretch. Request was from Adrian Bunk <bunk@stusta.de> to 842477-submit@bugs.debian.org. (Sat, 29 Oct 2016 16:27:13 GMT) (full text, mbox, link).


Changed Bug title to 'git-sh-setup is broken' from 'guilt: FTBFS: 010: Test failed!'. Request was from Adrian Bunk <bunk@stusta.de> to 842477-submit@bugs.debian.org. (Sat, 29 Oct 2016 16:27:14 GMT) (full text, mbox, link).


Added indication that 842477 affects guilt Request was from Adrian Bunk <bunk@stusta.de> to 842477-submit@bugs.debian.org. (Sat, 29 Oct 2016 16:27:14 GMT) (full text, mbox, link).


Added indication that 842477 affects src:guilt Request was from Adrian Bunk <bunk@stusta.de> to 842477-submit@bugs.debian.org. (Sat, 29 Oct 2016 16:27:15 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Gerrit Pape <pape@smarden.org>:
Bug#842477; Package git. (Sat, 29 Oct 2016 16:33:03 GMT) (full text, mbox, link).


Acknowledgement sent to Santiago Vila <sanvila@unex.es>:
Extra info received and forwarded to list. Copy sent to Gerrit Pape <pape@smarden.org>. (Sat, 29 Oct 2016 16:33:03 GMT) (full text, mbox, link).


Message #29 received at 842477@bugs.debian.org (full text, mbox, reply):

From: Santiago Vila <sanvila@unex.es>
To: Chris Lamb <lamby@debian.org>
Cc: 842477@bugs.debian.org, Axel Beckert <abe@debian.org>
Subject: Re: guilt: FTBFS: 010: Test failed!
Date: Sat, 29 Oct 2016 18:30:08 +0200 (CEST)
On Sat, 29 Oct 2016, Chris Lamb wrote:

>   010: Test failed!
>   
>   Test:		010
>   Log file:	/tmp/guilt.log.26311
>   Repo dir:	"/tmp/guilt reg.5445"

Hi. I was going to report this several minutes ago but you have been faster :-)

This is the contents of guilt.log:

-----------------------------------------------------
% setup_git_repo
% reset_git_repo
Already on "master"
HEAD is now at d485041 initial
% guilt init
guilt: 6: .: git-sh-i18n: not found
% FAIL: The above command should succeed but failed.
-----------------------------------------------------

This used to build ok in the past, I think it is git 2.10.x who made
this not to work anymore.

[ Cc:ing Axel who made the last QA upload, maybe he's interested ]

Thanks.



Information forwarded to debian-bugs-dist@lists.debian.org, Gerrit Pape <pape@smarden.org>:
Bug#842477; Package git. (Sat, 29 Oct 2016 17:51:03 GMT) (full text, mbox, link).


Acknowledgement sent to Chris Lamb <lamby@debian.org>:
Extra info received and forwarded to list. Copy sent to Gerrit Pape <pape@smarden.org>. (Sat, 29 Oct 2016 17:51:03 GMT) (full text, mbox, link).


Message #34 received at 842477@bugs.debian.org (full text, mbox, reply):

From: Chris Lamb <lamby@debian.org>
To: Adrian Bunk <bunk@stusta.de>, 842477@bugs.debian.org
Subject: Re: Bug#842477: guilt: FTBFS: 010: Test failed!
Date: Sat, 29 Oct 2016 18:50:06 +0100
Adrian Bunk wrote:

> Root cause:
> 
> git 1:2.9.3-1:
> $ . "$(git --exec-path)/git-sh-setup"
> $ 
> 
> git 1:2.10.1-1:
> $ . "$(git --exec-path)/git-sh-setup"
> bash: git-sh-i18n: No such file or directory
> bash: eval_gettext: command not found

Nice work :)


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      lamby@debian.org / chris-lamb.co.uk
       `-



Information forwarded to debian-bugs-dist@lists.debian.org, Gerrit Pape <pape@smarden.org>:
Bug#842477; Package git. (Sun, 30 Oct 2016 02:12:02 GMT) (full text, mbox, link).


Acknowledgement sent to Anders Kaseorg <andersk@mit.edu>:
Extra info received and forwarded to list. Copy sent to Gerrit Pape <pape@smarden.org>. (Sun, 30 Oct 2016 02:12:02 GMT) (full text, mbox, link).


Message #39 received at 842477@bugs.debian.org (full text, mbox, reply):

From: Anders Kaseorg <andersk@mit.edu>
To: Junio C Hamano <gitster@pobox.com>
Cc: 842477@bugs.debian.org, git@vger.kernel.org, Vasco Almeida <vascomalmeida@sapo.pt>
Subject: [PATCH] git-sh-setup: Restore sourcability from outside scripts
Date: Sat, 29 Oct 2016 22:10:02 -0400 (EDT)
v2.10.0-rc0~45^2~2 “i18n: git-sh-setup.sh: mark strings for
translation” broke outside scripts such as guilt that source
git-sh-setup as described in the documentation:

$ . "$(git --exec-path)/git-sh-setup"
sh: 6: .: git-sh-i18n: not found

This also affects contrib/convert-grafts-to-replace-refs.sh and
contrib/rerere-train.sh in tree.  Fix this by using git --exec-path to
find git-sh-i18n.

While we’re here, move the sourcing of git-sh-i18n below the shell
portability fixes.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
---

Is this a supported use of git-sh-setup?  Although the documentation is
clear that the end user should not invoke it directly, it seems to imply
that scripts may do this, and in practice it has worked until v2.10.0.

 git-sh-setup.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/git-sh-setup.sh b/git-sh-setup.sh
index a8a4576..240c7eb 100644
--- a/git-sh-setup.sh
+++ b/git-sh-setup.sh
@@ -2,9 +2,6 @@
 # to set up some variables pointing at the normal git directories and
 # a few helper shell functions.
 
-# Source git-sh-i18n for gettext support.
-. git-sh-i18n
-
 # Having this variable in your environment would break scripts because
 # you would cause "cd" to be taken to unexpected places.  If you
 # like CDPATH, define it for your interactive shell sessions without
@@ -46,6 +43,9 @@ git_broken_path_fix () {
 
 # @@BROKEN_PATH_FIX@@
 
+# Source git-sh-i18n for gettext support.
+. "$(git --exec-path)/git-sh-i18n"
+
 die () {
 	die_with_status 1 "$@"
 }
-- 
2.10.1




Added tag(s) upstream and patch. Request was from Anders Kaseorg <andersk@mit.edu> to control@bugs.debian.org. (Sun, 30 Oct 2016 02:24:03 GMT) (full text, mbox, link).


Set Bug forwarded-to-address to 'http://marc.info/?l=git&m=147779341423578&w=2'. Request was from Anders Kaseorg <andersk@mit.edu> to control@bugs.debian.org. (Sun, 30 Oct 2016 02:24:03 GMT) (full text, mbox, link).


Added tag(s) pending. Request was from Anders Kaseorg <andersk@mit.edu> to control@bugs.debian.org. (Sun, 30 Oct 2016 03:21:05 GMT) (full text, mbox, link).


Reply sent to Anders Kaseorg <andersk@mit.edu>:
You have taken responsibility. (Sun, 30 Oct 2016 09:24:12 GMT) (full text, mbox, link).


Notification sent to Chris Lamb <lamby@debian.org>:
Bug acknowledged by developer. (Sun, 30 Oct 2016 09:24:12 GMT) (full text, mbox, link).


Message #50 received at 842477-close@bugs.debian.org (full text, mbox, reply):

From: Anders Kaseorg <andersk@mit.edu>
To: 842477-close@bugs.debian.org
Subject: Bug#842477: fixed in git 1:2.10.2-1
Date: Sun, 30 Oct 2016 09:21:04 +0000
Source: git
Source-Version: 1:2.10.2-1

We believe that the bug you reported is fixed in the latest version of
git, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 842477@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Anders Kaseorg <andersk@mit.edu> (supplier of updated git package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Sat, 29 Oct 2016 22:44:37 -0400
Source: git
Binary: git git-man git-core git-doc git-arch git-cvs git-svn git-mediawiki git-email git-daemon-run git-daemon-sysvinit git-gui gitk git-el gitweb git-all
Architecture: source all amd64
Version: 1:2.10.2-1
Distribution: unstable
Urgency: medium
Maintainer: Gerrit Pape <pape@smarden.org>
Changed-By: Anders Kaseorg <andersk@mit.edu>
Description:
 git        - fast, scalable, distributed revision control system
 git-all    - fast, scalable, distributed revision control system (all subpacka
 git-arch   - fast, scalable, distributed revision control system (arch interop
 git-core   - fast, scalable, distributed revision control system (obsolete)
 git-cvs    - fast, scalable, distributed revision control system (cvs interope
 git-daemon-run - fast, scalable, distributed revision control system (git-daemon s
 git-daemon-sysvinit - fast, scalable, distributed revision control system (git-daemon s
 git-doc    - fast, scalable, distributed revision control system (documentatio
 git-el     - fast, scalable, distributed revision control system (emacs suppor
 git-email  - fast, scalable, distributed revision control system (email add-on
 git-gui    - fast, scalable, distributed revision control system (GUI)
 git-man    - fast, scalable, distributed revision control system (manual pages
 git-mediawiki - fast, scalable, distributed revision control system (MediaWiki in
 git-svn    - fast, scalable, distributed revision control system (svn interope
 gitk       - fast, scalable, distributed revision control system (revision tre
 gitweb     - fast, scalable, distributed revision control system (web interfac
Closes: 648329 842477
Changes:
 git (1:2.10.2-1) unstable; urgency=medium
 .
   * New upstream point release.
     - imap-send: Tell cURL to use imap:// or imaps:// (Closes: #648329)
   * Run asciidoc in TZ=UTC to improve the reproducibility of documentation
     footer timestamps.
   * debian/patches/git-sh-setup-Restore-sourcability-from-outside-script.diff:
     Restore sourcability of git-sh-setup from outside scripts.
     (Closes: #842477)
Checksums-Sha1:
 a948dae38ab9a1da05ce5ea26ee8d16d0b80bb72 2839 git_2.10.2-1.dsc
 2023975ae0061bd569b8529025428e3eca53be2e 4106108 git_2.10.2.orig.tar.xz
 dd3a2eb745a6d93018a344c62947c53a8b556101 509888 git_2.10.2-1.debian.tar.xz
 77000d788c00b0c00e187bbb426f72b183d493db 660474 git-all_2.10.2-1_all.deb
 e19bbd7b9a7660827bbac8453e7de0cd88ccac6f 673934 git-arch_2.10.2-1_all.deb
 9218a29988042435fefc84ca2c086d2ee29c32e2 1396 git-core_2.10.2-1_all.deb
 bb355c3c9333afbf916314785acefd21330e4d93 723638 git-cvs_2.10.2-1_all.deb
 8d284d2c8d9694efe2bfb8c165e4fe24c2496ca8 662030 git-daemon-run_2.10.2-1_all.deb
 25ee99b5c4a94593c3556d0552b5dba4ca9a4460 663194 git-daemon-sysvinit_2.10.2-1_all.deb
 64ece0f9120bf0c91bf6caee175318e344d1b31d 29366074 git-dbgsym_2.10.2-1_amd64.deb
 57d8318700dec363d04b6cc992deb11faa26b246 1516014 git-doc_2.10.2-1_all.deb
 27cbd74df6e58d148a170cbe0a8df73d1d28a00e 680020 git-el_2.10.2-1_all.deb
 6fc821cdfd61ee233ca15ceb0c111ce9ebd37e50 682258 git-email_2.10.2-1_all.deb
 a82355c82137a67cc68961abb07f19c030f4974e 862026 git-gui_2.10.2-1_all.deb
 66fa15c2c91c7bcc41e116970a8cf4d875f5386a 1413450 git-man_2.10.2-1_all.deb
 f7c2c0c83fc8588e50d9fb874fb756135bc9ec7e 675386 git-mediawiki_2.10.2-1_all.deb
 cafaa467359635fbf52a37fc5b1d43ff01c0c52a 745048 git-svn_2.10.2-1_all.deb
 7f5d0f4285cf588d0439f7115b6cc11313bcaf5b 4019892 git_2.10.2-1_amd64.deb
 e04e1b3bf747b9ebc9a3e25e4b152e137768bd5c 787276 gitk_2.10.2-1_all.deb
 ece03918ccc6f6c79405ba758d1be1878961096a 664716 gitweb_2.10.2-1_all.deb
Checksums-Sha256:
 925b3b072bd9dddac85b1c13c336d71edf8d3f548cbb8e0b155856edf09fe856 2839 git_2.10.2-1.dsc
 94802903dd707d85ca3b9a2be35e936a54ce86375f52c6a789efe7ce7e238671 4106108 git_2.10.2.orig.tar.xz
 ac0670fb117014c7d82671e9b244affbf608a81299a3a8049ee56291ebaf2373 509888 git_2.10.2-1.debian.tar.xz
 d1fcf8c462147189b9b7929a411e9d74e1259d1c0e887a3e125d2be75a7502e5 660474 git-all_2.10.2-1_all.deb
 0da4e222589390795c1d89fb1d93d8892b40e2786ed2d1ff1c42302d63e6fe03 673934 git-arch_2.10.2-1_all.deb
 3124b25a0007a38e84cedb01ae604389cacf2cbb34ef652a4c28131910ed6d8b 1396 git-core_2.10.2-1_all.deb
 290ccd293c1e2d5d433955f6726c2c6b7f43d3a8597ae697fb48c8e3b99ec1df 723638 git-cvs_2.10.2-1_all.deb
 d11f406c896f0090f3b44bf030fefa75ef78b800b6a5c84cd14c6c0ff5758e93 662030 git-daemon-run_2.10.2-1_all.deb
 46627afcfab71b313b2a9c3f54378f2f56f2a4f6eff88e88d06e75ac733e68d5 663194 git-daemon-sysvinit_2.10.2-1_all.deb
 fc419221377905fab81ca33bab5debe2e4a1368886013c7117fdc9f0e0880a7f 29366074 git-dbgsym_2.10.2-1_amd64.deb
 7b6ffa903c09a45e0423d156e64298e582d531bd5ce63c37d44a39f93cd39921 1516014 git-doc_2.10.2-1_all.deb
 ab0fdd441a1d2b9b98831bc1671bd429e622f2b180e06d80aeca656f9dc17f97 680020 git-el_2.10.2-1_all.deb
 4056785fdaaf1c4892701ae0593b271118275692fe99bac93a8a77c51f640ea5 682258 git-email_2.10.2-1_all.deb
 02adbacce05dabcb3624c43b9f8c460d4481fbefadfb4f17fd97263c98bb4504 862026 git-gui_2.10.2-1_all.deb
 e22f92e1de1a8e4bb272de703c7b1e222b1859df1d1707ed8b27936e26a6297b 1413450 git-man_2.10.2-1_all.deb
 55c3398cb7bb1d97aad16ed5c9978a9e03e969c0228bacd992d04bf569537573 675386 git-mediawiki_2.10.2-1_all.deb
 1310420819b0d29be0776b756d853cea92cbb822f21f24bcc128ecb62216be81 745048 git-svn_2.10.2-1_all.deb
 9c0f3ca85f4bd6053eebd51d34d371e1891e0880c0d6ff40ea68edf916e97fb8 4019892 git_2.10.2-1_amd64.deb
 6377155d8b44f57b09273bb38a2978aca85c2e31ed7787d8d242d7cd4cab2487 787276 gitk_2.10.2-1_all.deb
 c01047ed3c7b335bd06fd8230ab91ca9f00b7ea1dbf89acf73d2a8ca111ee7d6 664716 gitweb_2.10.2-1_all.deb
Files:
 120d77eee862b90efdca37a688411dc5 2839 vcs optional git_2.10.2-1.dsc
 3cd1dca37be60668f482545716923b72 4106108 vcs optional git_2.10.2.orig.tar.xz
 8028bb0ca30d283b82d9d498822213cd 509888 vcs optional git_2.10.2-1.debian.tar.xz
 9a60a6dc1f6937cb98340f3287852596 660474 vcs optional git-all_2.10.2-1_all.deb
 5f568f9551b6d84a908e00949cb93e5a 673934 vcs optional git-arch_2.10.2-1_all.deb
 d6021073c08d52af3513546545ec491f 1396 vcs optional git-core_2.10.2-1_all.deb
 5dd502640b2eb92f265865ae8cc761f8 723638 vcs optional git-cvs_2.10.2-1_all.deb
 c44551d0649776de04e37117de3ed5a0 662030 vcs optional git-daemon-run_2.10.2-1_all.deb
 3dcafc3103832f51ac72854b9e4d446b 663194 vcs extra git-daemon-sysvinit_2.10.2-1_all.deb
 9e983fa89da43a5888e04803ddf09598 29366074 debug extra git-dbgsym_2.10.2-1_amd64.deb
 755cb6192214adf666463ea8b8bd7210 1516014 doc optional git-doc_2.10.2-1_all.deb
 e4d9b2ed143ca6942a521fb23a11f217 680020 vcs optional git-el_2.10.2-1_all.deb
 f0c2e03e7c619ae39418baeaf9c8f447 682258 vcs optional git-email_2.10.2-1_all.deb
 8dd488b8f3a309942cf96bb07a12f96b 862026 vcs optional git-gui_2.10.2-1_all.deb
 140b0db13d1c50e3447c915505213886 1413450 doc optional git-man_2.10.2-1_all.deb
 4fe78fb5cf6f7684399fa3814411442a 675386 vcs optional git-mediawiki_2.10.2-1_all.deb
 ab684c384a528954c5a0ae1b9cff8ae5 745048 vcs optional git-svn_2.10.2-1_all.deb
 9c9ef7ab233b7d2674184803b0c7830f 4019892 vcs optional git_2.10.2-1_amd64.deb
 a7fa3ba869b85be21b8119f087e0a287 787276 vcs optional gitk_2.10.2-1_all.deb
 dbcf56785573ae313e83c4f699f50c84 664716 vcs optional gitweb_2.10.2-1_all.deb

-----BEGIN PGP SIGNATURE-----

iQIcBAEBCAAGBQJYFa9kAAoJEOXKjEkl5CBfSBMP/3PtY9HvO8plrdrBjw5z674v
r5v9Act9saHUwvSQb88ij9zIXc91rpLhIRJn9kRXjHJ3wEEycUVrOmeEdS4e8geI
bf0FJQNyobbnDS6IWSC/xm43hI8AbYTdoXyrQJohMdTGjdNjdeWkTp8i8Sa5gC1R
CJBcMYTS7ctlEolVdhaQuGKfEJQCxGyFYyKbJ51c6RbEJQBmHy62gy6ho8eC2Gwt
BtRxHG8YH8tfCJdjaMSAPkgUIT24TDtJ8TjoSwqosMTXeybF/DneipHzvyHKRvjY
R0ytbWPGe6kKJ5JgSzdvcb3oIfcBXD9ePVWBORykZeRJSgHW+hfYQKalTD30BPCR
WVlG8WijrMuzAVZ3GNvUTPHeZd6RsKMhQwoh8f07LCIsS6NLCXbAVkrdQI7WsJgb
fhBuTC2AOJSq1g7b8IjYrd5WGQoFy9o5HX+p88N+TzIatbdrdmXiXXsnIK7rUz75
q56Uusj2t5Qws4GRuTMLCI/Lbo6gfEba7exumsNygcWdHb6sLkDWRfEsmWBSniAk
yQz8KXFMA5COXNqzAOqzsgN9YPI/mJKZDeWGn2m/bAmD1Te1r62U/q2V4c4vN4BO
ykJZtx9TABO7rP1VmUKRrTaYlEqaoLdx3WZ1XpcG3fQrrWMZ5FpPHD5rhlNYuKa8
2kHHq1c6Luxvbh0fZWzB
=1JDa
-----END PGP SIGNATURE-----




Information forwarded to debian-bugs-dist@lists.debian.org, Gerrit Pape <pape@smarden.org>:
Bug#842477; Package git. (Sun, 30 Oct 2016 18:00:03 GMT) (full text, mbox, link).


Acknowledgement sent to Ævar Arnfjörð Bjarmason <avarab@gmail.com>:
Extra info received and forwarded to list. Copy sent to Gerrit Pape <pape@smarden.org>. (Sun, 30 Oct 2016 18:00:03 GMT) (full text, mbox, link).


Message #55 received at 842477@bugs.debian.org (full text, mbox, reply):

From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
To: Anders Kaseorg <andersk@mit.edu>
Cc: Junio C Hamano <gitster@pobox.com>, 842477@bugs.debian.org, Git Mailing List <git@vger.kernel.org>, Vasco Almeida <vascomalmeida@sapo.pt>
Subject: Re: [PATCH] git-sh-setup: Restore sourcability from outside scripts
Date: Sun, 30 Oct 2016 18:55:57 +0100
On Sun, Oct 30, 2016 at 3:10 AM, Anders Kaseorg <andersk@mit.edu> wrote:
> v2.10.0-rc0~45^2~2 “i18n: git-sh-setup.sh: mark strings for
> translation” broke outside scripts such as guilt that source
> git-sh-setup as described in the documentation:
>
> $ . "$(git --exec-path)/git-sh-setup"
> sh: 6: .: git-sh-i18n: not found

This seems like a reasonable fix for this issue. However as far as I
can tell git-sh-setup was never meant to be used by outside scripts
that didn't ship as part of git itself.

If that's the case any change in the API which AFAICT is now
considered internal might break them, so should some part of that be
made public & documented as such?



Information forwarded to debian-bugs-dist@lists.debian.org, Gerrit Pape <pape@smarden.org>:
Bug#842477; Package git. (Sun, 30 Oct 2016 19:24:03 GMT) (full text, mbox, link).


Acknowledgement sent to Anders Kaseorg <andersk@mit.edu>:
Extra info received and forwarded to list. Copy sent to Gerrit Pape <pape@smarden.org>. (Sun, 30 Oct 2016 19:24:03 GMT) (full text, mbox, link).


Message #60 received at 842477@bugs.debian.org (full text, mbox, reply):

From: Anders Kaseorg <andersk@mit.edu>
To: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Cc: Junio C Hamano <gitster@pobox.com>, 842477@bugs.debian.org, Git Mailing List <git@vger.kernel.org>, Vasco Almeida <vascomalmeida@sapo.pt>
Subject: Re: [PATCH] git-sh-setup: Restore sourcability from outside scripts
Date: Sun, 30 Oct 2016 15:21:21 -0400 (EDT)
On Sun, 30 Oct 2016, Ævar Arnfjörð Bjarmason wrote:
> This seems like a reasonable fix for this issue. However as far as I
> can tell git-sh-setup was never meant to be used by outside scripts
> that didn't ship as part of git itself.
> 
> If that's the case any change in the API which AFAICT is now
> considered internal might break them, so should some part of that be
> made public & documented as such?

It is documented (Documentation/git-sh-setup.txt), and this is not the 
internal Documentation/technical section of the documentation, so my 
default assumption would be that everything shown there is intended as 
public.  I only bring this up as a question because it was apparently 
allowed to break.  If I’m wrong and it isn’t public, other patches are 
needed (to the documentation and to its users in contrib).

Anders



Information forwarded to debian-bugs-dist@lists.debian.org, Gerrit Pape <pape@smarden.org>:
Bug#842477; Package git. (Sun, 30 Oct 2016 20:21:04 GMT) (full text, mbox, link).


Acknowledgement sent to "Philip Oakley" <philipoakley@iee.org>:
Extra info received and forwarded to list. Copy sent to Gerrit Pape <pape@smarden.org>. (Sun, 30 Oct 2016 20:21:04 GMT) (full text, mbox, link).


Message #65 received at 842477@bugs.debian.org (full text, mbox, reply):

From: "Philip Oakley" <philipoakley@iee.org>
To: "Anders Kaseorg" <andersk@mit.edu>, Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Cc: "Junio C Hamano" <gitster@pobox.com>, <842477@bugs.debian.org>, "Git Mailing List" <git@vger.kernel.org>, "Vasco Almeida" <vascomalmeida@sapo.pt>
Subject: Re: [PATCH] git-sh-setup: Restore sourcability from outside scripts
Date: Sun, 30 Oct 2016 20:09:21 -0000
From: "Anders Kaseorg" <andersk@mit.edu>
> On Sun, 30 Oct 2016, Ævar Arnfjörð Bjarmason wrote:
>> This seems like a reasonable fix for this issue. However as far as I
>> can tell git-sh-setup was never meant to be used by outside scripts
>> that didn't ship as part of git itself.
>>
>> If that's the case any change in the API which AFAICT is now
>> considered internal might break them, so should some part of that be
>> made public & documented as such?
>
> It is documented (Documentation/git-sh-setup.txt), and this is not the
> internal Documentation/technical section of the documentation, so my
> default assumption would be that everything shown there is intended as
> public.  I only bring this up as a question because it was apparently
> allowed to break.  If I’m wrong and it isn’t public, other patches are
> needed (to the documentation and to its users in contrib).
>
But the Documenation does say ::

- This is not a command the end user would want to run. Ever.

- This documentation is meant for people who are studying the Porcelain-ish 
scripts and/or are writing new ones.
--

So there is a cautionary word or two there...

The question would then become: what (if anything) was missing in the 
documentation?...
maybe the inclusion of Ævar's "[Not] to be used by outside scripts that 
didn't ship as part of git itself."?
Or a comment that it may change in newer versions.
Though the code fix may still be reasonable..


Philip 




Information forwarded to debian-bugs-dist@lists.debian.org, Gerrit Pape <pape@smarden.org>:
Bug#842477; Package git. (Sun, 30 Oct 2016 21:21:04 GMT) (full text, mbox, link).


Acknowledgement sent to Jeff King <peff@peff.net>:
Extra info received and forwarded to list. Copy sent to Gerrit Pape <pape@smarden.org>. (Sun, 30 Oct 2016 21:21:04 GMT) (full text, mbox, link).


Message #70 received at 842477@bugs.debian.org (full text, mbox, reply):

From: Jeff King <peff@peff.net>
To: Philip Oakley <philipoakley@iee.org>
Cc: Anders Kaseorg <andersk@mit.edu>, Ævar Arnfjörð Bjarmason <avarab@gmail.com>, Junio C Hamano <gitster@pobox.com>, 842477@bugs.debian.org, Git Mailing List <git@vger.kernel.org>, Vasco Almeida <vascomalmeida@sapo.pt>
Subject: Re: [PATCH] git-sh-setup: Restore sourcability from outside scripts
Date: Sun, 30 Oct 2016 17:12:27 -0400
On Sun, Oct 30, 2016 at 08:09:21PM -0000, Philip Oakley wrote:

> > It is documented (Documentation/git-sh-setup.txt), and this is not the
> > internal Documentation/technical section of the documentation, so my
> > default assumption would be that everything shown there is intended as
> > public.  I only bring this up as a question because it was apparently
> > allowed to break.  If I’m wrong and it isn’t public, other patches are
> > needed (to the documentation and to its users in contrib).
> > 
> But the Documenation does say ::
> 
> - This is not a command the end user would want to run. Ever.
> 
> - This documentation is meant for people who are studying the Porcelain-ish
> scripts and/or are writing new ones.
> --

Historically speaking, porcelain-ish scripts were carried both in and
out of git.git. These days what we consider porcelain is usually carried
in-tree, but I don't think it's unreasonable for people building their
own scripts to want to make use of git-sh-setup. And we've generally
tried to retain backwards compatibility in the functions it provides,
even to out-of-tree scripts.

So I think it is worth applying the fix at the start of this thread to
keep that working.

As for a documentation change for "do not use this for out-of-tree
scripts", I am mildly negative, as I don't think that matches historical
practice.

-Peff



Information forwarded to debian-bugs-dist@lists.debian.org, Gerrit Pape <pape@smarden.org>:
Bug#842477; Package git. (Sun, 30 Oct 2016 22:15:02 GMT) (full text, mbox, link).


Acknowledgement sent to Ævar Arnfjörð Bjarmason <avarab@gmail.com>:
Extra info received and forwarded to list. Copy sent to Gerrit Pape <pape@smarden.org>. (Sun, 30 Oct 2016 22:15:02 GMT) (full text, mbox, link).


Message #75 received at 842477@bugs.debian.org (full text, mbox, reply):

From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
To: Jeff King <peff@peff.net>
Cc: Philip Oakley <philipoakley@iee.org>, Anders Kaseorg <andersk@mit.edu>, Junio C Hamano <gitster@pobox.com>, 842477@bugs.debian.org, Git Mailing List <git@vger.kernel.org>, Vasco Almeida <vascomalmeida@sapo.pt>
Subject: Re: [PATCH] git-sh-setup: Restore sourcability from outside scripts
Date: Sun, 30 Oct 2016 23:11:10 +0100
,On Sun, Oct 30, 2016 at 10:12 PM, Jeff King <peff@peff.net> wrote:
> On Sun, Oct 30, 2016 at 08:09:21PM -0000, Philip Oakley wrote:
>
>> > It is documented (Documentation/git-sh-setup.txt), and this is not the
>> > internal Documentation/technical section of the documentation, so my
>> > default assumption would be that everything shown there is intended as
>> > public.  I only bring this up as a question because it was apparently
>> > allowed to break.  If I’m wrong and it isn’t public, other patches are
>> > needed (to the documentation and to its users in contrib).
>> >
>> But the Documenation does say ::
>>
>> - This is not a command the end user would want to run. Ever.
>>
>> - This documentation is meant for people who are studying the Porcelain-ish
>> scripts and/or are writing new ones.
>> --
>
> Historically speaking, porcelain-ish scripts were carried both in and
> out of git.git. These days what we consider porcelain is usually carried
> in-tree, but I don't think it's unreasonable for people building their
> own scripts to want to make use of git-sh-setup. And we've generally
> tried to retain backwards compatibility in the functions it provides,
> even to out-of-tree scripts.
>
> So I think it is worth applying the fix at the start of this thread to
> keep that working.
>
> As for a documentation change for "do not use this for out-of-tree
> scripts", I am mildly negative, as I don't think that matches historical
> practice.

I don't see why we shouldn't have some stable shellscript function API
if that's needed either.

I just wanted to point out that currently git-sh-setup isn't
documented as such. So at least a follow-up patch to the documentation
seems in order.

This did break in v2.10.0, and it's taken a couple of months to notice
this, so clearly it's not very widely used, which says something about
the cost-benefit of maintaining this for external users.

It's probably worthwhile to split off git-sh-setup into git-sh-setup &
git-sh-setup-internal along with a documentation fix. A lot of what
it's doing (e.g. git_broken_path_fix(), and adding a die() function)
is probably only needed internally by git itself. The
git-sh-setup-internal should be the thing sourcing "git-sh-i18n", I
don't see how anyone out-of-tree could make use of that. Surely nobody
needs to re-emit the exact message we shipped with our *.po files.



Information forwarded to debian-bugs-dist@lists.debian.org, Gerrit Pape <pape@smarden.org>:
Bug#842477; Package git. (Sun, 30 Oct 2016 22:27:05 GMT) (full text, mbox, link).


Acknowledgement sent to Junio C Hamano <gitster@pobox.com>:
Extra info received and forwarded to list. Copy sent to Gerrit Pape <pape@smarden.org>. (Sun, 30 Oct 2016 22:27:05 GMT) (full text, mbox, link).


Message #80 received at 842477@bugs.debian.org (full text, mbox, reply):

From: Junio C Hamano <gitster@pobox.com>
To: Anders Kaseorg <andersk@mit.edu>
Cc: 842477@bugs.debian.org, git@vger.kernel.org, Vasco Almeida <vascomalmeida@sapo.pt>
Subject: Re: [PATCH] git-sh-setup: Restore sourcability from outside scripts
Date: Sun, 30 Oct 2016 15:25:17 -0700
Anders Kaseorg <andersk@mit.edu> writes:

> v2.10.0-rc0~45^2~2 “i18n: git-sh-setup.sh: mark strings for
> translation” broke outside scripts such as guilt that source
> git-sh-setup as described in the documentation:
>
> $ . "$(git --exec-path)/git-sh-setup"
> sh: 6: .: git-sh-i18n: not found
>
> This also affects contrib/convert-grafts-to-replace-refs.sh and
> contrib/rerere-train.sh in tree.  Fix this by using git --exec-path to
> find git-sh-i18n.
>
> While we’re here, move the sourcing of git-sh-i18n below the shell
> portability fixes.
>
> Signed-off-by: Anders Kaseorg <andersk@mit.edu>
> ---

Looks good.

Our in-tree scripts rely on the fact that $PATH is adjusted to have
$GIT_EXEC_PATH early (either by getting invoked indirectly by "git"
potty, or the requirement to do so for people and scripts that still
run our in-tree scripts with dashed e.g. "git-rebase" form) by the
time they run.  But when sh-setup dot-sources git-sh-i18n for its
own use, it should be explicit to name which one of the many copies
that may appear in directories on user's $PATH (one among which is
the one in $GIT_EXEC_PATH) it wants to use.  And this patch does the
right thing by not relying on the $PATH, but instead naming the
exact path using $(git --exec-path)/ prefix, to the included file.

In other words, I think this patch is a pure bugfix, even if there
is no third-party script that includes it.  We may want to have the
above as the rationale to apply this patch in the proposed log
message, though.

> Is this a supported use of git-sh-setup?  Although the documentation is
> clear that the end user should not invoke it directly, it seems to imply
> that scripts may do this, and in practice it has worked until v2.10.0.

It is correct for the documentation to say that this is not a
"command" end users would want to run; they cannot invoke it as a
standalone command as it is written as a dot-sourced shell library.

Even though it is intended solely for internal use, so far we have
not removed things from there, which would have signalled people
that third-party scripts can also dot-source it.  We may want to
reserve the right to break them in the future, but because this is a
pure bugfix, "can third-party rely on the interface not changing?"
is not a question we need to answer in this thread---there is no
reason to leave this broken.

Thanks.

>  git-sh-setup.sh | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/git-sh-setup.sh b/git-sh-setup.sh
> index a8a4576..240c7eb 100644
> --- a/git-sh-setup.sh
> +++ b/git-sh-setup.sh
> @@ -2,9 +2,6 @@
>  # to set up some variables pointing at the normal git directories and
>  # a few helper shell functions.
>  
> -# Source git-sh-i18n for gettext support.
> -. git-sh-i18n
> -
>  # Having this variable in your environment would break scripts because
>  # you would cause "cd" to be taken to unexpected places.  If you
>  # like CDPATH, define it for your interactive shell sessions without
> @@ -46,6 +43,9 @@ git_broken_path_fix () {
>  
>  # @@BROKEN_PATH_FIX@@
>  
> +# Source git-sh-i18n for gettext support.
> +. "$(git --exec-path)/git-sh-i18n"
> +
>  die () {
>  	die_with_status 1 "$@"
>  }




Information forwarded to debian-bugs-dist@lists.debian.org, Gerrit Pape <pape@smarden.org>:
Bug#842477; Package git. (Sun, 30 Oct 2016 22:57:05 GMT) (full text, mbox, link).


Acknowledgement sent to Junio C Hamano <gitster@pobox.com>:
Extra info received and forwarded to list. Copy sent to Gerrit Pape <pape@smarden.org>. (Sun, 30 Oct 2016 22:57:06 GMT) (full text, mbox, link).


Message #85 received at 842477@bugs.debian.org (full text, mbox, reply):

From: Junio C Hamano <gitster@pobox.com>
To: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Cc: Jeff King <peff@peff.net>, Philip Oakley <philipoakley@iee.org>, Anders Kaseorg <andersk@mit.edu>, 842477@bugs.debian.org, Git Mailing List <git@vger.kernel.org>, Vasco Almeida <vascomalmeida@sapo.pt>
Subject: Re: [PATCH] git-sh-setup: Restore sourcability from outside scripts
Date: Sun, 30 Oct 2016 15:53:55 -0700
Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:

(commenting out of order)

> It's probably worthwhile to split off git-sh-setup into git-sh-setup &
> git-sh-setup-internal along with a documentation fix. A lot of what
> it's doing (e.g. git_broken_path_fix(), and adding a die() function)
> is probably only needed internally by git itself. The
> git-sh-setup-internal should be the thing sourcing "git-sh-i18n", I
> don't see how anyone out-of-tree could make use of that. Surely nobody
> needs to re-emit the exact message we shipped with our *.po files.

My reading of d323c6b641 ("i18n: git-sh-setup.sh: mark strings for
translation", 2016-06-17) is abit different.  It needs to dot-source
the i18n stuff because the shell library functions it contains need
the localization support in the messages they emit.  IOW, I do not
think i18n belongs to -internal at all.

> I don't see why we shouldn't have some stable shellscript function API
> if that's needed either.
>
> I just wanted to point out that currently git-sh-setup isn't
> documented as such. So at least a follow-up patch to the documentation
> seems in order.
>
> This did break in v2.10.0, and it's taken a couple of months to notice
> this, so clearly it's not very widely used, which says something about
> the cost-benefit of maintaining this for external users.

I am not sure if "stable API" in sh-setup is a good thing for the
ecosystem in the longer term.

As more and more in-tree scripted Porcelain commands migrate to C,
many helper functions in sh-setup will lose their in-tree users.
For example, get_author_ident_from_commit used to have three in-tree
customers (git-commit.sh, git-am.sh and git-rebase--interactive.sh),
but the first two is long gone and the third one may soon lose its
need to call it.  Once a helper function in setup-sh loses all
in-tree users, we may no longer _break_ that helper, but that is
simply because we feel no need to touch it.  The in-tree Porcelain
commands that migrated to C however will enhance the counterpart
they use in C to be more featureful or fix longstanding bugs in the
C version they use, while sh-setup version bitrot and making old
practice obsolete for "modern" use of Git of the day.  

Keeping such a stale version that we do not use, or even we attempt
to update it without having a good vehicle to test the change
ourselves (because we no longer have any in-tree users) will be
disservice to third-party scripts---the only thing they are getting
by using the stale one, instead of reinventing their own that they
may be responsible to keep up to date, is that they share the same
staleness as everybody else that use the sh-setup version as a
third-party.

I am not arguing that we should remove what loses all in-tree users
immediately.  At least not yet.  But I wanted to point out that it
may not be a good use of our brain cycles to keep the API "stable"
by keeping what in-tree users do not use anymore, especially if it
does not help third-party users in the long run.





Information forwarded to debian-bugs-dist@lists.debian.org, Gerrit Pape <pape@smarden.org>:
Bug#842477; Package git. (Mon, 31 Oct 2016 00:33:04 GMT) (full text, mbox, link).


Acknowledgement sent to Anders Kaseorg <andersk@mit.edu>:
Extra info received and forwarded to list. Copy sent to Gerrit Pape <pape@smarden.org>. (Mon, 31 Oct 2016 00:33:04 GMT) (full text, mbox, link).


Message #90 received at 842477@bugs.debian.org (full text, mbox, reply):

From: Anders Kaseorg <andersk@mit.edu>
To: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Cc: Jeff King <peff@peff.net>, Philip Oakley <philipoakley@iee.org>, Junio C Hamano <gitster@pobox.com>, 842477@bugs.debian.org, Git Mailing List <git@vger.kernel.org>, Vasco Almeida <vascomalmeida@sapo.pt>
Subject: Re: [PATCH] git-sh-setup: Restore sourcability from outside scripts
Date: Sun, 30 Oct 2016 20:30:39 -0400 (EDT)
On Sun, 30 Oct 2016, Ævar Arnfjörð Bjarmason wrote:
> This did break in v2.10.0, and it's taken a couple of months to notice
> this, so clearly it's not very widely used, which says something about
> the cost-benefit of maintaining this for external users.

For the record, in case this affects the calculation, it was noticed that 
guilt was broken a just couple of days after the first git 2.10.x upload 
to Debian, which was last weekend.

https://bugs.debian.org/842477
http://repo.or.cz/guilt.git/blob/v0.36:/guilt#l28

(I have no further opinion; I trust that Junio has all the information 
needed to decide one way or the other.)

Anders



Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Mon, 05 Dec 2016 10:57:55 GMT) (full text, mbox, link).


Bug unarchived. Request was from Don Armstrong <don@debian.org> to control@bugs.debian.org. (Wed, 07 Dec 2016 02:04:45 GMT) (full text, mbox, link).


Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Fri, 27 Jan 2017 11:10:16 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Wed May 17 13:58:42 2023; Machine Name: buxtehude

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.