Closed aabacchus closed 6 months ago
I think the behavior is half intentional; if $PWD is in$KISS_PATH we should probably still update it on kiss u, but otherwise no.
Note that I just responded to my email and didn't actually check the commit. Aug 7, 2022, 2:18 PM by @.***:
If > KISS_PATH=::> or even > KISS_PATH=:/repo1:/repo2> , the > IFS=:; set -- $KISS_PATH trick leaves some of $@ as empty strings. These cause git to print errors. Instead, skip empty arguments.
Demonstration of bug:
$ cd$ KISS_PATH=::: kiss u 2>&1 | sed '/Checking/q'-> Updating repositoriesfatal: not a git repository (or any of the parent directories): .gitfatal: not a git repository (or any of the parent directories): .gitfatal: not a git repository (or any of the parent directories): .git-> Checking for new package versions
The git commands producing the errors are:
git -C "" rev-parse 'HEAD@{upstream}'
and when the argument to -C is empty, the current working directory is unchanged. Therefore, if PWD happens to be inside a git tree, this command could have unexpected effects: currently, if KISS_PATH contains (an) extra colon(s), and PWD is in a git repo with an upstream, the repo is updated irrespective of whether it is in KISS_PATH or a package repo. This behaviour is also fixed by this commit.
You can view, comment on, or merge this pull request online at:
> https://github.com/kisslinux/kiss/pull/304
Commit Summary 7c2ca7d https://github.com/kisslinux/kiss/pull/304/commits/7c2ca7d5bfdb6221d6e32eb6a9d51e94c6cc1d77> kiss: fix pkg_update for extra colons in KISS_PATH File Changes
(> 1 file https://github.com/kisslinux/kiss/pull/304/files> )
M> > kiss https://github.com/kisslinux/kiss/pull/304/files#diff-89d19d63941a517f4921ec8496fbf07c4b444537352cc585461a1b4de469fde5> (1) Patch Links: https://github.com/kisslinux/kiss/pull/304.patch https://github.com/kisslinux/kiss/pull/304.diff
— Reply to this email directly, > view it on GitHub https://github.com/kisslinux/kiss/pull/304> , or > unsubscribe https://github.com/notifications/unsubscribe-auth/AEVM3SLHT3N32ECKBNJYRQLVX74XBANCNFSM5523IBMA> . You are receiving this because you are subscribed to this thread.> Message ID: > <kisslinux/kiss/pull/304> @> github> .> com>
I also assumed it was intentional until just now noticing that my patch stopped the behaviour of updating PWD (my KISS_PATH has extra colons). This patch doesn't mess with if PWD is in KISS_PATH.
If
KISS_PATH=::
or evenKISS_PATH=:/repo1:/repo2
, theIFS=:; set -- $KISS_PATH
trick leaves some of $@ as empty strings. These cause git to print errors. Instead, skip empty arguments.Demonstration of bug:
The git commands producing the errors are:
and when the argument to -C is empty, the current working directory is unchanged. Therefore, if PWD happens to be inside a git tree, this command could have unexpected effects: currently, if KISS_PATH contains (an) extra colon(s), and PWD is in a git repo with an upstream, the repo is updated irrespective of whether it is in KISS_PATH or a package repo. This behaviour is also fixed by this commit.