diff --git a/skeleton/skeleton.tex b/skeleton/skeleton.tex index 71b80a9a676a8dbca6647ec44efa6e102f989af6..d87a0cffc54c49e06b78da065fd23f1db762d6cd 100644 --- a/skeleton/skeleton.tex +++ b/skeleton/skeleton.tex @@ -45,6 +45,7 @@ \item Code. \item Documentation. \end{itemize} + \pause \item Have the same structure for all projects. \end{itemize} \end{frame} @@ -215,6 +216,7 @@ \begin{frame}[fragile] \frametitle{Git annex.} + Manage files with git, without checking their contents in. \begin{itemize} \item Manage large files without storing them. \item Store file checksums. @@ -224,6 +226,7 @@ \pause You first have to enable this for your repository. + \bigskip \begin{lstlisting}[language=none, caption=Enable git-annex.] $ git annex init "<name>" @@ -233,13 +236,19 @@ \begin{frame}[fragile] \frametitle{Adding big files.} + In our master repository, we annex a file. + \bigskip + \begin{lstlisting}[language=none, caption=Adding files.] $ git annex add <filename> $ git commit \end{lstlisting} \bigskip + \pause In a clone, this file will visible, but not really present. + \bigskip + \begin{lstlisting}[language=none, caption=Make a file available.] $ file <filename> <filename>: broken symbolic link to ... @@ -251,14 +260,19 @@ \frametitle{Removing files.} As long as there are enough copies available, you can remove files. + \bigskip + \begin{lstlisting}[language=none, caption=A failing drop command.] $ git annex drop <filename> drop bigfile (unsafe) git-annex: drop: 1 failed \end{lstlisting} \bigskip + \pause It is actually quite well protected. + \bigskip + \begin{lstlisting}[language=none, caption=rm fails too.] $ rm -rf <repository> rm: cannot remove <repository>/.git/annex/objects/... @@ -266,21 +280,38 @@ \end{frame} \begin{frame}[fragile] - \frametitle{Sync your results.} + \frametitle{Synchronise your results.} Let the other repositories know what you have done. - \begin{lstlisting}[language=none, caption=.] + \bigskip + + \begin{lstlisting}[language=none, caption=Synchronise with all repositories.] $ git annex sync \end{lstlisting} + \bigskip + \pause + + You can choose to sync with a selection of repositories. + \bigskip + + \begin{lstlisting}[language=none, caption=Synchronise with a selection.] + $ git annex sync origin + \end{lstlisting} \end{frame} \begin{frame}[fragile] \frametitle{Working together on the same clone.} - - If you need to work with other people on the same repository clone on the - Shark cluster, you can use the following command to give group access: - - \begin{lstlisting}[language=none, caption=.] + + Sometimes you need to work with other people on the same repository clone. + \begin{itemize} + \item Where the large files are stored. + \end{itemize} + \bigskip + + Use the following command to give group access: + \bigskip + + \begin{lstlisting}[language=none, caption=Make everyting group writable.] $ find -type d -exec chmod 775 {} \; $ find -type f -exec chmod 664 {} \; \end{lstlisting}