...
Section | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
ECMWF use software called 'Stash' to provide a web interface to git repositories. This is the interface used to browse the sources, branches and create pull requests. It works much like other web interfaces for git, such as github, and is not to be confused with the git stash
command.
Users must have an account and password configured for ECMWF Stash before access can be granted.
Login and authentication
there are actually two ways of login in httpTo connect to Stash, go to: https://software.ecmwf.int/stash
...
/ and find the OpenIFS project.
Access to Stash web interface
Access to Stash requires that you can login to the main ECMWF page: http://www
...
...
. This is normally the case if you have an account on ECMWF systems. Use your normal userid and secureid password.
For users without an account, please go The problem is that to access with git and https (not ssh?) you have to use your JIRA password. And I think were all the problem was. (The same applies to https://softwarewww.ecmwf.int:8443/stash/)
Stash setup
Ensure user has an account and password for Stash. If no userid, go to old.ecmwf.int/login and register. I then need to add this new user to the repository if they are outside ECMWF
...
registration/ and fill in the form to register for an account. Note that it will take some time for the new account to be registered on all the websites, please wait about an hour if access does not initially work.
Info |
---|
After successfully logging in you find you still cannot see the OpenIFS Stash repository, please contact openifs-support@ecmwf.int. You may need to be granted access. |
Access to git repository
To clone the OpenIFS git repository at your local site requires setting a further password to correctly authenticate with the Stash git repository.
Make sure you can successfully log in to the main ECMWF website before following the procedure below.
Authentication
The procedure to get a password to download the OpenIFS git repository is:
- Log out from www.ecmwf.int
- Go to https://software.ecmwf.int/
...
...
Once password is set, make sure userid and password work ok and the user can login to stash and see the OpenIFS git repository.
More detailed information is available.
...
from Daniel:
...
- jsp. Choose "Can't access your account
...
- "
- Write your user id.
- Now you should get an email from JIRA offering you a link to reset your JIRA password. Follow this link and type in the new password (it doesn't matter if you don't already have one).
- This password should be available in Stash in some minutes. You can test it in Stash's web interface
...
- /stash/login as long as you are still logged out from www.ecmwf.int
Cloning and branching
...
To clone the repository at the remote site (once above login is successful):follow these steps. This will prompt for your username and the password created as described in the previous section:
Code Block | ||
---|---|---|
| ||
% mkdir openifs
% cd openifs
% | ||
Code Block | ||
mkdir ecmwf cd ecmwf git clone https://software.ecmwf.int/stash/scm/oifs/openifsoifs38r1.git cd openifs git checkout release/v04 # or whichever model major release required. |
This will prompt for username and password and create a directory 'openifs' in 'ecmwf'.
Use 'ssh' protocol if within ECMWF as https doesn't work.
That's it!
Example email to users
...
is required
Cloning into 'oifs38r1'...
remote: Counting objects: 4680, done.
remote: Compressing objects: 100% (3654/3654), done.
remote: Total 4680 (delta 1206), reused 4175 (delta 871)
Receiving objects: 100% (4680/4680), 21.45 MiB | 20.71 MiB/s, done.
Resolving deltas: 100% (1206/1206), done.
Checking connectivity... done
% cd oifs38r1
% git checkout release/v04 # or whichever release version is required (the most recent is recommended)
Branch release/v04 set up to track remote branch release/v04 from origin.
Switched to a new branch 'release/v04'
% git checkout -b my_new_idea # create new branch. ALWAYS branch from the release branch, never the master branch.
Switched to a new branch 'my_new_idea' |
Acknowledgement
Portions of this page written by ECMWF user support: Daniel Santoalla.
5. To work with an OpenIFS release once you have the git repository:
git checkout release/v04
Configure Git for the first time
git config --global user.name "Glenn Carver"
git config --global user.email "Glenn.Carver@ecmwf.int"
Working with your repository
I just want to clone this repository
If you want to simply clone this empty repository then run this command in your terminal.
git clone ssh://git@software.ecmwf.int:7999/oifs/contrib.git
My code is ready to be pushed
If you already have code ready to be pushed to this repository then run this in your terminal.
cd existing-project
git init
git add --all
git commit -m "Initial Commit"
git remote add origin ssh://git@software.ecmwf.int:7999/oifs/contrib.git
git push origin master
My code is already tracked by Git
If your code is already tracked by Git then set this repository as your "origin" to push to.
cd existing-project
git remote set-url origin ssh://git@software.ecmwf.int:7999/oifs/contrib.git
git push origin master
Useful links
git workflows discussion: http://www.atlassian.com/git/workflows#!workflow-centralized