<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">

  <properties>
    <title>Source Repository</title>
    <author email="dev@syncope.apache.org">Apache Syncope Documentation Team</author>
  </properties>

  <body>
    <section name="Web Browsing">    
      <p>To browse use the GIT web interface:<br/>

        <a href="https://gitbox.apache.org/repos/asf?p=syncope.git">https://gitbox.apache.org/repos/asf?p=syncope.git</a>
      </p>
      <p>Alternatively, use GitHub web interface:<br/>

        <a href="https://github.com/apache/syncope">https://github.com/apache/syncope</a>
      </p>
    </section>
      
    <section name="Checking out">
      <p>The source code can be checked out anonymously over HTTPs by doing:
        <source>git clone https://gitbox.apache.org/repos/asf/syncope.git</source>
        or
        <source>git clone https://github.com/apache/syncope.git</source>
        or alternatively via SSH
        <source>git clone git@github.com:apache/syncope.git</source>
      </p>

      <p class="alert alert-warning">
        <strong>On MS Windows?</strong> Be sure to
        <a href="https://help.github.com/articles/dealing-with-line-endings/">properly handle line endings</a>; often
        it is enough to set
        <source>git config core.autocrlf true</source>
      </p>
    
      <subsection name="Forking on GitHub">
        <p>Syncope's git repo is automatically mirrored on github at: <a href="https://github.com/apache/syncope">https://github.com/apache/syncope</a>.</p>

        <p>You can fork that repository, commit changes to your fork, and submit pull requests through GitHub's pull
          requests.<br/>
          Be sure to follow our <a href="https://cwiki.apache.org/confluence/display/SYNCOPE/Git+workflow">Git workflow</a>.</p>      
      </subsection>
    </section>
    
    <section name="Building">
      <p>Review and apply the various <a href="building">build options</a>.</p>
    </section>
  </body>
</document>
