Documentation for PISM, the Parallel Ice Sheet Model

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
committing [2014/05/27 06:51]
Ed Bueler [Best practices] text edits
committing [2017/02/22 06:03]
Ed Bueler [Best practices]
Line 4: Line 4:
    - Create an account on [[http://​github.com]].    - Create an account on [[http://​github.com]].
    - [[http://​help.github.com/​set-up-git-redirect|Set up Git]] on your own system, if it is not already present.    - [[http://​help.github.com/​set-up-git-redirect|Set up Git]] on your own system, if it is not already present.
-   - Send an e-mail to [[help@pism-docs.org]] asking to be added to the "​team"​ of PISM developers. ​ We will make you a member of organization [[https://​github.com/​pism]].+   - Send an e-mail to [[uaf-pism@alaska.edu]] asking to be added to the "​team"​ of PISM developers. ​ We will make you a member of organization [[https://​github.com/​pism]].
    - Being a project member allows you to [[https://​github.com/​pism/​pism/​issues?​milestone=&​sort=created&​direction=desc&​labels=&​state=open|post "​issues"​ at the github host]], which may be labeled as "​bugs",​ "​tasks",​ "​feature requests",​ etc.    - Being a project member allows you to [[https://​github.com/​pism/​pism/​issues?​milestone=&​sort=created&​direction=desc&​labels=&​state=open|post "​issues"​ at the github host]], which may be labeled as "​bugs",​ "​tasks",​ "​feature requests",​ etc.
    - Clone the PISM source code repository using Git, with a URL that includes write permission, and select the dev branch to work on: <​code>​ git clone -b dev git@github.com:​pism/​pism.git pism-dev </​code>​    - Clone the PISM source code repository using Git, with a URL that includes write permission, and select the dev branch to work on: <​code>​ git clone -b dev git@github.com:​pism/​pism.git pism-dev </​code>​
Line 19: Line 19:
 To satisfy our NASA-funded responsibility at UAF, we need to retain some little bit of control. ​ We need PISM to do what we are funded to do.  The following list of "best practices"​ facilitates such minimal control while encouraging healthy development. ​ Perfection on these "​rules"​ is not expected at any time.  Mistakes are //always// forgiven. ​ We are well-protected by version control. To satisfy our NASA-funded responsibility at UAF, we need to retain some little bit of control. ​ We need PISM to do what we are funded to do.  The following list of "best practices"​ facilitates such minimal control while encouraging healthy development. ​ Perfection on these "​rules"​ is not expected at any time.  Mistakes are //always// forgiven. ​ We are well-protected by version control.
  
-   - Non-UAF developers should commit on the ''​dev''​ branch and not on ''​stable''​ branches, because UAF manages stable releases. ​ We do the merge of ''​dev''​ into the next ''​stableX.Y''​ release. ​ If you find a bug in the stable release then [[reporting_bugs|please report it]] and we will fix it at UAF.  Even better, send a pull request if you have fixed it in a fork, or send a patch to [[help@pism-docs.org]].  If a bug exists in ''​dev''​ and you can safely fix it directly, then that is much appreciated.+   - Non-UAF developers should commit on the ''​dev''​ branch and not on ''​stable''​ branches, because UAF manages stable releases. ​ We do the merge of ''​dev''​ into the next ''​stableX.Y''​ release. ​ If you find a bug in the stable release then [[reporting_bugs|please report it]] and we will fix it at UAF.  Even better, send a pull request if you have fixed it in a fork, or send a patch to [[uaf-pism@alaska.edu]].  If a bug exists in ''​dev''​ and you can safely fix it directly, then that is much appreciated.
    - The software tests present in the dev branch are somewhat-thorough regression tests. ​ (They are better than nothing!) ​ Please run them before a commit to minimally check that you have not broken something: <​code>​    - The software tests present in the dev branch are somewhat-thorough regression tests. ​ (They are better than nothing!) ​ Please run them before a commit to minimally check that you have not broken something: <​code>​
      cd 'your build directory'​      cd 'your build directory'​
Line 25: Line 25:
      make test</​code>​ Proposing and building additional fast-running software tests for the dev branch is //​strongly//​ encouraged.      make test</​code>​ Proposing and building additional fast-running software tests for the dev branch is //​strongly//​ encouraged.
    - Posting a task (= an [[https://​github.com/​pism/​pism/​issues?​labels=task&​sort=created&​direction=desc&​state=open&​page=1|issue with a ''​task''​ label]]) describing what you plan to do is always reasonable before doing it.  You can assign the task to yourself. ​ Creating a ''​git branch''​ with a name like ''​issue-XX''​ or ''​new-XX-model''​ is a good idea if you need to test before committing. ​ If you are hoping a UAF developer will do something to help you then you might mark it as a [[https://​github.com/​pism/​pism/​issues?​direction=desc&​labels=feature_request&​milestone=&​page=1&​sort=created&​state=open|''​feature request''​]] instead of a ''​task''​.    - Posting a task (= an [[https://​github.com/​pism/​pism/​issues?​labels=task&​sort=created&​direction=desc&​state=open&​page=1|issue with a ''​task''​ label]]) describing what you plan to do is always reasonable before doing it.  You can assign the task to yourself. ​ Creating a ''​git branch''​ with a name like ''​issue-XX''​ or ''​new-XX-model''​ is a good idea if you need to test before committing. ​ If you are hoping a UAF developer will do something to help you then you might mark it as a [[https://​github.com/​pism/​pism/​issues?​direction=desc&​labels=feature_request&​milestone=&​page=1&​sort=created&​state=open|''​feature request''​]] instead of a ''​task''​.
-   - Posting bug reports is always worthwhile! ​ You can email to [[help@pism-docs.org]], but even better is to post a bug report at the github site (i.e. an [[https://​github.com/​pism/​pism/​issues?​labels=bug&​sort=created&​direction=desc&​state=open&​page=1|issue with a ''​bug''​ label]]). ​ See [[reporting_bugs|How to report a bug]].+   - Posting bug reports is always worthwhile! ​ You can email to [[uaf-pism@alaska.edu]], but even better is to post a bug report at the github site (i.e. an [[https://​github.com/​pism/​pism/​issues?​labels=bug&​sort=created&​direction=desc&​state=open&​page=1|issue with a ''​bug''​ label]]). ​ See [[reporting_bugs|How to report a bug]].
    - Please post a bug report even if you already know how to fix it.  That way other developers may see that related matters are affected.    - Please post a bug report even if you already know how to fix it.  That way other developers may see that related matters are affected.
    - When in doubt about adding spaghetti code because of existing/​bad PISM design choices, please consider posting a task asking UAF developers for abstraction or modularization. ​  You might be asking us to do something we want to do anyway, but it raises the priority.    - When in doubt about adding spaghetti code because of existing/​bad PISM design choices, please consider posting a task asking UAF developers for abstraction or modularization. ​  You might be asking us to do something we want to do anyway, but it raises the priority.
committing.txt ยท Last modified: 2017/02/22 06:03 by Ed Bueler
© 2020 by PISM | webmaster