X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=doc%2Fwebserver%2Fdeveloper-manual%2Fgit.html;h=e9c8d75578101b6137d0cbfa9cb090afa50eeeda;hp=a87b6777c825e88fa2613c4ca606b945810ea69e;hb=61a5d3fc15169d9f6b0c21e3a56d893f4d672eb4;hpb=ef2fe2beb361222adde485877b5f72d04709b5a4 diff --git a/doc/webserver/developer-manual/git.html b/doc/webserver/developer-manual/git.html index a87b6777..e9c8d755 100644 --- a/doc/webserver/developer-manual/git.html +++ b/doc/webserver/developer-manual/git.html @@ -31,8 +31,8 @@ before accessing via Git.
The project's Git repository is hosted at the Privoxy - website. For Privoxy team members with push privileges the Git repository URL is The project's Git repository is hosted on the Privoxy + webserver. For Privoxy team members with push privileges the Git repository URL is ssh://git@git.privoxy.org:23/git/privoxy.git.
Contributors without push privileges can "git clone https://www.privoxy.org/git/privoxy.git".
@@ -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.
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.