Re: [PATCH 0/9] remove dead shell code

3 messages, 3 authors, 2021-09-02 · open the first message on its own page

Re: [PATCH 0/9] remove dead shell code

From: Junio C Hamano <hidden>
Date: 2021-09-02 20:54:04

Ævar Arnfjörð Bjarmason  [off-list ref] writes:
Remove dead shell code in git-sh-setup, inspired by parallel
discussion on another topic (but the two don't conflict):
https://lore.kernel.org/git/87lf4f9gre.fsf@evledraar.gmail.com/

The last two patches were picked from a dropped series of mine
submitted earlier this year, it was dropped because of other more
complex patches that I haven't included here:
https://lore.kernel.org/git/20210311001447.28254-1-avarab@gmail.com/

Ævar Arnfjörð Bjarmason (9):
  git-sh-setup: remove unused set_reflog_action() function
  git-sh-setup: remove unused git_editor() function
  git-sh-setup: remove unused git_pager() function
  git-sh-setup: remove unused sane_egrep() function
  git-sh-setup: remove unused require_work_tree_exists() function
  git-sh-setup: move create_virtual_base() to mergetools/p4merge
  git-sh-setup: move peel_committish() function to git-subtree.sh
  git-bisect: remove unused SHA-1 $x40 shell variable
  test-lib: remove unused $_x40 and $_z40 variables
Was "unused" above decided based solely on the presence of in-tree
users?  If that is the case, I do not think we want to take these
sh-setup changes.

The implementation details of the remaining part of git-bisect.sh
and test-lib.sh are OK, of course, as that is truly our local
issue.

Thanks.

Re: [PATCH 0/9] remove dead shell code

From: Carlo Arenas <hidden>
Date: 2021-09-02 21:30:13

On Thu, Sep 2, 2021 at 1:58 PM Junio C Hamano [off-list ref] wrote:
Ævar Arnfjörð Bjarmason  [off-list ref] writes:
quoted
Ævar Arnfjörð Bjarmason (9):
  git-sh-setup: remove unused set_reflog_action() function
  git-sh-setup: remove unused git_editor() function
  git-sh-setup: remove unused git_pager() function
  git-sh-setup: remove unused sane_egrep() function
  git-sh-setup: remove unused require_work_tree_exists() function
  git-sh-setup: move create_virtual_base() to mergetools/p4merge
  git-sh-setup: move peel_committish() function to git-subtree.sh
  git-bisect: remove unused SHA-1 $x40 shell variable
  test-lib: remove unused $_x40 and $_z40 variables
Was "unused" above decided based solely on the presence of in-tree
users?  If that is the case, I do not think we want to take these
sh-setup changes.

The implementation details of the remaining part of git-bisect.sh
and test-lib.sh are OK, of course, as that is truly our local
issue.
The removal of sane_egrep() is also unlikely to cause issues, as it
wasn't documented as a public API, and it seems similar to the
git-bisect's implementation details you refer to, except for
git-submodule.

Dropping it now would avoid having to change it to `grep -E` as egrep
gets obsoleted.

In that line, git_pager() and peel_committish() aren't documented
either; document or drop?

Carlo

Re: [PATCH 0/9] remove dead shell code

From: Ævar Arnfjörð Bjarmason <hidden>
Date: 2021-09-02 22:31:35

On Thu, Sep 02 2021, Junio C Hamano wrote:
Ævar Arnfjörð Bjarmason  [off-list ref] writes:
quoted
Remove dead shell code in git-sh-setup, inspired by parallel
discussion on another topic (but the two don't conflict):
https://lore.kernel.org/git/87lf4f9gre.fsf@evledraar.gmail.com/

The last two patches were picked from a dropped series of mine
submitted earlier this year, it was dropped because of other more
complex patches that I haven't included here:
https://lore.kernel.org/git/20210311001447.28254-1-avarab@gmail.com/

Ævar Arnfjörð Bjarmason (9):
  git-sh-setup: remove unused set_reflog_action() function
  git-sh-setup: remove unused git_editor() function
  git-sh-setup: remove unused git_pager() function
  git-sh-setup: remove unused sane_egrep() function
  git-sh-setup: remove unused require_work_tree_exists() function
  git-sh-setup: move create_virtual_base() to mergetools/p4merge
  git-sh-setup: move peel_committish() function to git-subtree.sh
  git-bisect: remove unused SHA-1 $x40 shell variable
  test-lib: remove unused $_x40 and $_z40 variables
Was "unused" above decided based solely on the presence of in-tree
users?  If that is the case, I do not think we want to take these
sh-setup changes.
I should have remembered to reference the earlier discussion, but I
think we had this exact discussion around a year ago when I submitted
patches to remove git-parse-remote.sh, and decided this direction was
OK.

See a89a2fbfccd (parse-remote: remove this now-unused library,
2020-11-14) and the thread starting at
[off-list ref]:
https://lore.kernel.org/git/20201111173738.GB9902@coredump.intra.peff.net/

You'll know better what you meant, but I interpreted the docs you added
for git-sh-setup in 850844e28f7 (Documentation/git-sh-setup.txt:
programmer's docs, 2007-01-17) as a guide for in-tree porcelain scripts.

As noted in my recently sent [off-list ref]
(https://lore.kernel.org/git/87lf4f9gre.fsf@evledraar.gmail.com/) the
eventual goal I have in mind here is to get rid of git-sh-i18n.sh.

If we're set on maintaining these shell libraries indefinitely even
after in-tree users have gone away that pretty much means we can't do
that, which would be unfortunate. We continue paying for quite a bit of
technical debt to extend certain parts of core C git functionality to
*.sh and *.perl.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help