X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=doc%2Fwebserver%2Fdeveloper-manual%2Fgit.html;h=e9c8d75578101b6137d0cbfa9cb090afa50eeeda;hp=8360a0a291b20f02ac589713f604ca9949e1705b;hb=61a5d3fc15169d9f6b0c21e3a56d893f4d672eb4;hpb=b4344e15e73113aedc2c1cf3ffa9e204f66d84a6;ds=sidebyside diff --git a/doc/webserver/developer-manual/git.html b/doc/webserver/developer-manual/git.html index 8360a0a2..e9c8d755 100644 --- a/doc/webserver/developer-manual/git.html +++ b/doc/webserver/developer-manual/git.html @@ -48,6 +48,60 @@
Whilst the central repository contains only the master branch, developers are of course free to create branches in their local repositories as they develop features, fixes, or update the target-dependent tools. Only once such changes are fully tested ought they be pushed back to the central repository master branch.
+Before pushing stuff, please rebase it on a current master so we get an uncomplicated commit history. Avoid + merges where possible.
+Here's an example git sesssion that should result in a merge-free history:
+
+ fk@t520 ~/git/privoxy $git checkout master + Switched to branch 'master' + Your branch is up to date with 'origin/master'. + # Make sure you have the latest changes + fk@t520 ~/git/privoxy $git pull + Already up to date. + # Create a local banch for changes + fk@t520 ~/git/privoxy $git checkout -b local-branch + Switched to a new branch 'local-branch' + # Create some change + fk@t520 ~/git/privoxy $gmake dok dok-tidy + [...] + # Review your change + fk@t520 ~/git/privoxy $git diff + [...] + # Commit your changes if they look goood + fk@t520 ~/git/privoxy $git commit -m "developer-manual: Regenerate" doc/webserver/ + [local-branch 1abb7316] developer-manual: Regenerate + 1 file changed, 2 insertions(+), 2 deletions(-) + # Review your commit + fk@t520 ~/git/privoxy $git show + [...] + # Go to the master branch + fk@t520 ~/git/privoxy $git checkout master + Switched to branch 'master' + Your branch is up to date with 'origin/master'. + # Make sure you are still in sync + fk@t520 ~/git/privoxy $git pull + [...] + Already up to date. + # Apply the commit you made to the local-branch + fk@t520 ~/git/privoxy $git cherry-pick local-branch + [master 046e85e2] developer-manual: Regenerate + Date: Tue Dec 15 05:10:07 2020 +0100 + 1 file changed, 2 insertions(+), 2 deletions(-) + # Make sure the history looks as expected + fk@t520 ~/git/privoxy $git log -p + # Finally push your change to the Privoxy repository + fk@t520 ~/git/privoxy $git push + [...] + # Go back to the local branch + fk@t520 ~/git/privoxy $git checkout local-branch + # Rebase on top of master and continue hacking + fk@t520 ~/git/privoxy $git rebase master + Successfully rebased and updated refs/heads/local-branch.+ |
+
At one time there were two distinct branches: stable and unstable. The more drastic changes were to be in the unstable branch. These branches have now been merged to minimize time and effort of maintaining two branches.
@@ -81,7 +135,9 @@Note that near a major public release, we get more cautious. There is always the possibility to submit a - patch to the patch tracker instead.
+ patch to the patch tracker or the + privoxy-devel mailing + list instead.