xref: /freebsd-src/contrib/ntp/README.pullrequests (revision 4990d495fcc77c51b3f46c91ba3a064b565afae0)
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