Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-updates > by-pkgid > caead09f71a057684f628a1f930dd384 > files > 65

privoxy-3.0.32-1.mga7.armv7hl.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>The Git Repository</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="Privoxy Developer Manual"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Introduction"
HREF="introduction.html"><LINK
REL="NEXT"
TITLE="Documentation Guidelines"
HREF="documentation.html"><LINK
REL="STYLESHEET"
TYPE="text/css"
HREF="../p_doc.css"><META
HTTP-EQUIV="Content-Type"
CONTENT="text/html;
charset=ISO-8859-1"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#EEEEEE"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Privoxy Developer Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="introduction.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="documentation.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="GIT"
>2. The Git Repository</A
></H1
><P
>      If you become part of the active development team, you will eventually
      need write access to our holy grail, the Git repository. One of the
      team members will need to set this up for you. Please read
      this chapter completely before accessing via Git.
    </P
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="GITACCESS"
>2.1. Access to Git</A
></H2
><P
>        The project's Git repository is hosted on the
        <A
HREF="https://www.privoxy.org/"
TARGET="_top"
>Privoxy webserver</A
>.
        For Privoxy team members with push privileges the Git repository URL is
        <TT
CLASS="LITERAL"
>ssh://git@git.privoxy.org:23/git/privoxy.git</TT
>.
      </P
><P
>       Contributors without push privileges can
       <SPAN
CLASS="QUOTE"
>"git clone https://www.privoxy.org/git/privoxy.git"</SPAN
>.
      </P
><P
>        The central repository is called <TT
CLASS="LITERAL"
>privoxy</TT
>, and the
        source branch is called <TT
CLASS="LITERAL"
>master</TT
>. Subfolders exist
        within the project for target-dependent build and  packaging tools, each
        including the name of the target operating system in their name (e.g.
        Windows, OSXPackageBuilder, debian). There is a webview of the Git
        hierarchy at
        <A
HREF="https://www.privoxy.org/gitweb/?p=privoxy.git;a=tree"
TARGET="_top"
>                    https://www.privoxy.org/gitweb/?p=privoxy.git;a=tree</A
>,
        which might help with visualizing how these pieces fit together.
      </P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="GITBRANCHES"
>2.2. Branches</A
></H2
><P
>       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.
     </P
><P
>       Before pushing stuff, please rebase it on a current master so we get
       an uncomplicated commit history. Avoid merges where possible.
     </P
><P
>       Here's an example git sesssion that should result in a merge-free history:
     </P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>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.</PRE
></TD
></TR
></TABLE
><P
>      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.
     </P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="GITCOMMIT"
>2.3. Git Commit Guidelines</A
></H2
><P
>        The source tree is the heart of every software project. Every effort must
        be made to ensure that it is readable, compilable and consistent at all
        times.  We expect anyone with Git access to strictly
        adhere to the following guidelines:
      </P
><P
>       Basic Guidelines, for all branches:
      </P
><P
></P
><UL
><LI
><P
>            Please don't commit even
            a small change without testing it thoroughly first. When we're
            close to a public release, ask a fellow developer to review your
            changes.
          </P
></LI
><LI
><P
>            Your commit message should give a concise overview of <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>what you
            changed</I
></SPAN
> (no big details) and <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>why you changed it</I
></SPAN
>
            Just check previous messages for good examples.
          </P
></LI
><LI
><P
>            Don't use the same message on multiple files, unless it equally applies to
            all those files.
          </P
></LI
><LI
><P
>            If your changes span multiple files, and the code won't recompile unless
            all changes are committed (e.g. when changing the signature of a function),
            then commit all files one after another, without long delays in between.
            If necessary, prepare the commit messages in advance.
          </P
></LI
><LI
><P
>            Before changing things on Git, make sure that your changes are in line
            with the team's general consensus on what should be done.
          </P
></LI
><LI
><P
>            Note that near a major public release, we get more cautious.
            There is always the possibility to submit a patch to the <A
HREF="https://sourceforge.net/p/ijbswa/patches/"
TARGET="_top"
>patch
            tracker</A
> or the <A
HREF="https://lists.privoxy.org/mailman/listinfo/privoxy-devel"
TARGET="_top"
>privoxy-devel mailing list</A
>
            instead.
          </P
></LI
></UL
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="introduction.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="documentation.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Introduction</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Documentation Guidelines</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>