Use Git submodule tracking feature
authorSergey Sharybin <sergey.vfx@gmail.com>
Mon, 20 Feb 2017 09:16:58 +0000 (10:16 +0100)
committerSergey Sharybin <sergey.vfx@gmail.com>
Mon, 20 Feb 2017 09:16:58 +0000 (10:16 +0100)
This way we can point submodules to different branches.

There are two side-effects to this:

- Git 1.8.2 becomes the minimal required version now
  to support this feature.

- Not sure how doing local changes in submodules followed
  by `make update` will behave. We don't use explicit rebase
  now.

  Perhaps this is not so bad, since it was already quite
  dangerous thing to do.

.gitmodules
GNUmakefile
make.bat

index 0b8228e3f142f56c164896655f9809a1b96fb0c8..02875320630e6240f0801021cf3808ab82484662 100644 (file)
@@ -1,16 +1,20 @@
 [submodule "release/scripts/addons"]
        path = release/scripts/addons
        url = ../blender-addons.git
+       branch = blender2.8
        ignore = all
 [submodule "release/scripts/addons_contrib"]
        path = release/scripts/addons_contrib
        url = ../blender-addons-contrib.git
+       branch = master
        ignore = all
 [submodule "release/datafiles/locale"]
        path = release/datafiles/locale
        url = ../blender-translations.git
+       branch = master
        ignore = all
 [submodule "source/tools"]
        path = source/tools
        url = ../blender-dev-tools.git
+       branch = master
        ignore = all
index 1fda1a25a9266767ff6eca126803afb09da6a06d..8fa9571dca61d0b2e3fd9dfc3d8ce15dfa4fb877 100644 (file)
@@ -402,7 +402,7 @@ update: .FORCE
                svn update ../lib/* ; \
        fi
        git pull --rebase
-       git submodule foreach git pull --rebase origin master
+       git submodule update --remote
 
 
 # -----------------------------------------------------------------------------
index dd82b1ca8a72f4d0ec17c3bfeaf522bd9d28b0c3..7a088a802f63aa1d1d30d9f702694e66e4c04dea 100644 (file)
--- a/make.bat
+++ b/make.bat
@@ -90,7 +90,7 @@ if NOT "%1" == "" (
        ) else if "%1" == "update" (
                svn up ../lib/*
                git pull --rebase
-               git submodule foreach git pull --rebase origin master
+               git submodule update --remote
                goto EOF
        ) else if "%1" == "clean" (
                set MUST_CLEAN=1