Appdynamics HA Controller provisioning subsystem
- HA Toolkit must be installed from
HA.shar
- Download HA.shar from https://github.com/Appdynamics/HA-toolkit/releases/latest or clone this repository and then run
make
to build a fresh HA.shar
See README.txt and https://docs.appdynamics.com/display/PRO42/Using+the+High+Availability+(HA)+Toolkit
Git Flow automates a number of excellent conventions for managing branches, merges, and releases. HubFlow is a GitHub-aware fork of the original Git Flow project:
- Easily installed on Mac OS X via homebrew
- Documentation: http://datasift.github.io/gitflow/
The Git Flow / Hubflow workflow maintains a pair of branches: develop
and master
:
develop
contains every merged feature and bug fix.master
only contains released, production-ready code. Bug fixes or features are branched from develop and then merged back in.
Please note that only Curt Mayer, the project architect, has push privileges to the develop
and master
branches in this repository. To get your features and fixes merged into develop
and released into master
, please follow the procedures below.
AppDynamics GitHub organization members:
- Install hubflow (
brew install hubflow
on Macs with Homebrew installed, follow the instructions here for other platforms.) - Clone this repo from GitHub with SSH
- Change directories into your clone of the HA-toolkit repo and run
git hf init
- Please see Datasift's excellent tutorial on HubFlow
Others:
- Fork this repository on GitHub
- Clone your forked repository to your development machine.
- Use your preferred version control workflow, push back to your forked repo, and open a pull request on GitHub. We will evaluate your contributions as we have the bandwidth to do so.
Starting a new feature (or bugfix) branch
git hf feature start <feature-name>
Returning to a feature branch from another branch
git hf feature checkout <feature-name>
This command also works for checking out a feature started by a colleague. Note that you will need to look here for the correct feature/<feature name>
branch.
Pulling a colleague's work down from GitHub to your feature branch.
git hf pull
Pulling down the latest master
and develop
branches from GitHub
git hf update
Merging changes onto your feature branch from develop
git hf feature checkout <feature-name>
git merge develop
Getting your feature merged into the develop branch
git hf update
git hf feature checkout <feature-name>
git merge develop
(and resolve any merge conflicts)git hf push
- Open a pull request to pull changes from your feature branch to
develop
and assign to Curt Mayer (cmayer68) - If any changes are required before your pull request gets merged, commit them to your feature request branch and
git hf push
them to github. They will be added automatically to your pull request. - Once your pull request has been merged, delete your feature branch from GitHub and run
git hf feature finish
to close your feature branch. If this fails and you are certain that your feature has been merged, rungit hf feature finish -f <feature name>
to force the cleanup to complete.
Handling pull requests
- Open the pull request and review the "Conversation," "Commits," and "Files changed" tabs.
- Make comments, as necessary, on the submitted code changes. (Unfortunately, that GitHub's comment system isn't as slick as Gerrit's where you can highlight a section of code and attach a comment it to it. You should place your comment below all of the code you are commenting on to improve readability in the "Conversation" tab)
- New commits based on your feedback will be reflected automatically in the pull request, though a browser refresh may be required.
- Once you are satisfied with all of the changes, scroll to the end of the conversation and click the "Merge pull request" button.
- Enter a commit message
- Decide whether to preserve all of the commits in the pull request, or squash them into a single commit.
- Click the green button again to confirm your selection.
Publishing a new release
git hf release start <tag name>
(Note that the<tag name>
should be your version string, i.e. '1.2.3')- Complete pre-release tests and bug fixes on the relese candidate branch
git hf release finish <tag name>