summaryrefslogtreecommitdiff
path: root/HACKING.rst
diff options
context:
space:
mode:
Diffstat (limited to 'HACKING.rst')
-rw-r--r--HACKING.rst48
1 files changed, 48 insertions, 0 deletions
diff --git a/HACKING.rst b/HACKING.rst
new file mode 100644
index 00000000..66bf7c90
--- /dev/null
+++ b/HACKING.rst
@@ -0,0 +1,48 @@
+=====================
+Hacking on cloud-init
+=====================
+
+To get changes into cloud-init, the process to follow is:
+
+* If you have not already, be sure to sign the CCA:
+
+ - `Canonical Contributor Agreement`_
+
+* Get your changes into a local bzr branch.
+ Initialize a repo, and checkout trunk (init repo is to share bzr info across multiple checkouts, its different than git):
+
+ - ``bzr init-repo cloud-init``
+ - ``bzr branch lp:cloud-init trunk.dist``
+ - ``bzr branch trunk.dist my-topic-branch``
+
+* Commit your changes (note, you can make multiple commits, fixes, more commits.):
+
+ - ``bzr commit``
+
+* Check pylint and pep8 and test, and address any issues:
+
+ - ``make test pylint pep8``
+
+* Push to launchpad to a personal branch:
+
+ - ``bzr push lp:~<YOUR_USERNAME>/cloud-init/<BRANCH_NAME>``
+
+* Propose that for a merge into lp:cloud-init via web browser.
+
+ - Open the branch in `Launchpad`_
+
+ - It will typically be at ``https://code.launchpad.net/<YOUR_USERNAME>/<PROJECT>/<BRANCH_NAME>``
+ - ie. https://code.launchpad.net/~smoser/cloud-init/mybranch
+
+* Click 'Propose for merging'
+* Select 'lp:cloud-init' as the target branch
+
+Then, someone on cloud-init-dev (currently `Scott Moser`_ and `Joshua Harlow`_) will
+review your changes and follow up in the merge request.
+
+Feel free to ping and/or join #cloud-init on freenode (irc) if you have any questions.
+
+.. _Launchpad: https://launchpad.net
+.. _Canonical Contributor Agreement: http://www.canonical.com/contributors
+.. _Scott Moser: https://launchpad.net/~smoser
+.. _Joshua Harlow: https://launchpad.net/~harlowja