git clone https://github.com/jenshannoschwalm/darktable.git # creates a 'darktable' folder. Delete it first if it already exists
cd darktable # go into the newly created 'darktable' folder
git checkout gl_recovery_v4 # switch to the 'gl_recovery_v4' branch
You download (clone) the entire repository.
Then you select which branch you want to be active (or work on, or use, …).
So a branch sits inside a repository, of many branches / changes / etc…
How it works in the Github world (often, not always), is that if you work on something, you make your own copy of the repository (called a ‘fork’), on which you are free to change and do as you want.
Then, when you have a branch with changes that you think ‘should be in the main one’, you create a pull request, where you say ‘I think this branch on my repository, should be merged in your repository’.
That’s the stage we are currently in. So the code you are looking for, sits in a branch (gl_recovery_v4) on jenshannoschwalm’s Github copy. Not on the real Darktable one, but on jenshannoschwalm’s copy.
To get started, I don’t think you need git pull
anywhere. That is used to get updates when you already cloned it before. To keep things simple, I would advise using ‘git clone’ to clone an entire repository, and if you want to start over again, just delete the darktable
folder it created and start again.
So, to start building, start mingw64 environment.
Then directly start typing:
rm -rf darktable
git clone https://github.com/jenshannoschwalm/darktable.git
cd darktable
git checkout gl_recovery_v4
pwd
This deletes any darktable folder that is around, download’s jenshannoschwalm’s repository, switch to the branch containing this latest code.
Then, it displays the current directory you are in. Please take note of it and/or write it somewhere, so you know it for later!.
Now, you follow the build instructions that probably start with something like:
git submodule init
git submodule update
rm -rf build
mkdir build
cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/darktable ../.
cmake --build .
cmake --install .
cmake --build . --target package
Notice that these steps delete and (re)create a ‘build’ directory, and do the building in that. So that’s also the final location where the installer will be if everything worked.
Note that this assumes you did all the ‘pacman’ commands in mingw64 environment before, and you created / modified the .bash_profile
as stated in the build docs.
Msys2/mingw64 changes all the time, so you might also just run into unlucky timing where something breaks or is in an incompatible state. But I don’t think that’s your problem at the moment.