Author: plessy
Date: 2011-03-20 02:35:12 +0000 (Sun, 20 Mar 2011)
New Revision: 6325

Modified:
   trunk/community/website/docs/policy.xml
Log:
Moved most Git instructions from the policy to the tips.


Modified: trunk/community/website/docs/policy.xml
===================================================================
--- trunk/community/website/docs/policy.xml     2011-03-20 01:38:36 UTC (rev 
6324)
+++ trunk/community/website/docs/policy.xml     2011-03-20 02:35:12 UTC (rev 
6325)
@@ -195,17 +195,81 @@
                
                <sect2 id="git-tips">
                        <title>Git tips</title>
-                       <para>
-                               To clone and follow every branch of a git 
repository containing a package that is already in the Debian archive, you can 
use the <command>debcheckout</command> command with its 
<command><option>--git-track='*'</option></command> option. To restrict the 
tracked branch to the standard ones used by 
<command>git-buildpackage</command>, <literal>master upstream 
pristine-tar</literal> can be passed instead of the wildcard.
+                       <para id="new-repository-with-gbp">
+                               Example to create a new git repository for a 
package where the upstream
+                               sources are distributed as file archives (tar, 
zip, …):<programlisting>
+<command>mkdir</command> <filename class="directory">package</filename>
+<command>cd</command> <filename class="directory">package</filename>
+<command>git init</command>
+<command>git import-orig</command> <option>--pristine-tar</option> 
<filename>/path/to/package_version.orig.tar.gz</filename>
+<command>dh_make</command> <option>-p package_x.y.z</option></programlisting>
+                               The above steps will create a repository with 
the appropriate layout for
+                               <command>git-buildpackage</command>, with three 
branches:
+                               <literal>master</literal> (where the Debian 
development will happen),
+                               <literal>pristine-tar</literal> used by the
+                               <literal>pristine-tar</literal> tool during the 
package build process to
+                               recreate the original tarball, and 
<literal>upstream</literal>, which
+                               will contain the upstream source.
                        </para>
-                       <para>
+                       <para id="debcheckout-sets-git-options">
+                               To display your name and more nicely in the Git 
log, you should instruct
+                               Git to do so (the <option>--global</option> 
option is to say Git these
+                               are the default parameters for every Git 
repository you commit to,
+                               without it the settings will be per-repository 
only):<programlisting>
+<command>git config</command> <option><optional>--global</optional></option> 
<option>user.name "$DEBFULLNAME"</option>
+<command>git config</command> <option><optional>--global</optional></option> 
<option>user.email "$DEBEMAIL"</option></programlisting>
+                       </para>
+                       <para id="debcheckout-git-track">
+                               To clone and follow every branch of a git 
repository containing a
+                               package that is already in the Debian archive, 
you can use the
+                               <command>debcheckout</command> command with its
+                               
<command><option>--git-track='*'</option></command> option. To restrict
+                               the tracked branch to the standard ones used by
+                               <command>git-buildpackage</command>, 
<literal>master upstream
+                               pristine-tar</literal> can be passed instead of 
the wildcard.
+                       </para>
+                       <para id="git-track-new-branches">
                                Example commands to track new branches: 
<programlisting>
-git branch -t upstream origin/upstream
-git branch -t pristine-tar origin/pristine-tar</programlisting>
+<command>git branch</command> <option>-t <replaceable>upstream</replaceable> 
<replaceable>origin/upstream</replaceable></option>
+<command>git branch</command> <option>-t 
<replaceable>pristine-tar</replaceable> 
<replaceable>origin/pristine-tar</replaceable></option></programlisting>
                </para>
-                       <para>
-                               If the <package>devscripts</package> variables 
<varname>DEBEMAIL</varname> and <varname>DEBFULLNAME</varname> are set, 
<command>debcheckout</command> will set <command>git</command>'s options 
<varname>user.email</varname> and <varname>user.name</varname> accordingly.
+                       <para id="git-options-devscripts">
+                               If the <package>devscripts</package> variables
+                               <varname>DEBEMAIL</varname> and 
<varname>DEBFULLNAME</varname> are set,
+                               <command>debcheckout</command> will set 
<command>git</command>'s options
+                               <varname>user.email</varname> and 
<varname>user.name</varname>
+                               accordingly.
                        </para>
+                       <para id="git-add-alioth-branch">
+                               To push changes to Alioth, a remote branch 
needs to be configured.  This
+                               is done automatically after cloning a 
repository, for instance with
+                               <link 
linkend="debcheckout-git-track">debcheckout</link>.  The default
+                               remote branch is called <quote>origin</quote>.  
Here are example
+                               commands to set up Alioth as a remote branch on 
a freshly created
+                               repository:<programlisting>
+<command>git remote add</command> <literal>origin</literal> <filename 
class="directory">git+ssh://alioth.debian.org/git/debian-med/package.git</filename></programlisting>
+                       </para>
+                       <para id="create-git-repository-on-alioth">
+                               There is a small script called 
<command>setup-repository</command> in
+                               the     <filename 
class="directory">/git/debian-med</filename> directory on
+                               Alioth. 
<code><command>./setup-repository</command>
+                               <option>packagename</option> 
<option>"Description of the
+                               package"</option></code> will create a <filename
+                               class="directory">packagename.git</filename> 
repository on with the
+                               proper hooks set up for our team.
+                       </para>
+                       <para id="push-package-to-alioth">
+                               To push the package (make sure you've added the 
alioth remote!), do the
+                               following:<code><command>git push</command> 
<option>origin
+                               master</option></code>.  For the first push, 
it's necessary to specify
+                               <option>origin master</option>. The next time 
you will push, a
+                               <command>git push</command> will suffice.
+                       </para>
+                       <para id="git-push-all-tags">
+                               <command>git push</command>this will only push 
the
+                               <literal>master</literal> branch unless it is 
somehow related to other
+                               branches), so be sure to also do a run with 
<option>--all</option>, and one with <option>--tags</option> if you created new 
tags.
+                       </para>
                </sect2>
                
                <sect2 id="subversion-to-git">
@@ -408,112 +472,16 @@
                        the Debian Med packaging pool but it helps if the 
maintainer of a
                        certain package verifies that everything is in the 
right place.</para>
                </sect3>
-               <sect3 id="new-git-repository">
-                <title>Git</title>
-                <sect4 id="git-buildpackage">
-                    <title>Creating a local repository</title>
-                    <para>Just a few instructions to get you started:</para>
-                    <blockquote>
-                        <para><userinput>
-                            <command>mkdir</command>
-                            <filename class="directory">package</filename>
-                        </userinput></para>
-                        <para><userinput>
-                            <command>cd</command>
-                            <filename class="directory">package</filename>
-                        </userinput></para>
-                        <para><userinput>
-                            <command>git</command>
-                            <option>init</option>
-                        </userinput></para>
-                        <para><userinput>
-                            <command>git import-orig --pristine-tar</command>
-                            
<filename>/path/to/package_version.orig.tar.gz</filename>
-                        </userinput></para>
-                        <para><userinput>
-                            <command>dh_make</command>
-                            <option>-p package_x.y.z</option>
-                        </userinput></para>
-                    </blockquote>
-                    <para>The above steps will create a repository with the 
appropriate layout for
-                    <command>git-buildpackage</command>, with three branches: 
<filename>master</filename>
-                    (where the Debian development will happen), 
<filename>pristine-tar</filename>,
-                    used by the <command>pristine-tar</command> tool during 
the package build process
-                    to recreate the original tarball, and 
<filename>upstream</filename>, which will
-                    contain the upstream source.</para>
-                    <para>To display your name and more nicely in the Git log, 
you should instruct
-                    Git to do so (the <option>--global</option> option is to 
say Git these are the
-                    default parameters for every Git repository you commit to, 
without it the settings
-                    will be per-repository only):</para>
-                    <blockquote>
-                       <para><userinput>
-                               <command>git config</command>
-                               <option>[--global]</option>
-                               <option>user.name "$DEBFULLNAME"</option>
-                       </userinput></para>
-                       <para><userinput>
-                               <command>git config</command>
-                               <option>[--global]</option>
-                               <option>user.email "$DEBEMAIL"</option>
-                       </userinput></para>
-                    </blockquote>
-                    <para>After you create your <filename 
class="directory">debian/</filename> (be sure
-                    to commit it!), you should add a <quote>remote</quote> to 
the repository. A remote is
-                    where the commits will be pushed to, and the default 
remote is called <quote>origin</quote>.</para>
-                    <para>If you are going to push to our Alioth repository, 
please do the following inside your
-                    local repository:</para>
-                    <blockquote>
-                        <para><userinput>
-                            <command>git remote add origin</command>
-                            <filename 
class="directory">git+ssh://alioth.debian.org/git/debian-med/package.git</filename>
-                        </userinput></para>
-                    </blockquote>
-                    <para>The next step is to create the remote repository on 
Alioth.</para>
-                </sect4>
-                <sect4 id="create-alioth-repository">
-                    <title>Creating the remote repository</title>
-                    <blockquote>
-                        <para><userinput>
-                            <command>ssh</command>
-                            <filename 
class="directory">alioth.debian.org</filename>
-                        </userinput></para>
-                        <para><userinput>
-                            <command>cd</command>
-                            <filename 
class="directory">/git/debian-med</filename>
-                        </userinput></para>
-                        <para><userinput>
-                            <command>./setup-repository</command>
-                            <option>packagename</option>
-                            <option>"Description of the package"</option>
-                        </userinput></para>
-                    </blockquote>
-                    <para>This will create a <filename 
class="directory">packagename.git</filename> repository on
-                    Alioth, with the proper hooks set up for our team.</para>
-                </sect4>
-                <sect4 id="push-package-to-alioth">
-                    <title>Pushing the package</title>
-                    <para>To push the package (make sure you've added the 
alioth remote!), do the following:</para>
-                    <blockquote>
-                        <para><userinput>
-                            <command>git push origin master</command>
-                        </userinput></para>
-                        <para><userinput>
-                            <command>git push</command>
-                            <option>--all</option>
-                        </userinput></para>
-                        <para><userinput>
-                            <command>git push</command>
-                            <option>--tags</option>
-                        </userinput></para>
-                    </blockquote>
-                    <para>For the first push, it's necessary to specify 
<quote>origin master</quote>. The next time
-                    you will push, a <command>git push</command> will suffice. 
Remember that this will only push the
-                    <quote>master</quote> branch (and the other two only if 
master is somehow related to the new
-                    branches), so be sure to also do a run with 
<option>--all</option>, and one with
-                    <option>--tags</option> (if you obviously changed anything 
in the other branches/tags).</para>
-                </sect4>
-            </sect3>
-        </sect2>
+               <sect3 id="new-git-repo">
+                       <title>New package stored in a Git repository.</title>
+                       <para>
+                               Git repositories should be stored in the
+                               <filename 
class="directory">/git/debian-med</filename> directory on Alioth and created 
with the <link
+                               
linkend="create-git-repository-on-alioth"><command>setup-repository</command></link>
+                               script available there.
+                       </para>
+               </sect3>
+       </sect2>
         <sect2 id="building-and-tagging">
                <title>Building and tagging the packages</title>
             <sect3 id="building">


_______________________________________________
debian-med-commit mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/debian-med-commit

Reply via email to