See README.hackers for notes on coding styles.

The NTP project's github repository is at https://github.com/ntp-project/ntp.

There are two branches, master and stable.

The stable branch is the current supported production code branch, the
ntp-stable code (even 2nd number).

The master branch is for new development, also known as ntp-dev (which
has an odd 2nd number).

If you have some work you'd like to add, then if there is any interest
in seeing that work in the current production release then base your work
on the stable branch, and pull your work into a master copy to allow for
publishing your changes in the ntp-dev or master branch.

If there is no expectation that your work will be included in the
current stable release (the ntp-stable code) then it's better to do your
work on a copy of the master branch.

Make sure that any changes you make to stable pull cleanly into master.

It's possible that after pulling your changes from stable to master that
some additional cleanup will be required in master.  Please do this.

If you follow this method, then if you submit a pull request for either
master or for master+stable, it will be easy for us to evaluate and
incorporate your work.

Please also note that your submissions will be able to be evaluated and
handled sooner if the repo that contains your pull requests also includes
test cases.

The general workflow is as follows:

1) If you haven't, create a fork of ntp-project/ntp with your github account.
   i) Log on to github.com with your github account.
       - If you don't have one, create one first. (read: https://help.github.com/articles/signing-up-for-a-new-github-account)
       - Make sure you also have a SSH key associated with your github account.
         (read: https://help.github.com/articles/generating-ssh-keys/)
   ii) Go to https://github.com/ntp-project/ntp
   iii) On the top right corner, right below the header bar, there is
        a button labeled "Fork".  Click on it.  This will fork the current
	ntp master to your own account. Once done, it will go to your account's
	version of the ntp repository. (Your fork of ntp source)
   iv) Clone a local version of your fork. 
        - git clone git@github.com:<your_username>/ntp

2) Look through the bugs listed in the bug tracker: http://bugs.ntp.org/

3) Once you've found a bug to work on:

   i) Create a branch off your own master branch of your local fork.
      (the <branchname> can be any valid short string that will tell you
       what you're working on)
      - git checkout -b <branchname>
        
   ii) Start working on the bug.
   iii) When you create changes in the source, it would help you to 
        keep track of your changes by committing to your local repo.
	(This way, every small change is tracked and when you've
	 made a mistake, you can always go back.)
	 - git commit -a -m "description of change"
   iv) Once you are satisfied, you can push to your github account's
       repository.
         - git push origin <branchname>
    v) (go to step iii).

4) Once you feel you've fixed the bug (and tested it), you need to 
   create a pull request on your branch on github.  (Read up on
   pull requests @ https://help.github.com/articles/using-pull-requests)

    i) Create your pullrequest by following the instructions @
       https://help.github.com/articles/creating-a-pull-request/

5) Your pull request will be reviewed by committers and when it
   passes review, it will be merged by the reviewer/allowed committer.

6) You have fixed a bug.  Goto step #2.

If these patches are for a bugzilla issue, mark the issue as Resolved/READY
with a comment of "Please pick up the patches from XXX" where XXX is
something like:

 hostname:~user/path	if it's a machine the reviewers have access to, or
 github-pull-request-URI

---

