Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: clarify bug fix branch instructions.

This document provides details on ACME development conventions and practices.

...

important -- Items colored in red mean they are important, and should not be ignored.

one time -- Items colored in green are commands to be issued once per machine.

repo once -- Items colored in orange are commands to be issued once per local repository.

...

Creating a new branch: bug fix

Starting a branch to fix a bug is very similar but there is an additional argument.

 

...

Typically, a bug fix is applied to the commit that introduced the bug.  In that case, the branch creation has an additional argument:

 git branch github-username/component/bug-fix commit-with-bug

The last argument is the hash of the commit that first introduced the bug.   If that was a tagged version, you can use the tag name as for the feature branch above.  Unlike new feature development, bug fixes are typically never started from the HEAD of master.

It is ok to fix multiple bugs on a single bug fix branch if it makes sense to do so (e.g. one related set of code changes can fix multiple bugs.)

...

This will open the file with the bug in a text editor, and annotate each line with the commit that last touched it. This can be traced back to find the commit that introduced the bug to begin with.

Advanced developers can branch off of alternate places if they know what they are doing.

NOTE:EXCEPTIONS:   You can start a bug-fix branch from the HEAD of master if any of the following are true:

  • The bug existed in code imported from CESM such as in the initial version added to the repo.
  • The bug was introduced prior to v0.3 (the version where the testing is working)

 

Changing Branches

Creating a new branch will not change the current branch that is being worked on in the current working directory.

...

Because the git branch command does not modify the current branch in the current working directory, new commits will not be made to the new branch. In order to change the branch that is being worked on, the git checkout command is used. For example:

...

Your PR is not finished until it has been merged to master by the Integrator.

This document can be used to help with pull request related issues.

...

Before communicating with remotes, you might want to add or remove remotes. In order to add and remove remotes the git remote command can be used. The two uses are as follows:

git remote add remote-name protocol:address/to/repo # Creates a remote

 

git remote remove remote-name # Removes a remote

  

In order to communicate with remotes, there are three actions. pushpull, and fetch.

...