How to use the source for 2.80 from the .org download (not the git)

First of all congrats on the final release for 2.80, amazing work!

I can get the source for 2.80 and then build by doing the following:
git clone git://git.blender.org/blender.git
cd blender
git checkout v2.80
make release

Was wondering if it’s necessary to do a
git clone git://git.blender.org/blender.git
when I’ve already done this before and kept it updated to the point it was building 2.81 alpha today, or if there’s some way to tell it to just get the older 2.80 and build that, without doing a re-clone.

Besides that, I wanted to know whether people can just grab the source download from:
https://download.blender.org/source/blender-2.80.tar.gz

I’ve been under the assumption that it would be the same as building from the git repository stuff but if I try to do anything it says
fatal: not a git repository (or any of the parent directories): .git

Once you have the git repo, you already have everything, past and present, in terms of Blender source. Jumping around between versions is merely a matter of some commands.

Take the command (a variation on the one you used):

git checkout -b v2.80 v2.80

This command will check out the branch v2.80, just like your command did, with the exception that it won’t leave your git in a detached head state, and will create a branch that you can come back to by doing git checkout v2.80.

I don’t believe that would checkout all of the sub modules needed for v2.80, however. I believe that you need to also update the submodules after you switch to the v2.80 branch with something like:

git submodule update --init --recursive
git submodule foreach git checkout master
git submodule foreach git pull --rebase origin master

In theory, while you are on v2.80 branch, that should checkout the necessary version, but I am not 100% sure. Perhaps @brecht or one of the other developers can comment on this?

I see that a make update doesn’t work here, while in another branch, but that is expected. That said, perhaps another make target could be added to just do the 3 git submodule commands above, as a convenience for users to build branches with?

1 Like

git submodule or make update will not work in the source package. However it is not needed since all the submodules for 2.80 are included.

If you already have a git repository then indeed there is not much point to download any other git repository or source package, it’s already there in the tags of the git repository.

If you want to get the correct submodules after checking out the 2.80 tag, you only need to run:

git submodule update
2 Likes

Thanks guys, I’m starting to understand this better now.

Doing a
git help
might be useful to people who are a little lost like me too