bug-ncurses
[Top][All Lists]
Advanced

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

RE: File mode discrepancies between tarball and ncurses-snapshots git re


From: rsbecker
Subject: RE: File mode discrepancies between tarball and ncurses-snapshots git repository
Date: Sun, 29 Jan 2023 10:09:16 -0500

On January 29, 2023 9:33 AM, Thomas Dickey wrote:
>On Sun, Jan 29, 2023 at 02:42:05PM +0100, Sven Joachim wrote:
>> There are four scripts which are executable in the ncurses-snapshots
>> git repository[1], but not in the tarballs at invisible-island.net.
>
>odd - I don't recall changing this.  But I understand the cause.
>
>For background, the permissions shown in git snapshots are based on the
initial
>import from rcs in 2015.  The script which I wrote for making the
incremental
>exports doesn't check for permission changes.
>
>The tarballs are directly from rcs, which doesn't store permissions in a
versioned
>form - it's just whatever the file-permissions happen to be on the
archive-file.
>
>However, my checkin/checkout wrappers for rcs use the working file's
permissions,
>adjusting the archive to match.  The change may have been due to my
updating one
>of the scripts (or for instance, putting a
>$(SHELL) in front to avoid having to use "./foo", etc).
>
>Now that you point it out, I see this starting in ncurses 6.3 tarfile:
>
>$ tar tvf ncurses-6.3.tar.gz | grep 'rw-.*\.sh'
>-rw-r--r-- tom/wheel      2976 2020-02-02 18:34
ncurses-6.3/test/savescreen.sh
>-rw-r--r-- tom/wheel      6782 2021-04-18 16:12
ncurses-6.3/progs/MKtermsort.sh
>-rw-r--r-- tom/wheel      2238 2020-02-02 18:34 ncurses-6.3/progs/clear.sh
>-rw-r--r-- tom/wheel      4615 2020-02-02 18:34 ncurses-
>6.3/ncurses/tinfo/MKuserdefs.sh
>-rw-r--r-- tom/wheel      6382 2020-02-02 18:34 ncurses-
>6.3/ncurses/tinfo/MKcaptab.sh
>-rw-r--r-- tom/wheel      4530 2020-08-16 11:58 ncurses-
>6.3/ncurses/tinfo/MKfallback.sh
>-rw-r--r-- tom/wheel      2900 2020-02-02 18:34 ncurses-
>6.3/ncurses/tinfo/MKkeys_list.sh
>
>$ tar tvf ncurses-6.4.tar.gz | grep 'rw-.*\.sh'
>-rw-r--r-- root/wheel     2238 2020-02-02 18:34 ncurses-6.4/progs/clear.sh
>-rw-r--r-- root/wheel     4615 2020-02-02 18:34 ncurses-
>6.4/ncurses/tinfo/MKuserdefs.sh
>-rw-r--r-- root/wheel     6382 2020-02-02 18:34 ncurses-
>6.4/ncurses/tinfo/MKcaptab.sh
>-rw-r--r-- root/wheel     4530 2020-08-16 11:58 ncurses-
>6.4/ncurses/tinfo/MKfallback.sh
>
>Since my intention for the git-snapshots has been that they should reflect
the
>tarballs, adding a git update-index step to the script should repair this
issue.  When
>it's not needed, git will ignore it.
>
>> ,----
>> | $ git shortlog -n1
>> | Thomas E. Dickey (1):
>> |       snapshot of project "ncurses", label v6_4_20230128
>> |
>> | $ git status
>> | On branch master
>> | Your branch is up to date with 'origin/master'.
>> |
>> | nothing to commit, working tree clean $ tar --strip-components=1
>> | -xzf ../ncurses-6.4-20230128.tgz $ git status On branch master Your
>> | branch is up to date with 'origin/master'.
>> |
>> | Changes not staged for commit:
>> |   (use "git add <file>..." to update what will be committed)
>> |   (use "git restore <file>..." to discard changes in working directory)
>> |         modified:   ncurses/tinfo/MKcaptab.sh
>> |         modified:   ncurses/tinfo/MKfallback.sh
>> |         modified:   ncurses/tinfo/MKuserdefs.sh
>> |         modified:   progs/clear.sh
>> |
>> | no changes added to commit (use "git add" and/or "git commit -a") $
>> | git diff diff --git a/ncurses/tinfo/MKcaptab.sh
>> | b/ncurses/tinfo/MKcaptab.sh old mode 100755 new mode 100644 diff
>> | --git a/ncurses/tinfo/MKfallback.sh b/ncurses/tinfo/MKfallback.sh
>> | old mode 100755 new mode 100644 diff --git
>> | a/ncurses/tinfo/MKuserdefs.sh b/ncurses/tinfo/MKuserdefs.sh old mode
>> | 100755 new mode 100644 diff --git a/progs/clear.sh b/progs/clear.sh
>> | old mode 100755 new mode 100644
>> `----
>>
>> I consulted the Debian git repository where I import the weekly
>> tarballs, and apparently the four scripts lost their executable bits
>> in the 20210619 patchlevel.  Obviously ncurses builds fine anyway, but
>> it looks more correct to make these files executable.
>
>It looks odd, but only because the filenames are suffixed with ".sh"
>(which is more of a stylistic thing than anything else).

This commonly happens when the git add is used without the explicit
--chmod=+x to force executable mode, so the commits will tend to use the
prior file modes particularly if core.filemode=false. It is something I keep
having to remind my team almost every sprint.

Regards,
Randall




reply via email to

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