This repository was archived by the owner on Apr 18, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathgit-recipes.html
More file actions
344 lines (313 loc) · 29.3 KB
/
git-recipes.html
File metadata and controls
344 lines (313 loc) · 29.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8" />
<link rel="shortcut icon" href="sites/saros-project.org/themes/saros/favicon.ico.html" type="image/vnd.microsoft.icon" />
<link rel="shortlink" href="node/167.html" />
<link rel="canonical" href="git-recipes.html" />
<meta name="Generator" content="Drupal 7 (http://drupal.org)" />
<title>Git use-cases | Saros</title>
<style type="text/css" media="all">
@import url("modules/system/system.base.css");
@import url("modules/system/system.menus.css");
@import url("modules/system/system.messages.css");
@import url("modules/system/system.theme.css");
</style>
<style type="text/css" media="all">
@import url("sites/all/modules/ldap/ldap_user/ldap_user.css");
@import url("modules/book/book.css");
@import url("modules/comment/comment.css");
@import url("modules/field/theme/field.css");
@import url("modules/node/node.css");
@import url("modules/search/search.css");
@import url("sites/all/modules/toc_filter/toc_filter.css");
@import url("modules/user/user.css");
@import url("modules/forum/forum.css");
</style>
<style type="text/css" media="all">
@import url("sites/all/modules/ctools/css/ctools.css");
@import url("sites/all/modules/ldap/ldap_servers/ldap_servers.admin.css");
</style>
<style type="text/css" media="all">
@import url("sites/saros-project.org/themes/touch/style.css");
@import url("sites/saros-project.org/themes/saros/saros_style.css");
</style>
<script type="text/javascript" src="misc/jquery.js%3Fv=1.4.4.html"></script>
<script type="text/javascript" src="misc/jquery.once.js%3Fv=1.2.html"></script>
<script type="text/javascript" src="misc/drupal.js%3Fp9abym.html"></script>
<script type="text/javascript" src="sites/all/modules/toc_filter/toc_filter.js%3Fp9abym.html"></script>
<script type="text/javascript" src="sites/saros-project.org/themes/touch/js/scrolltopcontrol.js%3Fp9abym.html"></script>
<script type="text/javascript">
<!--//--><![CDATA[//><!--
jQuery.extend(Drupal.settings, {"basePath":"\/","pathPrefix":"","ajaxPageState":{"theme":"saros","theme_token":"Xtbja6TRSHGMbmPP6svdIswAEKPM8UAHumBhzSU027U","js":{"misc\/jquery.js":1,"misc\/jquery.once.js":1,"misc\/drupal.js":1,"sites\/all\/modules\/toc_filter\/toc_filter.js":1,"sites\/saros-project.org\/themes\/touch\/js\/scrolltopcontrol.js":1},"css":{"modules\/system\/system.base.css":1,"modules\/system\/system.menus.css":1,"modules\/system\/system.messages.css":1,"modules\/system\/system.theme.css":1,"sites\/all\/modules\/ldap\/ldap_user\/ldap_user.css":1,"modules\/book\/book.css":1,"modules\/comment\/comment.css":1,"modules\/field\/theme\/field.css":1,"modules\/node\/node.css":1,"modules\/search\/search.css":1,"sites\/all\/modules\/toc_filter\/toc_filter.css":1,"modules\/user\/user.css":1,"modules\/forum\/forum.css":1,"sites\/all\/modules\/ctools\/css\/ctools.css":1,"sites\/all\/modules\/ldap\/ldap_servers\/ldap_servers.admin.css":1,"sites\/saros-project.org\/themes\/touch\/style.css":1,"sites\/saros-project.org\/themes\/saros\/saros_style.css":1}},"toc_filter_smooth_scroll_duration":"","urlIsAjaxTrusted":{"\/git-recipes":true}});
//--><!]]>
</script>
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body class="html not-front not-logged-in one-sidebar sidebar-first page-node page-node- page-node-167 node-type-book" >
<div id="wrapper" class="clearfix">
<div id="header-top" class="clearfix">
<div id="logo"><!--start logo-->
<a id="site_name_link" href="index.html" title="Home">
<img src="sites/saros-project.org/files/saros-logo-100x100.png" alt="Home" />
</a>
<div id="name_slogan">
<a id="site-name" href="index.html" title="Home" rel="home"><span>Saros</span></a>
<br/>
<a id="site-slogan" id="site-name" href="index.html" title="Home" rel="home"><span>Distributed Party Programming</span></a>
</div><!--end name_slogan-->
<!--div id="site-slogan">Distributed Party Programming</div><!--site slogan-->
</div><!--end logo-->
<!-- / start search box region -->
<div class="search-box">
<div class="region region-search-box">
<div id="block-search-form" class="block block-search">
<div class="content">
<form action="git-recipes.html" method="post" id="search-block-form" accept-charset="UTF-8"><div><div class="container-inline">
<h2 class="element-invisible">Search form</h2>
<div class="form-item form-type-textfield form-item-search-block-form">
<label class="element-invisible" for="edit-search-block-form--2">Search </label>
<input title="Enter the terms you wish to search for." type="text" id="edit-search-block-form--2" name="search_block_form" value="" size="15" maxlength="128" class="form-text" />
</div>
<div class="form-actions form-wrapper" id="edit-actions"><input type="submit" id="edit-submit" name="op" value="Search" class="form-submit" /></div><input type="hidden" name="form_build_id" value="form-0ZvcGqxkunfz_IazvBp-xn4QS42PpQwqbiMm_A7gf1I" />
<input type="hidden" name="form_id" value="search_block_form" />
</div>
</div></form> </div>
</div> <!-- /.block -->
</div>
<!-- /.region -->
</div> <!-- / end search box region -->
</div><!--end header-top-->
<div id="header" class="clearfix"><!--start header-->
<div id="main-menu">
<ul class="menu"><li class="first leaf"><a href="home.html" title="Frontpage">Home</a></li>
<li class="expanded"><a href="node/66.html">About Saros</a><ul class="menu"><li class="first leaf"><a href="features.html" title="List of Saros features">Features</a></li>
<li class="leaf"><a href="screenshots.html" title="Get impressions with screenshots">Screenshots</a></li>
<li class="leaf"><a href="host-comic.html">Saros Host Comic</a></li>
<li class="leaf"><a href="what-others-say.html" title="Information about where Saros has been mentioned">What others say</a></li>
<li class="last leaf"><a href="history.html" title="Development history and people involved">History</a></li>
</ul></li>
<li class="expanded"><a href="setup.html" title="Learn how to use Saros">Installation & Set-Up</a><ul class="menu"><li class="first expanded"><a href="installation.html" title="Installing Saros in Eclipse">Install Saros</a><ul class="menu"><li class="first last leaf"><a href="setupXMPP.html" title="Setup your own XMPP Server (Advanced Users)">Setup own XMPP Server</a></li>
</ul></li>
<li class="last leaf"><a href="GettingStarted.html">Getting Started with Saros</a></li>
</ul></li>
<li class="expanded"><a href="support_home.html">Support</a><ul class="menu"><li class="first leaf"><a href="mailing-list-chat.html" title="Information on how to reach the Saros team via mailing lists">Mailing Lists</a></li>
<li class="leaf"><a href="troubleshooting.html" title="Known problems when using Saros">Troubleshooting</a></li>
<li class="leaf"><a href="faq.html" title="Frequently asked questions">Saros FAQ</a></li>
<li class="leaf"><a href="compatibility.html">Plugin Compatibility</a></li>
<li class="last leaf"><a href="feedback.html" title="Information about the feature feedback">User Survey & Statistics</a></li>
</ul></li>
<li class="expanded active-trail"><a href="getinvolved.html" title="Learn how to develop on Saros" class="active-trail">Develop on Saros</a><ul class="menu"><li class="first expanded"><a href="checkout-and-first-steps.html">Check-Out and First Steps</a><ul class="menu"><li class="first expanded"><a href="setup-dev-environment.html">Set up development environment</a><ul class="menu"><li class="first leaf"><a href="dev-environment-reqs.html">Environment Requirements</a></li>
<li class="leaf"><a href="install-subclipse.html">Install Subclipse for building Saros/E</a></li>
<li class="leaf"><a href="install-egit.html">Install EGit</a></li>
<li class="leaf"><a href="our-dev-workflow.html">Our workflow</a></li>
<li class="leaf"><a href="gerrit-login.html">Log in to Gerrit</a></li>
<li class="leaf"><a href="eclipse-setup-git.html">Setting your name and email address for using Gerrit</a></li>
<li class="leaf"><a href="eclipse-setup-ssh.html">Create and configure an SSH key for using Gerrit</a></li>
<li class="leaf"><a href="get-source-code.html">Get Saros source code</a></li>
<li class="leaf"><a href="import-code-style-profiles.html">Import code style profiles</a></li>
<li class="last leaf"><a href="run-saros-as-dev.html">Run your Saros</a></li>
</ul></li>
<li class="last expanded"><a href="make-first-change.html">Making changes to Saros</a><ul class="menu"><li class="first leaf"><a href="node/124.html">Create a new local branch</a></li>
<li class="leaf"><a href="node/125.html">Doing your first change</a></li>
<li class="leaf"><a href="commit-and-push-first-change.html">Commit and push your change</a></li>
<li class="last leaf"><a href="node/127.html">Abandon your change in Gerrit</a></li>
</ul></li>
</ul></li>
<li class="collapsed"><a href="ongoing-work.html">Ongoing Work</a></li>
<li class="expanded"><a href="guidelines.html">Guidelines</a><ul class="menu"><li class="first leaf"><a href="contribution.html">Contribution Rules</a></li>
<li class="collapsed"><a href="coderules.1.html" title="Coding Guidelines and Rules">Coding Conventions</a></li>
<li class="leaf"><a href="usability.html" title="Guidelines to ensure Usability">Usability Guidelines</a></li>
<li class="leaf"><a href="TicketGuidelines.html">Ticket Guidelines</a></li>
<li class="last leaf"><a href="ci-rules.html">Jenkins Rules</a></li>
</ul></li>
<li class="collapsed"><a href="tools.html">Tools</a></li>
<li class="expanded"><a href="processes.html" title="Processes in Saros">Processes</a><ul class="menu"><li class="first leaf"><a href="review.html" title="Information about the review process">Review</a></li>
<li class="leaf"><a href="ReleaseProcess.html" title="Our Release Process">Release</a></li>
<li class="expanded"><a href="testing.html" title="Information about the testing process">Testing</a><ul class="menu"><li class="first last leaf"><a href="jenkins.html">Jenkins and Saros</a></li>
</ul></li>
<li class="leaf"><a href="bugtracker.html" title="Watch the bug tracker">Bug Tracking</a></li>
<li class="last leaf"><a href="documentation.html" title="Information about the documentation process">Documentation</a></li>
</ul></li>
<li class="leaf"><a href="mailingslists.html">Mailinglists</a></li>
<li class="leaf"><a href="https://sourceforge.net/p/dpp/bugs/" title="">Bug Tracker</a></li>
<li class="leaf"><a href="https://sourceforge.net/projects/dpp/" title="Visit Saros at Sourceforge">Saros@Sourceforge</a></li>
<li class="collapsed"><a href="gsoc.1.html">Google Summer of Code</a></li>
<li class="last expanded active-trail"><a href="node/129.html" class="active-trail">FAQ in daily practice</a><ul class="menu"><li class="first leaf"><a href="node/132.html" title="A change was integrated to master. How can I update my local code?">Update local code to master</a></li>
<li class="leaf"><a href="node/130.html" title="I messed up my local copy of Saros. How can I reset/clean up/revert my changes?">Revert local changes</a></li>
<li class="leaf"><a href="upload-new-patch-set.html" title="Someone discovered an error/failure/typo. How can I upload a new patch set?">Upload a new patch set</a></li>
<li class="leaf"><a href="node/133.html" title="My build failed. What's wrong with my change?">Building in Gerrit failed!</a></li>
<li class="leaf"><a href="gerrit-checkout-patch.html" title="Someone uploaded a change to Gerrit. How can I test this change?">Get & run someones change</a></li>
<li class="leaf"><a href="node/145.html" title="What is a Change? Patch set? Submit?">Change? Patch set? Submit?</a></li>
<li class="leaf"><a href="gerrit-groups-and-permissions.html" title="Which permissions do I have?">Check Gerrit permissions</a></li>
<li class="leaf"><a href="node/142.html" title="How to delete an unwanted local branch in EGit?">Delete local branch</a></li>
<li class="leaf"><a href="node/136.html">Duplicate Location Error</a></li>
<li class="leaf"><a href="gerrit-review.html" title="Someone wants that I review a change. How to review a change?">Review a change</a></li>
<li class="leaf"><a href="node/140.html" title="How to run Saros STF tests locally?">Run STF tests locally</a></li>
<li class="leaf"><a href="node/139.html" title="I ran an STF test (located in test/stf) and get an error! What's wrong?">STF tests fail</a></li>
<li class="leaf"><a href="node/138.html" title="How to set up Saros for running local STF tests?">Set up STF tests</a></li>
<li class="leaf"><a href="node/144.html" title="I want automate my testing process. How to write my own STF tests?">Write STF tests</a></li>
<li class="last leaf active-trail"><a href="git-recipes.html" class="active-trail active">Git use-cases</a></li>
</ul></li>
</ul></li>
<li class="expanded"><a href="techdoc.html" title="Technical Documentation">Technical Documentation</a><ul class="menu"><li class="first leaf"><a href="architectureDocumentation.html">Architecture Documentation</a></li>
<li class="leaf"><a href="specoverview.html">Overview</a></li>
<li class="leaf"><a href="concurrency.html" title="Information about Concurrency">Concurrency</a></li>
<li class="leaf"><a href="eclipsebridge.html">Eclipse Bridge</a></li>
<li class="leaf"><a href="packageFeedback.html" title="Information about the feedback feature">Feedback</a></li>
<li class="leaf"><a href="invitation.html" title="Information about invitation">Invitation</a></li>
<li class="leaf"><a href="networklayer.html" title="Information about the network layer">Network Layer</a></li>
<li class="expanded"><a href="sharedsession.html" title="Information about shared session">Shared Session</a><ul class="menu"><li class="first last leaf"><a href="activities.html" title="Information about activities">Activities</a></li>
</ul></li>
<li class="last leaf"><a href="ui.html" title="Information about user interface">User Interface</a></li>
</ul></li>
<li class="expanded"><a href="research.html" title="Research">Research</a><ul class="menu"><li class="first leaf"><a href="bibliography.html" title="Saros related literature">Bibliography</a></li>
<li class="last leaf"><a href="relatedwork.html">Related Work</a></li>
</ul></li>
<li class="last leaf"><a href="contact.html">Contact</a></li>
</ul></div><!-- end main-menu -->
</div> <!-- /#header -->
<div id="content-body">
<div class="breadcrumb"><h2 class="element-invisible">You are here</h2><nav class="breadcrumb"><a href="index.html">Home</a> » <a href="getinvolved.html" title="Learn how to develop on Saros">Develop on Saros</a> » <a href="node/129.html">FAQ in daily practice</a> » Git use-cases</nav></div>
<section id="main" role="main" class="clear">
<a id="main-content"></a>
<h1 class="title" id="page-title">Git use-cases</h1> <div class="region region-content">
<div id="block-system-main" class="block block-system">
<div class="content">
<span property="dc:title" content="Git use-cases" class="rdf-meta element-hidden"></span><span property="sioc:num_replies" content="0" datatype="xsd:integer" class="rdf-meta element-hidden"></span>
<div class="content">
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><h3>Outline</h3>
<ol><li><a href="git-recipes.html#general">General Tips</a></li>
<li><a href="git-recipes.html#drafts">Pushing a draft</a></li>
<li><a href="git-recipes.html#certain_version">Pushing a certain version</a></li>
<li><a href="git-recipes.html#rebasing">When Gerrit tells me that a change needs to be rebased locally</a></li>
<li><a href="git-recipes.html#reorder">Re-ordering commits</a></li>
<li><a href="git-recipes.html#restore">Restoring lost commits</a></li>
<li><a href="git-recipes.html#multiple">Pushing multiple changes to gerrit</a></li>
</ol><h3 id="general">General Tips</h3>
<p>It is useful to have one graphical tool for git so that you can quickly see in the log whether the order of your commits is correct. It also helps not lose track. The integrated git support in IntelliJ IDEA or Eclipse is just fine for that (<a href="http://www.syntevo.com/smartgit/">Smartgit</a> is an alternative which is very nice for interactive add for example). Often it is easiest just to type in one concise command in a shell (but this may be a matter of personal preferences). On GNU/Linux the regular bash is sufficient, on Windows I would recommend using the Git shell. It is bundled with <a href="https://windows.github.com/">Github Windows</a>, which is the easiest way to get it without manual steps. (see <a href="http://haacked.com/archive/2012/05/21/introducing-github-for-windows.aspx/">this article</a> for more information).</p>
<h3 id="drafts">Pushing a draft</h3>
<p>Instead of <code>refs/for/master</code> use <code>refs/drafts/master</code> when uploading your changeset, e.g.</p>
<pre>git push origin HEAD:refs/drafts/master</pre><h3 id="certain_version">Pushing a certain version</h3>
<p>You can specify the commit you want to push in</p>
<pre>git push origin <identify-your-commit>:refs/for/master</pre><p>Typical identifiers are the SHA-1 of the commit (not the Change-ID), HEAD (currently checked out revision) or the name of a branch like <code>master</code>. It is helpful to look at the graphical git log to see what <code>HEAD</code> is pointing to. <b>Note</b> that you will also push all you new commits *upto* this referenced commit.</p>
<h3 id="rebasing">When Gerrit tells me that a change needs to be rebased locally</h3>
<p>If your are developing on the master branch locally, you just have to update your local state and push the change again.</p>
<pre>git pull --rebase</pre><p>which is short-hand for <code>git fetch</code> followed by <code>git rebase</code>. Note that this rebases all local commits on the current branch.</p>
<p>If you want to confirm that the rebase has been successful, you can view the git log and check that the commit to be rebased comes after the latest master commit. After that you can just push the commit.</p>
<pre>git push origin <commit-id>:refs/for/master</pre><p>(or use your favorite git tool). Note that this pushes all local commits up to this one.</p>
<h4>Advanced way</h4>
<p>If you have a more complicated local branch structure or do not wish to merge the changes from the master into the local development branch yet, then the following steps provide a general guideline to rebase a patchset.</p>
<ol><li>Fetch the current master revision. This updates the local reference to <code>origin/master</code>
<pre>git fetch</pre></li>
<li>Fetch the latest patchset from gerrit and<br /><pre>git fetch <gerrit-url></pre><p>(can be obtained on the website of the commit in gerrit)</p></li>
<li>Apply it on top of the updated master version. This will require merging (otherwise gerrit would have done the rebase itself). Please see the section about merging.<br /><pre>git checkout -b new_branch fetch_head</pre><p>and</p>
<pre>git rebase origin/master new_branch</pre><p>. Do not forget to call <code>git rebase --continue</code> to complete the merging.</p></li>
<li>Upload the rebased patchset. Again you might want to look at the git graph to confirm that HEAD is pointing at the rebased commit and that this commit comes after <code>origin/master</code>.<br /><pre>git push origin HEAD:refs/for/master</pre></li>
</ol><h3 id="reorder">Re-ordering commits</h3>
<p><code>git rebase -i</code> If the current branch is no tracking branch it demands a branch identifier, e.g. <code>git rebase -i origin/master</code> The list of commits to be rebased can now be edited. If you remove a commit here it gets lost, so read the instructions in the text file carefully. You can also simply add a commit by inserting <code>p <commit-id></code> in a new line in the desired position. You can change the order of commits by simply reordering the lines in the file. Please keep in mind that a re-ordering of commits might require cumbersome manual merging. Therefore, you should only make about 1 or 2 changes at once to avoid confusion. It is probably easiest to execute the rebasing multiple times. <code>git branch --set-upstream-to=origin/master browser_page_rewrite</code></p>
<h3 id="restore">Restoring lost commits</h3>
<p>Take a look at the git <code>reflog</code>.</p>
<h3 id="multiple">Pushing multiple changes to gerrit</h3>
<p>Try to structure commits independent if possible. For example there is no reason for an unrelated fix in a different area of the code to depend on your current development. In this case, create a separate branch at <code>origin/master</code> for the unrelated commit. However, when developing in the same location or on related elements, in most cases the only practical solution is to have a chain of commits. Then there are two approaches to submit updated patchsets to those chain of commits.</p>
<ol><li>Directly rebase depending commits. This can easily be done by using <code>git rebase -i</code> and writing <code>edit</code> before the commit to be changed.</li>
<li>Create a branch for each commit you want to change and use <code>git commit --amend</code> in this branch. Subsequent commits stay unchanged.</li>
</ol><p>The big disadvantage of the first variant is that new patchsets might be created for commits that have not actually changed, just been rebased. Existing <code>+1</code>s in gerrit disappear for those commits. Furthermore, it is difficult to track the changes between individual changeset as the rebase might introduce a lot of noise. The advantage of this method is that after the review, patches can be submitted directly to the master (in most cases) and do not require a rebase. The second variant makes it easy to follow individual patchsets, but may require rebase after the commits have been approved by <code>+2</code>. This rebase, at least in theory, has to be reviewed again. Generally, I would recommend to manage update to a commit in a separate local branch. However, when an update to a patchset contains fundamental changes it makes sense to rebase all dependent commits directly because non-trivial merging operations (as a result of the rebase) should be reviewed as well. This way the depending changes do not have to reviewed again when the rebase has been done. Furthermore, I would recommend to make only small changes in later patchsets and use separate commits for all other stuff. This makes reviewing easier and reduces merge conflicts while rebasing to a minimum.</p>
</div></div></div> </div>
<footer>
</footer>
</div>
</div> <!-- /.block -->
</div>
<!-- /.region -->
</section> <!-- /#main -->
<aside id="sidebar-first" role="complementary" class="sidebar clearfix">
<div class="region region-sidebar-first">
<div id="block-menu-block-1" class="block block-menu-block">
<h2 >Develop on Saros</h2>
<div class="content">
<div class="menu-block-wrapper menu-block-1 menu-name-main-menu parent-mlid-0 menu-level-2">
<ul class="menu"><li class="first expanded menu-mlid-572"><a href="checkout-and-first-steps.html">Check-Out and First Steps</a><ul class="menu"><li class="first leaf has-children menu-mlid-574"><a href="setup-dev-environment.html">Set up development environment</a></li>
<li class="last leaf has-children menu-mlid-592"><a href="make-first-change.html">Making changes to Saros</a></li>
</ul></li>
<li class="expanded menu-mlid-916"><a href="ongoing-work.html">Ongoing Work</a><ul class="menu"><li class="first leaf has-children menu-mlid-694"><a href="saros-for-intellij.html">Saros for IntelliJ</a></li>
<li class="leaf menu-mlid-872"><a href="html-gui.html">Saros HTML GUI</a></li>
<li class="leaf menu-mlid-917"><a href="build-server-migration.html">Build Server Migration</a></li>
<li class="leaf menu-mlid-936"><a href="stf-cross-ide.html">STF across IDEs</a></li>
<li class="last leaf has-children menu-mlid-924"><a href="saros-for-netbeans.html">Saros for Netbeans</a></li>
</ul></li>
<li class="expanded menu-mlid-374"><a href="guidelines.html">Guidelines</a><ul class="menu"><li class="first leaf menu-mlid-375"><a href="contribution.html">Contribution Rules</a></li>
<li class="leaf has-children menu-mlid-432"><a href="coderules.1.html" title="Coding Guidelines and Rules">Coding Conventions</a></li>
<li class="leaf menu-mlid-343"><a href="usability.html" title="Guidelines to ensure Usability">Usability Guidelines</a></li>
<li class="leaf menu-mlid-433"><a href="TicketGuidelines.html">Ticket Guidelines</a></li>
<li class="last leaf menu-mlid-692"><a href="ci-rules.html">Jenkins Rules</a></li>
</ul></li>
<li class="expanded menu-mlid-931"><a href="tools.html">Tools</a><ul class="menu"><li class="first leaf menu-mlid-357"><a href="jtourbus.html" title="Get involved with JTourBus">JTourBus</a></li>
<li class="leaf menu-mlid-932"><a href="archnemesis.html">Archnemesis</a></li>
<li class="leaf menu-mlid-934"><a href="sia.html">Sia</a></li>
<li class="last leaf menu-mlid-933"><a href="sonarqube-gerrit-bridge.html">SonarQube-Gerrit-Bridge</a></li>
</ul></li>
<li class="expanded menu-mlid-341"><a href="processes.html" title="Processes in Saros">Processes</a><ul class="menu"><li class="first leaf menu-mlid-351"><a href="review.html" title="Information about the review process">Review</a></li>
<li class="leaf menu-mlid-352"><a href="ReleaseProcess.html" title="Our Release Process">Release</a></li>
<li class="leaf has-children menu-mlid-353"><a href="testing.html" title="Information about the testing process">Testing</a></li>
<li class="leaf menu-mlid-356"><a href="bugtracker.html" title="Watch the bug tracker">Bug Tracking</a></li>
<li class="last leaf menu-mlid-354"><a href="documentation.html" title="Information about the documentation process">Documentation</a></li>
</ul></li>
<li class="leaf menu-mlid-430"><a href="mailingslists.html">Mailinglists</a></li>
<li class="leaf menu-mlid-388"><a href="https://sourceforge.net/p/dpp/bugs/" title="">Bug Tracker</a></li>
<li class="leaf menu-mlid-335"><a href="https://sourceforge.net/projects/dpp/" title="Visit Saros at Sourceforge">Saros@Sourceforge</a></li>
<li class="expanded menu-mlid-915"><a href="gsoc.1.html">Google Summer of Code</a><ul class="menu"><li class="first last leaf menu-mlid-832"><a href="gsoc/2015/ideas.html">2015 - Ideas</a></li>
</ul></li>
<li class="last expanded active-trail menu-mlid-615"><a href="node/129.html" class="active-trail">FAQ in daily practice</a><ul class="menu"><li class="first leaf menu-mlid-610"><a href="node/132.html" title="A change was integrated to master. How can I update my local code?">Update local code to master</a></li>
<li class="leaf menu-mlid-606"><a href="node/130.html" title="I messed up my local copy of Saros. How can I reset/clean up/revert my changes?">Revert local changes</a></li>
<li class="leaf menu-mlid-614"><a href="upload-new-patch-set.html" title="Someone discovered an error/failure/typo. How can I upload a new patch set?">Upload a new patch set</a></li>
<li class="leaf menu-mlid-612"><a href="node/133.html" title="My build failed. What's wrong with my change?">Building in Gerrit failed!</a></li>
<li class="leaf menu-mlid-608"><a href="gerrit-checkout-patch.html" title="Someone uploaded a change to Gerrit. How can I test this change?">Get & run someones change</a></li>
<li class="leaf menu-mlid-678"><a href="node/145.html" title="What is a Change? Patch set? Submit?">Change? Patch set? Submit?</a></li>
<li class="leaf menu-mlid-670"><a href="gerrit-groups-and-permissions.html" title="Which permissions do I have?">Check Gerrit permissions</a></li>
<li class="leaf menu-mlid-672"><a href="node/142.html" title="How to delete an unwanted local branch in EGit?">Delete local branch</a></li>
<li class="leaf menu-mlid-674"><a href="node/136.html">Duplicate Location Error</a></li>
<li class="leaf menu-mlid-630"><a href="gerrit-review.html" title="Someone wants that I review a change. How to review a change?">Review a change</a></li>
<li class="leaf menu-mlid-668"><a href="node/140.html" title="How to run Saros STF tests locally?">Run STF tests locally</a></li>
<li class="leaf menu-mlid-666"><a href="node/139.html" title="I ran an STF test (located in test/stf) and get an error! What's wrong?">STF tests fail</a></li>
<li class="leaf menu-mlid-664"><a href="node/138.html" title="How to set up Saros for running local STF tests?">Set up STF tests</a></li>
<li class="leaf menu-mlid-676"><a href="node/144.html" title="I want automate my testing process. How to write my own STF tests?">Write STF tests</a></li>
<li class="last leaf active-trail active menu-mlid-874"><a href="git-recipes.html" class="active-trail active">Git use-cases</a></li>
</ul></li>
</ul></div>
</div>
</div> <!-- /.block -->
</div>
<!-- /.region -->
</aside> <!-- /#sidebar-first -->
</div> <!-- end content-body -->
<div class="clear"></div>
<div id="footer" class="clearfix">
<div class="clear"></div>
<div class="region region-footer">
<div id="block-block-2" class="block block-block">
<div class="content">
<p><a href="http://www.mi.fu-berlin.de/fb/impressum/" target="_blank">Impressum</a> — <a href="index.html%3Fq=user.html">Internal login</a></p>
</div>
</div> <!-- /.block -->
</div>
<!-- /.region -->
<div class="clear"></div>
<div id="copyright">Copyright © 2019, Saros</div>
</div> <!-- /#footer -->
</div> <!-- /#wrapper -->
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script>
<!--//--><![CDATA[// ><!--
jQuery(document).ready( function($) {
$( ".known-issue-box" ).accordion({
active: false,
heightStyle: "content",
collapsible: true
});
$( ".known-issue-box" ).css( "visibility", "visible" ); });
//--><!]]>
</script> </body>
</html>