ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/web/www/git.xhtml
Revision: 1.5
Committed: Sun Aug 4 14:47:10 2013 UTC (10 years, 8 months ago) by tdb
Branch: MAIN
CVS Tags: HEAD
Changes since 1.4: +9 -0 lines
Log Message:
Add note on merge commits.

File Contents

# User Rev Content
1 tdb 1.1 <!--#include virtual="/doctype.inc" -->
2     <head>
3     <title>
4     i-scream Git Repositories
5     </title>
6     <!--#include virtual="/style.inc" -->
7     </head>
8     <body>
9     <div id="container">
10     <div id="main">
11     <!--#include virtual="/header.inc" -->
12     <div id="contents">
13     <h1 class="top">
14     i-scream Git Repositories
15     </h1>
16     <p>
17     The i-scream Git repositories contain the currently
18     developed source code. All historic source code can be
19     found in <a href="/cvs.xhtml">CVS</a>.
20     </p>
21     <p>
22     All code available in the Git repositories is
23 tdb 1.2 <a href= "/license.xhtml">licensed</a> under the GPL
24     unless otherwise stated.
25 tdb 1.1 </p>
26     <h3>
27     Web Access
28     </h3>
29     <p>
30     We use GitWeb to provide a visual frontend to the Git
31     repositories. It allows you to browse around each repository,
32     viewing any version of a file, and the differences between
33     different versions. There is also a link to download the
34     latest version of any section.
35     </p>
36     <p>
37     <a href="http://git.i-scream.org/">http://git.i-scream.org/</a>
38     </p>
39     <h3>
40     Anonymous Git Access (read-only)
41     </h3>
42     <p>
43     Anyone can access the i-scream Git repositories in anonymous
44     read-only mode. The following commands will both allow you
45     to check out the libstatgrab repository. To see what other
46     repositories are available you can look at the web frontend.
47     Choose whichever protocol you prefer.
48     </p>
49     <pre>
50     git clone http://git.i-scream.org/libstatgrab
51     git clone git://git.i-scream.org/libstatgrab
52     </pre>
53     <h3>
54     Developer CVS Access (write)
55     </h3>
56     <p>
57     The i-scream development team have write access to the
58     required Git repositories. This is only available over SSH on
59     a non-standard port. You will need to have a SSH key
60     installed on the server first. Then just clone and push
61     using ssh.
62     </p>
63     <pre>
64     git clone ssh://git@git.i-scream.org/libstatgrab
65     </pre>
66     <h3>
67     GitHub Mirror
68     </h3>
69     <p>
70     Our Git repositories are mirrored on GitHub. The master
71     repository that we'll push commits to is located here, but
72     we provide the GitHub mirrors to make it easier for you to
73     make changes and work with our code.
74     </p>
75     <p>
76     <a href="http://github.com/i-scream">http://github.com/i-scream</a>
77     </p>
78 tdb 1.4 <h3>
79     Git guidelines
80     </h3>
81     <p>
82     We've chosen a set of guidelines to work by so that
83     everybody is clear about how the Git repositories will be
84     used. This should make life easier for developers and
85     users. The aim is to keep things clear and simple without
86     adding unnecessary overheads. We don't have need for
87     anything as complex as git-flow.
88     </p>
89     <ol>
90     <li>
91     The <code>master</code> branch will always be buildable
92     and should be usable. Development work does not happen
93     here directly.
94     </li>
95     <li>
96     New releases will be taken from the <code>master</code>
97     branch and will be tagged there.
98     </li>
99     <li>
100     The master branch will never have its history rewritten.
101     </li>
102     <li>
103     Development work will be done on branches. These
104     branches may only live for the period of the development
105     work. Once the work is complete and tested it will be
106     merged to master and the branch may be deleted.
107     </li>
108     <li>
109     The history on development branches may be rewritten to
110     tidy things up before merging. This probably won't
111     happen often, but don't get upset if it does.
112     </li>
113     <li>
114     If you want to submit changes it's best to do them
115     against the <code>master</code> branch unless you're
116     specifically working with a developer on an issue
117     already.
118     </li>
119 tdb 1.5 <li>
120     Gratuitous merge commits should be avoided, particularly
121     when merging development branches to <code>master</code>.
122     They don't offer much in the way of useful information
123     and make operations like bisect harder. In particular,
124     if you pull changes to your local repository and end up
125     with a merge commit you should use rebase to get rid of
126     it before pushing.
127     </li>
128 tdb 1.4 </ol>
129 tdb 1.1 </div>
130     <!--#include virtual="/footer.inc" -->
131     </div>
132     <!--#include virtual="/menu.inc" -->
133     </div>
134     </body>
135     </html>