I want to build master from source - not because I’m a developer, but to have access to the latest updates without relying on the OBS repos.
I tried to git clone darktable for the first time with this command:
git clone --recurse-submodules --depth 1 git@github.com:darktable-org/darktable.git /home/usr/src/darktable
But kept running into this:
Cloning into '/home/usr/src/darktable/src/tests/integration'...
remote: Enumerating objects: 4965, done.
remote: Counting objects: 100% (900/900), done.
remote: Compressing objects: 100% (322/322), done.
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
error: 7659 bytes of body are still expected
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output
fatal: clone of 'https://github.com/darktable-org/darktable-tests.git' into submodule path '/home/usr/src/darktable/src/tests/integration' failed
Failed to clone 'src/tests/integration' a second time, aborting
I tried many different solutions, from HTTP/2 to HTTP/1.1, increasing http.postBuffer, turning off core.compression, adding various lines to .ssh/config and .gitconfig, and nothing worked. It always failed at /tests/integration. Speed was ~500 KiB/s, over wifi, but the network wasn’t cutting out. It completed anywhere from 15-50% before the error.
Giving up on that, I instead downloaded the ZIP, giving me the location /home/usr/src/darktable/darktable-master
, and ran:
cd /home/usr/src/darktable
git init
git remote add origin git@github.com:darktable-org/darktable.git
git add .
git pull origin master
That completed, but has given me a folder structure that doesn’t look quite right (I guess I should have done cd /home/usr/src/darktable/darktable-master
but didn’t realise until too late):
As far as I can tell, the only difference between /src/darktable
and /src/darktable/darktable-master
is the folder .git
. Therefore, is it safe to move .git
into darktable-master
and delete the rest? Is it also safe to then move everything inside darktable-master
into darktable
and delete darktable-master
?
And after that, do I carry on as per usual, with:
git submodule update --init
./build.sh --prefix /opt/darktable --build-type Release --install --sudo
OS is Linux Mint 21.2
My goal is to be able to run git pull
in the future without having to download the ZIP every time.
Many thanks.