expoweb/handbook/computing/repos.html
2020-06-02 01:00:24 +01:00

67 lines
4.4 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CUCC Expedition Handbook: Online repositories</title>
<link rel="stylesheet" type="text/css" href="../css/main2.css" />
</head>
<body>
<style>
body {
background: #fff url(/images/style/bg-system.png) repeat-x 0 0
}
/* Use grey for system/programming/nerd pages as a visual reminder */
</style>
<h2 id="tophead">CUCC Expedition: Online repositories</h2>
<h1>Version-controlled repositories</h1>
<a href='/repositories/'><img class="onright" width="300px" src='https://git-scm.com/images/logos/downloads/Git-Logo-1788C.png' alt='git logo'/>
<h3><a id="repositories">The repositories</a></h3>
<p>All the expo data is contained in 4 <var>repositories</var> or <var>repos</var> at
expo.survex.com:
<ul>
<li><a href="/repositories/loser/.git/"><var>:loser:</var></a> - the survex cave survey data (not live yet)</li>
<li><a href="/repositories/drawings/.git/"><var>:drawings:</var></a> - the tunnel and therion cave data and drawings (git)</li>
<li><a href="/repositories/expoweb/.git/"><var>:expoweb:</var></a> - the website pages, handbook, generation scripts (git)</li>
<li><a href="/repositories/troggle/.git/"><var>:troggle:</var></a> - the database/software part of the survey data management system<br> - see <a href="../troggle/trogintro.html">notes on troggle</a> for further explanations </li>
</ul>
<h3>Use the online view of these!</a></h3>
<p>These online webpages (links above) give a much clearer view of what is going on than many git tools you may be using on your machine.
<p>Have a look at the <a href="/repositories/drawings/.git/log/">version history of the drawings</a> to look at progress on getting the recent surveys uploaded, and <a href="/repositories/expoweb/.git/stats/?period=y&ofs=10">who has been doing what on the website and handbook</a>.
<p>For an example, see this <a href="/repositories/expoweb/.git/diff/handbook/computing/winlaptop.html?id=615ce571c48075cb606de533c6baa284ac9e964b">simple edit</a>.
<h3>Uploading cave survey data</a></h3>
<p>You can read or clone these repos without any control, but to write ("push") to them you will need to use <var>ssh://expo@expo.survex.com</var> and set up the <a href="keyexchange.html">key exchange</a>.
<p>NOTE: when using git to path to a repository, always use user <var>'expo'</var> as the login user (<var>ssh://expo@...</var>) even though within git you will be identified by your own ssh key name. This is because file permissions on the server require this.
<p>So cavers wanting to upload their cave survey data have to use a machine on which they key is already set up. The <i>expo laptop</i> lives in the potato hut during expo and it is sometimes joined by the laptop '<i>aziraphale</i>'. These are both loaned machines running Linux. If you want to use your own laptop then
see the <a href="basiclaptop.html">minimal laptop setup</a>.
<h3 id="git">Version control system</a></h3>
<p>We use a distributed revision control system (<a href="https://git-scm.com/about/distributed">git</a>) for all the important data.
<p>Note that we just use git: not GitHub, not GitLab, just <a href="https://git-scm.com/about/distributed">git</a>.
<p>
This allows many people to edit and merge their changes at the same time. This includes people still on expo and those who have returned to the UK. Also anyone who is up
to date can take their laptop somewhere (e.g. topcamp) and enter data even if they have no Internet access,
and the updates will be merged when they get back to civilization.
</p>
<p>
We use a version control system because this keeps track of all changes so we can roll back mistakes. We also have multiple copies of the data on multiple machines for safety.
<p>
We use git because it is now the industry standard. In the past we have used <a href="https://en.wikipedia.org/wiki/Concurrent_Versions_System">cvs</a>, <a href="https://en.wikipedia.org/wiki/Apache_Subversion">subversion</a> and <a href="https://en.wikipedia.org/wiki/Mercurial">mercurial</a>.
<p>A version control system is inefficient for photos, GPS tracks and scanned survey notes which are large files that do not get modified. These are kept as a plain directory of files <a href="/expofiles"><var>/expofiles/</var></a>.
</p>
<hr />
Return to <a href="manual.html">Expo Data Maintenance manual</a><br>
Return to <a href="onlinesystems.html">Expo Systems Overview</a>
</body>
</html>