<div class="acceleonavitem">
	<h2>Browse Repository</h2>
	<div class="contents">
		<p>
			The complete source code for Acceleo is publicly available from the Eclipse.org Git repository.
		</p>

		<p>
			If you just want to browse the source code from your usual web browser without checking out all the
			project's code in your environment, you can use this link:
			<a href="http://git.eclipse.org/c/m2t/org.eclipse.acceleo.git/">
			Browse Acceleo source code</a>.
		</p>
		
		<p>
			In order to use the following repository location in Eclipse, copy the location URL, open the <i>Git repositories</i>
			view (Window -> Show View -> Other -> Git Repository), then you can clone a repository thanks to a dedicated button in
			the toolbar of the view. 
		</p>
		
		<p>
			In the first page of the wizard, you can enter the information of the Acceleo repository. You can just copy and paste one of
			the location of the Acceleo repository found at the bottom of the <a href="http://git.eclipse.org/c/m2t/org.eclipse.acceleo.git/">Acceleo repository page</a>.
			
			<ul>
				<li>git://git.eclipse.org/gitroot/m2t/org.eclipse.acceleo.git</li>
				<li>ssh://git.eclipse.org/gitroot/m2t/org.eclipse.acceleo.git</li>
				<li>http://git.eclipse.org/gitroot/m2t/org.eclipse.acceleo.git</li>
			</ul>
		</p>
		
		<p>
			<img src="../images/git.png" title="Settings of the Acceleo repository"/>
		</p>
		
		<p>
			On the next page, you can configure the branches that you will checkout from the repository. It is recommended to checkout all the branches in order
			to have all the source code of Acceleo.
		</p>

		<p>
			<img src="../images/git-branches.png" title="Acceleo branches"/>
		</p>
		
		<p>
			Then you can configure where the repository will be cloned.
		</p>
		
		<p>
			<img src="../images/git-local.png" title="Local settings"/>
		</p>
		
		<p>
			After this, you can select the eclipse projects that will be imported in your workspace to start to work. 
		</p>
		
		<p>
			<img src="../images/git-import.png" title="Acceleo projects"/>
		</p>
		
		<p>
			<h2>Organization of the Acceleo source code</h2>
			<ul>
				<li>benchmark</li>
				<li>doc</li>
				<li>examples</li>
				<li>features</li>
				<li>maven</li>
				<li>plugins (source code of the core of Acceleo)</li>
				<li>releng</li>
				<li>tests</li>
			</ul>
			It is recommended to checkout at least the "plugins" projects. The project "org.eclipse.acceleo-feature" in the feature folder contains
			the necessary file to configure checkstyle and the eclipse formatter.
		</p>
	</div>
</div>