emacscollective / borg

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

`make bootstrap` doesn't work if `.config/emacs` is a submodule #154

Open darkfeline opened 7 months ago

darkfeline commented 7 months ago

Using Borg version:

main origin/main 74a930900728a43c32f3356ae21b3da36af375cc
Author:     Jonas Bernoulli <jonas@bernoul.li>
AuthorDate: Mon, 18 Dec 2023 12:19:02 -0800
Commit:     Jonas Bernoulli <jonas@bernoul.li>
CommitDate: Mon, 18 Dec 2023 14:57:00 -0800

If .config/emacs is a submodule, then its .config/emacs/.git is actually a pointer into the parent repo's .git/modules.

make bootstrap tries to clone drones into .config/emacs.git/lib/blah which doesn't work since .config/emacs/.git is a "pointer" file.

e.g.

--- [lib/git-timemachine] ---
Cloning lib/git-timemachine from origin (https://codeberg.org/pidu/git-timemachine)
Cloning into 'lib/git-timemachine'...
fatal: Invalid path '/home/me/.config/emacs/.git/modules': Not a directory
Cloning failed

and /home/me/.config/emacs/.git contains

gitdir: ../../.git/modules/.config/emacs
darkfeline commented 7 months ago

Workaround:

Run git submodule init; git submodule update before make bootstrap