-
Notifications
You must be signed in to change notification settings - Fork 0
Adding a Git Baselibs Component
This will use gFTL as an example.
On the developer Github, create a new repository named ESMA-Baselibs-gFTL.
On your desktop, make the directory:
$ mkdir ESMA-Baselibs-gFTL
$ cd ESMA-Baselibs-gFTL
$ git init
$ rsync -avi --delete --exclude '.gitignore' --exclude '.git' /ford1/share/gmao_SIteam/Baselibs/Submodules/gFTL-1.0.1/ /ford1/share/gmao_SIteam/Baselibs/Submodules/ESMA-Baselibs-gFTL/
$ git add .
$ git commit -m "Add source for gFTL 1.0.1"
$ git remote add origin git@developer.nasa.gov:mathomp4/ESMA-Baselibs-gFTL.git
$ git push -u origin master
For future use, create the vendor branch now:
$ git checkout -b vendor
$ git tag -a vendor/1.0.1 -m "Tag vendor/1.0.1"
If you need to check things out, run tig to verify:
$ tig --all
$ git checkout master
$ git push --all
$ git push --tags
The all push moves both branches over, and the tags for the vendor tag.
Because the .gitmodules file that submodules works with only accepts branches, we create a "fake" version branch, push it, and do a normal tag:
$ git branch version/1.0.1
$ git push origin version/1.0.1
$ git tag -a 1.0.1 -m "Tag version 1.0.1"
$ git push --tags
We need to add/update the .gitmodules in the main ESMA-Baselibs repo to refer to the new version/ branch. To do this, first do a nice clean checkout of the repo for safety:
$ git clone --recursive -j 4 git@developer.nasa.gov:mathomp4/ESMA-Baselibs.git
Then, you can go into it and edit .gitmodules. Once you've changed the branch to use then issue:
$ git submodule add -b version/1.0.1 git@developer.nasa.gov:mathomp4/ESMA-Baselibs-gFTL.git gFTL
This should add something to the .gitmodules