emacscollective / borg

Assimilate Emacs packages as Git submodules
https://emacsmirror.net/manual/borg
GNU General Public License v3.0
255 stars 28 forks source link

Replace `git submodule--helper` subcommands removed/changed in Git 3.38.0 #131

Closed drot closed 1 year ago

drot commented 1 year ago

borg.sh returns: fatal: 'list' is not a valid submodule--helper subcommand

Trying the actual command:

$ git submodule--helper list
fatal: 'list' is not a valid submodule--helper subcommand

Seems like this feature has been removed: https://github.com/git/git/commit/31955475d1c283120d5d84247eb3fd55d9f5fdd9

tarsius commented 1 year ago

We're not getting anything useful from the "list | cut -f2" invocation that we couldn't get from "foreach 'echo $sm_path'".

Except, the old way is considerably faster:

$ time git submodule foreach -q 'echo $sm_path' > /dev/null

real    0m0.585s
user    0m0.413s
sys     0m0.182s

$ time git submodule--helper list > /dev/null

real    0m0.008s
user    0m0.004s
sys     0m0.004s

IMO this should be reverted. I'll make that request myself eventually, if nobody beats me to it, but I am quite busy and still trying to take a break, so I would appreciate it if someone else could take care of that.

tarsius commented 1 year ago

I've added a code-path, that we will hopefully only need to preserve for this one release.

tarsius commented 1 year ago

https://public-inbox.org/git/87czatrpyb.fsf@bernoul.li/T/#u

tarsius commented 1 year ago

We are no longer using the removed and changed git submodule--helper subcommands.

Some of the alternatives are slower, but from the sound of it we will get replacements eventually.

tarsius commented 1 year ago

Borg no longer uses any git submodule--helper SUBCOMMAND.