-
Notifications
You must be signed in to change notification settings - Fork 207
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add case git #4655
Add case git #4655
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is awesome, @jedwards4b ! This is a really excellent feature to have! Thank you for implementing it!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very cool idea for a feature!
CIME/non_py/gitignore.template
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lets move this to CIME/data/templates/
with the other templates.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense, thanks.
I'm not sure how to fix that - were you on a github server or in a local environment? I think that our github scripts set those git config variables don't they? |
It was an environment in a container, but it could happen on any system where the user is new and hasn't setup git, since this is only required on making commits. This is really an edge case, I wouldn't expected it to happen often. Should have a fix for this, soon.
|
This PR #4658 should fix that error. |
Replaced by #4660 |
This PR adds a case interface to git. It creates a local git repository when case.setup is run and updates that repository with each action that triggers an update of the CaseStatus file. Optionally a remote repository can be attached by setting CASE_GIT_REPOSITORY to the name of the remote repository. The case name is used as the repository branch name and if the branch already exists in the remote an error is generated. So multiple cases can exist in the same remote repository and each case is a branch of that repo. The new file gitinterface.py can interact with git in two ways:
Note that the variable CASE_GIT_REPOSITORY must be defined in your driver config_component.xml in order to use this feature, it should be defined as follows:
I have tested this code on three systems: derecho (with python git module)
izumi (without python git module)
TACC vista (grace-hopper system no python git module)
Test suite: scripts_regression_tests on the three systems listed above
Test baseline:
Test namelist changes:
Test status: bit for bit
User interface changes?: Users who wish to use the CASE_GIT_REPOSITORY feature must have write permissions to the remote repository and it is recommended that the ssh interface to that repository be used to avoid frequent prompts for github tokens.
Update gh-pages html (Y/N)?: