<title>Source Code</title>
<p>
Follow these steps to obtain the latest (i.e. unreleased) source code for the
System.Data.SQLite project. To obtain the latest officially released source
code instead, refer to the [./downloads.wiki | downloads page]. Unless
otherwise noted, all steps need to be performed in the order specified.
</p>
<a name="assumptions"></a>
<h2>Assumptions & Prerequisites</h2>
<p>
The string "<b><root></b>" represents the directory where the
local working copy of the source tree (a.k.a. the working check-out directory)
for the System.Data.SQLite project is to reside. This should be a completely
empty directory.
</p>
<p>
The string "<b><repositories></b>" represents the directory
where the local clone of the repository for the System.Data.SQLite project
(and potentially other projects) is to reside.
</p>
<a name="fossil"></a>
<h2>Obtain & Install Fossil Itself</h2>
<p>
The [https://www.fossil-scm.org | Fossil] open-source
[https://en.wikipedia.org/wiki/Distributed_revision_control | distributed version control]
system is a computer program that must be installed on your machine before you use it.
Fortunately, installing Fossil is very easy. Fossil consists of a single
executable file that you simply download and run. For convenience, the Fossil
executable file should be placed in a directory present in your
[https://en.wikipedia.org/wiki/PATH_%28variable%29 | PATH]. To uninstall
Fossil, simply delete the executable file.
[https://www.fossil-scm.org/index.html/doc/tip/www/quickstart.wiki | Detailed instructions]
for installing and getting started with Fossil are available on the
[https://www.fossil-scm.org/ | Fossil website].
</p>
<a name="clone"></a>
<h2>Clone Repository (Windows)</h2>
<ol>
<li>Open a Windows command prompt using "<b>cmd.exe</b>".</li>
<li>
Change the current directory to "<b><root></b>" using a
command similar to:
<br />
<br />
<b>cd /D <root></b>
</li>
<li>
Enter the following command to create a complete clone (i.e. local copy) of
the entire source code repository for the System.Data.SQLite project,
including the entire check-in history:
<br />
<br />
<b>fossil [https://www.fossil-scm.org/index.html/help/clone | clone] https://system.data.sqlite.org/ <repositories>/sds.fossil</b>
</li>
<li>
Please note that the repository itself uses an
[https://www.fossil-scm.org/index.html/doc/trunk/www/fileformat.wiki | enduring file format]
stored in a single
[https://www.fossil-scm.org/index.html/doc/trunk/www/tech_overview.wiki | SQLite database file]
with a particular schema.
</li>
<li>
In this case, after executing the
[https://www.fossil-scm.org/index.html/help/clone | clone] command, the local
clone of the repository will be placed into the "<b>sds.fossil</b>"
file in the <b><repositories></b> directory.
</li>
</ol>
<a name="working"></a>
<h2>Working Copy (Windows)</h2>
<ol>
<li>Open a Windows command prompt using "<b>cmd.exe</b>".</li>
<li>
Change the current directory to "<b><root></b>" using a
command similar to:
<br />
<br />
<b>cd /D <root></b>
</li>
<li>
Enter the following command to create a local working copy of all the files
that are currently part of the System.Data.SQLite project:
<br />
<br />
<b>fossil [https://www.fossil-scm.org/index.html/help/open | open] <repositories>/sds.fossil</b>
</li>
<li>
The local source tree should now be ready for use as described in the
[./build.wiki | build procedures] and/or [./test.wiki | test procedures].
</li>
<li>
In the future, to update the local working copy with the latest changes from
the official System.Data.SQLite repository (i.e. instead of having to
re-clone the entire thing), enter the following command from the same
directory where the working copy is located:
<br />
<br />
<b>fossil [https://www.fossil-scm.org/index.html/help/update | update]</b>
</li>
</ol>