diff options
Diffstat (limited to 'doc/src/sgml/sourcerepo.sgml')
-rw-r--r-- | doc/src/sgml/sourcerepo.sgml | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/doc/src/sgml/sourcerepo.sgml b/doc/src/sgml/sourcerepo.sgml new file mode 100644 index 00000000000..9c815a82915 --- /dev/null +++ b/doc/src/sgml/sourcerepo.sgml @@ -0,0 +1,93 @@ +<!-- doc/src/sgml/sourcerepo.sgml --> + +<appendix id="sourcerepo"> + <title>The Source Code Repository</title> + + <para> + The <productname>PostgreSQL</productname> source code is stored and managed using the + <productname>Git</productname> version control system. An public mirror of this + is available and updated within a minute of the master repository. + </para> + + <para> + Our wiki, <ulink + url="http://wiki.postgresql.org/wiki/Working_with_Git"></ulink>, + has additional details on working with Git. + </para> + + <para> + Note that building <productname>PostgreSQL</productname> from the source + repository requires reasonably up-to-date versions of <application>bison</> + and <application>flex</>. These tools are not needed to build from a + distribution tarball since their output is included in the file. + You will need Perl as well, but otherwise the tool requirements are the + same. + </para> + + <sect1 id="git"> + <title>Getting The Source Via <productname>Git</></title> + + <para> + With <productname>Git</> you will make a copy of the entire code repository + to your local machine, so you will have access to all history and branches + offline. This is the fastest and most flexible way to develop or test + patches. + </para> + + <procedure> + <title>Git</title> + + <step> + <para> + You will need an installed version of <productname>Git</>, which you can get + from <ulink url="http://git-scm.com"></ulink>. Many systems also have a recent + version of <application>Git</> installed by default, or available in their + package repository system. + </para> + </step> + + <step> + <para> + To being using the Git repository, make a clone of the official mirror: + +<programlisting> +git clone git://git.postgresql.org/git/postgresql.git +</programlisting> + + This will copy the full repository to your local machine, so it may take + a while to complete, especially if you have a slow Internet connection. + </para> + + <para> + The Git mirror can also be reached via the HTTP protocol in case for example + a firewall is blocking access to the Git protocol. Just replace the URL + like: + +<programlisting> +git clone http://git.postgresql.org/git/postgresql.git +</programlisting> + + The HTTP protocol is less efficient than the Git protocol, so it will be + slower to use. + </para> + </step> + + <step> + <para> + Whenever you want to get the latest updates in the system, <command>cd</> + into the repository, and run: + +<programlisting> +git fetch +</programlisting> + </para> + </step> + </procedure> + <para> + <productname>Git</> can do a lot more things than just fetch the source. For + more information, consult the man pages for the product, or the website at + <ulink url="http://git-scm.com"></>. + </para> + </sect1> + +</appendix> |