Hi, I’ve just finished compiling blender 2.8. Yay! The only problem I have is that the import add-ons for obj and a couple of others that are updated in the nightly builds are not updated in my build. How can I make sure that my build uses the latest and greatest add-ons?
“make update” in the source root and then you have to navigate to the addons directory and checkout and pull the blender2.8 branches
I’ve added this small script to my source root that I run after
#!/bin/sh git -C release/scripts/addons checkout blender2.8 git -C release/scripts/addons pull git -C release/scripts/addons_contrib checkout blender2.8 git -C release/scripts/addons_contrib pull
To be more specific, in a terminal navigate to blender-git/blender/release/scripts/addons and use
git checkout blender2.8 from there. Then do the same in blender-git/blender/release/scripts/addons-contrib. This should track the 2.8 versions of the Add-ons now. A
make update should from now on also update the Add-ons for 2.8, so you only have to do this procedure once.
make update explicitly checks out master for all submodules and checkout does not pull the most updated remote from origin so you also need to do
git pull after
git checkout blender2.8
Wow, I was a bit slow checking in here again. I figured people are really busy, but wow. thanks for the help!
Hmm… I think i messed up something, after checkout blender2.8 in the two addons folders i did the git pull in both folders and everything looked fine so far. After that I went back to the blender/ folder and did make update and make full. It built everything without errors, but when i checked the addons, they were still the ones that isn’t compatible. After that i tried deleting all the addons in the two folders and pulling them again. making sure i still were using the 2.8 branch. Now i can’t do make update because of an error in the addons folders. aiai…
The error is as follows
error: cannot pull with rebase: You have unstaged changes.
error: please commit or stash them
Stopping at ‘release/scripts/addons’; scripts returned non-zero status.
I’m still to fresh at this to know what exactly is going on other than the fact that there is something that needs to be done to those two folders…
That’s because I was mistaken about the
make update command, as @Hobblin pointed out in the comments. You need to switch to the 2.8 branch for the Add-ons after you run
make update, because
make update explicitly tells both Add-on submodules to go back to master branch. Now, since you have unstaged changes, git will not allow you to do that any more.
See https://stackoverflow.com/questions/9301782/need-to-reset-git-branch-to-origin-version on how to fix the Add-on submodules by resetting them, then switch to the 2.8 branch for each, or use the script provided above by @Hobblin
You might also consider using a graphical git client like SmartGit: https://www.syntevo.com/smartgit/
The command line can be frustrating in the beginning when using git. There, your repository should look like this before compiling Blender (note the blender2.8 branches after each module):
Thanks, i’ll have a look at it right now.
I managed to reset the two folders again, and also used the small shell-script from hoblin up there to update after running make update. it works wonders. Thank you so much guys.
Mhm… i do the script but the addons are still outdated in my compiled version. Everything else works fine…
That’s a bit weird… Do you remember to run the script to update addons every time you do make update?
My script is called addons28 so my commands look like this:
make update && ./addons28
works like a charm every single time.
I run them manuell in the console which should also work…
Make update sent me to conflict hell the last few days and took me forever to figure out why. If ones make his own branch for Blender the submodules seem to get “confused” picking master and blender2.8. The submodules that only come with master branch are immune but submodules like addons and addons_contrib can be “confused” and pick master or blender2.8 randomly (?).
So its better to drop back to blender2.8 branch, I dont know if dropping to master is even better, or manually updating each submodule separately making sure it uses the correct branch.
So if you dont use blender2.8 branch be very careful with make update and if possible avoid it to be on the safe side.