1*4990d495SXin LISee README.hackers for notes on coding styles. 2*4990d495SXin LI 3*4990d495SXin LIThe NTP project's github repository is at https://github.com/ntp-project/ntp. 4*4990d495SXin LI 5*4990d495SXin LIThere are two branches, master and stable. 6*4990d495SXin LI 7*4990d495SXin LIThe stable branch is the current supported production code branch, the 8*4990d495SXin LIntp-stable code (even 2nd number). 9*4990d495SXin LI 10*4990d495SXin LIThe master branch is for new development, also known as ntp-dev (which 11*4990d495SXin LIhas an odd 2nd number). 12*4990d495SXin LI 13*4990d495SXin LIIf you have some work you'd like to add, then if there is any interest 14*4990d495SXin LIin seeing that work in the current production release then base your work 15*4990d495SXin LIon the stable branch, and pull your work into a master copy to allow for 16*4990d495SXin LIpublishing your changes in the ntp-dev or master branch. 17*4990d495SXin LI 18*4990d495SXin LIIf there is no expectation that your work will be included in the 19*4990d495SXin LIcurrent stable release (the ntp-stable code) then it's better to do your 20*4990d495SXin LIwork on a copy of the master branch. 21*4990d495SXin LI 22*4990d495SXin LIMake sure that any changes you make to stable pull cleanly into master. 23*4990d495SXin LI 24*4990d495SXin LIIt's possible that after pulling your changes from stable to master that 25*4990d495SXin LIsome additional cleanup will be required in master. Please do this. 26*4990d495SXin LI 27*4990d495SXin LIIf you follow this method, then if you submit a pull request for either 28*4990d495SXin LImaster or for master+stable, it will be easy for us to evaluate and 29*4990d495SXin LIincorporate your work. 30*4990d495SXin LI 31*4990d495SXin LIPlease also note that your submissions will be able to be evaluated and 32*4990d495SXin LIhandled sooner if the repo that contains your pull requests also includes 33*4990d495SXin LItest cases. 34*4990d495SXin LI 35*4990d495SXin LIThe general workflow is as follows: 36*4990d495SXin LI 37*4990d495SXin LI1) If you haven't, create a fork of ntp-project/ntp with your github account. 38*4990d495SXin LI i) Log on to github.com with your github account. 39*4990d495SXin LI - If you don't have one, create one first. (read: https://help.github.com/articles/signing-up-for-a-new-github-account) 40*4990d495SXin LI - Make sure you also have a SSH key associated with your github account. 41*4990d495SXin LI (read: https://help.github.com/articles/generating-ssh-keys/) 42*4990d495SXin LI ii) Go to https://github.com/ntp-project/ntp 43*4990d495SXin LI iii) On the top right corner, right below the header bar, there is 44*4990d495SXin LI a button labeled "Fork". Click on it. This will fork the current 45*4990d495SXin LI ntp master to your own account. Once done, it will go to your account's 46*4990d495SXin LI version of the ntp repository. (Your fork of ntp source) 47*4990d495SXin LI iv) Clone a local version of your fork. 48*4990d495SXin LI - git clone git@github.com:<your_username>/ntp 49*4990d495SXin LI 50*4990d495SXin LI2) Look through the bugs listed in the bug tracker: http://bugs.ntp.org/ 51*4990d495SXin LI 52*4990d495SXin LI3) Once you've found a bug to work on: 53*4990d495SXin LI 54*4990d495SXin LI i) Create a branch off your own master branch of your local fork. 55*4990d495SXin LI (the <branchname> can be any valid short string that will tell you 56*4990d495SXin LI what you're working on) 57*4990d495SXin LI - git checkout -b <branchname> 58*4990d495SXin LI 59*4990d495SXin LI ii) Start working on the bug. 60*4990d495SXin LI iii) When you create changes in the source, it would help you to 61*4990d495SXin LI keep track of your changes by committing to your local repo. 62*4990d495SXin LI (This way, every small change is tracked and when you've 63*4990d495SXin LI made a mistake, you can always go back.) 64*4990d495SXin LI - git commit -a -m "description of change" 65*4990d495SXin LI iv) Once you are satisfied, you can push to your github account's 66*4990d495SXin LI repository. 67*4990d495SXin LI - git push origin <branchname> 68*4990d495SXin LI v) (go to step iii). 69*4990d495SXin LI 70*4990d495SXin LI4) Once you feel you've fixed the bug (and tested it), you need to 71*4990d495SXin LI create a pull request on your branch on github. (Read up on 72*4990d495SXin LI pull requests @ https://help.github.com/articles/using-pull-requests) 73*4990d495SXin LI 74*4990d495SXin LI i) Create your pullrequest by following the instructions @ 75*4990d495SXin LI https://help.github.com/articles/creating-a-pull-request/ 76*4990d495SXin LI 77*4990d495SXin LI5) Your pull request will be reviewed by committers and when it 78*4990d495SXin LI passes review, it will be merged by the reviewer/allowed committer. 79*4990d495SXin LI 80*4990d495SXin LI6) You have fixed a bug. Goto step #2. 81*4990d495SXin LI 82*4990d495SXin LIIf these patches are for a bugzilla issue, mark the issue as Resolved/READY 83*4990d495SXin LIwith a comment of "Please pick up the patches from XXX" where XXX is 84*4990d495SXin LIsomething like: 85*4990d495SXin LI 86*4990d495SXin LI hostname:~user/path if it's a machine the reviewers have access to, or 87*4990d495SXin LI github-pull-request-URI 88*4990d495SXin LI 89*4990d495SXin LI--- 90*4990d495SXin LI 91