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 (11 years, 4 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

# Content
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 <a href= "/license.xhtml">licensed</a> under the GPL
24 unless otherwise stated.
25 </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 <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 <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 </ol>
129 </div>
130 <!--#include virtual="/footer.inc" -->
131 </div>
132 <!--#include virtual="/menu.inc" -->
133 </div>
134 </body>
135 </html>