| version 1.6, 2005/11/07 23:37:58 |
version 1.7, 2005/11/08 23:07:30 |
|
|
| \begin{slide} |
\begin{slide} |
| \slideheading{Čo to je CVS a Subversion} |
\slideheading{Čo to je CVS a Subversion} |
| \begin{itemize} |
\begin{itemize} |
| \item \overlay{0}{Version Control System -- systém na správu verzií} |
\item \overlay{0}{Version Control System -- systém na správu verzií, resp. SCM systems} |
| \item \overlay{1}{umožňuje archivovať vývojové a~produkčné verzie projektov (označovanie míľnikov, tzv. |
\item \overlay{1}{umožňuje archivovať vývojové a~produkčné verzie projektov (označovanie míľnikov, tzv. |
| releases/milestones)} |
releases/milestones)} |
| \item \overlay{2}{spolupráca viacerých ľudí na spoločnom projekte} |
\item \overlay{2}{spolupráca viacerých ľudí na spoločnom projekte} |
|
|
| \end{slide} |
\end{slide} |
| \TIMING{0}{min} |
\TIMING{0}{min} |
| |
|
| % /* zalozenie repo, struktura repo, |
% novy styl prace/* |
| \begin{slide} |
\begin{slide} |
| \slideheading{Nový štýl práce} |
\slideheading{Nový štýl práce} |
| \begin{itemize} |
\begin{itemize} |
| \item \overlay{0}{začneme založením Repository pre naše projekty} |
\item \overlay{0}{začneme založením úložiska pre naše projekty} |
| \item \overlay{1}{pridáme projekt do CVS / SVN} |
\item \overlay{1}{pridáme projekt do CVS / SVN} |
| \item \overlay{2}{upravíme projekt} |
\item \overlay{2}{upravíme projekt} |
| \item \overlay{3}{zaznamenáme zmenu} |
\item \overlay{3}{zaznamenáme zmenu} |
|
|
| \end{itemize} |
\end{itemize} |
| \end{slide} |
\end{slide} |
| \TIMING{1}{min} |
\TIMING{1}{min} |
| |
% */ |
| |
|
| |
% zalozenie uloziska /* |
| \begin{slide} |
\begin{slide} |
| \slideheading{Založenie Repository} |
\slideheading{Založenie úložiska} |
| \begin{itemize} |
\begin{itemize} |
| \item \overlay{0}{\cvscmd{cvs -d \~{}/cvs\_root init}} |
\item \overlay{0}{\cvscmd{cvs -d \~{}/cvs\_root init}} |
| \item \overlay{1}{\svncmd{svnadmin create --fs-type fsfs \~{}/svn\_root}} |
\item \overlay{1}{\svncmd{svnadmin create --fs-type fsfs \~{}/svn\_root}} |
|
|
| \end{itemize} |
\end{itemize} |
| \end{slide} |
\end{slide} |
| \TIMING{2}{min} |
\TIMING{2}{min} |
| |
% */ |
| |
|
| |
% struktura uloziska /* |
| \begin{slide} |
\begin{slide} |
| \slideheading{Štruktúra Repository} |
\slideheading{Štruktúra úložiska} |
| \overlay{0}{\textbf{CVS}} |
\overlay{0}{\textbf{CVS}} |
| \begin{itemize} |
\begin{itemize} |
| \item \overlay{1}{jeden súbor v Repository = jeden súbor v projekte} |
\item \overlay{1}{jeden súbor v úložisku = jeden súbor v projekte} |
| \item \overlay{2}{v Repository sa možno jednoducho prehrabávať} |
\item \overlay{2}{v úložisku sa možno jednoducho prehrabávať} |
| \item \overlay{3}{konfigurácia CVS je v projekte CVSROOT -- problémy so zabezpečením servera} |
\item \overlay{3}{konfigurácia CVS je v projekte CVSROOT -- problémy so zabezpečením servera} |
| \end{itemize} |
\end{itemize} |
| \overlay{4}{\textbf{SVN}} |
\overlay{4}{\textbf{SVN}} |
| \begin{itemize} |
\begin{itemize} |
| \item \overlay{5}{dva súbory v Repository = jedna revízia projektu} |
\item \overlay{5}{dva súbory v úložisku = jedna revízia projektu} |
| \item \overlay{6}{na prehrabávanie sa v SVN Repository máme príkaz \\ \svncmd{svnlook tree \~{}/svn\_root }} |
\item \overlay{6}{na prehrabávanie sa v SVN úložisku máme príkaz \\ \svncmd{svnlook tree \~{}/svn\_root }} |
| \end{itemize} |
\end{itemize} |
| \end{slide} |
\end{slide} |
| \TIMING{3}{min} |
\TIMING{3}{min} |
| % */ |
% */ |
| |
|
| |
% navr struktury projektov - CVS /* |
| \begin{slide} |
\begin{slide} |
| \slideheading{Návrh štruktúry projektov} |
\slideheading{Návrh štruktúry projektov pre CVS} |
| \overlay{0}{\textbf{Príprava projektu a~pridanie do CVS:}} \\ |
\overlay{0}{\textbf{Príprava projektu a~pridanie do CVS:}} \\ |
| \begin{enumerate} |
\begin{enumerate} |
| \item \overlay{1}{\cvscmd{export CVSROOT=:local:/home/lugcon/cvs\_root}} |
\item \overlay{1}{\cvscmd{export CVSROOT=:local:/home/lugcon/cvs\_root}} |
|
|
| \end{enumerate} |
\end{enumerate} |
| \end{slide} |
\end{slide} |
| \TIMING{2}{min} |
\TIMING{2}{min} |
| |
% */ |
| |
|
| |
% navr struktury projektov - SVN /* |
| \begin{slide} |
\begin{slide} |
| \slideheading{Návrh štruktúry projektov} |
\slideheading{Návrh štruktúry projektov pre SVN} |
| \overlay{0}{\textbf{Príprava projektu a~pridanie do SVN:}} \\ |
\overlay{0}{\textbf{Príprava projektu a~pridanie do SVN:}} \\ |
| \begin{enumerate} |
\begin{enumerate} |
| \item \overlay{1}{\svncmd{cd \~{}/work/}} |
\item \overlay{1}{\svncmd{cd \~{}/work/}} |
|
|
| \end{enumerate} |
\end{enumerate} |
| \end{slide} |
\end{slide} |
| \TIMING{3}{min} |
\TIMING{3}{min} |
| |
% */ |
| |
|
| |
% sprava verzii /* |
| \begin{slide} |
\begin{slide} |
| \slideheading{Správa verzií} |
\slideheading{Správa verzií} |
| \overlay{0}{\textbf{CVS}} |
\overlay{0}{\textbf{CVS}} |
|
|
| \end{itemize} |
\end{itemize} |
| \end{slide} |
\end{slide} |
| \TIMING{2}{min} |
\TIMING{2}{min} |
| |
% */ |
| |
|
| |
% atributy suborov /* |
| \begin{slide} |
\begin{slide} |
| \slideheading{} |
\slideheading{Atribúty súborov} |
| \begin{itemize} |
\begin{itemize} |
| \item \overlay{0}{} |
\item \overlay{0}{} |
| \end{itemize} |
\end{itemize} |
| \end{slide} |
\end{slide} |
| \TIMING{1}{min} |
\TIMING{1}{min} |
| |
% */ |
| |
|
| |
% prehliadanie zmien /* |
| \begin{slide} |
\begin{slide} |
| \slideheading{} |
\slideheading{Prehliadanie zmien} |
| \begin{itemize} |
\begin{itemize} |
| \item \overlay{0}{} |
\item \overlay{0}{} |
| \end{itemize} |
\end{itemize} |
| \end{slide} |
\end{slide} |
| \TIMING{1}{min} |
\TIMING{1}{min} |
| |
% */ |
| |
|
| |
% symbolicke odkazy, spc. subory /* |
| \begin{slide} |
\begin{slide} |
| \slideheading{} |
\slideheading{Symbolické odkazy a špeciálne súbory} |
| \begin{itemize} |
\begin{itemize} |
| \item \overlay{0}{} |
\item \overlay{0}{} |
| \end{itemize} |
\end{itemize} |
| \end{slide} |
\end{slide} |
| \TIMING{1}{min} |
\TIMING{1}{min} |
| |
% */ |
| |
|
| |
% odstranenie suboru z uloziska /* |
| |
\begin{slide} |
| |
\slideheading{Odstránenie súboru z úložiska} |
| |
\begin{itemize} |
| |
\item \overlay{0}{} |
| |
\end{itemize} |
| |
\end{slide} |
| |
\TIMING{1}{min} |
| |
% */ |
| |
|
| |
% riesenie konfliktov /* |
| |
\begin{slide} |
| |
\slideheading{Riešenie konfliktov} |
| |
\begin{itemize} |
| |
\item \overlay{0}{} |
| |
\end{itemize} |
| |
\end{slide} |
| |
\TIMING{1}{min} |
| |
% */ |
| |
|
| |
% zrusenie zmien /* |
| |
\begin{slide} |
| |
\slideheading{Zrušenie zmien} |
| |
\begin{itemize} |
| |
\item \overlay{0}{} |
| |
\end{itemize} |
| |
\end{slide} |
| |
\TIMING{1}{min} |
| |
% */ |
| |
|
| |
% vetvy vyvoja, zlucovanie zmien /* |
| |
\begin{slide} |
| |
\slideheading{Vetvy vývoja, zlučovanie zmien} |
| |
\begin{itemize} |
| |
\item \overlay{0}{} |
| |
\end{itemize} |
| |
\end{slide} |
| |
\TIMING{1}{min} |
| |
% */ |
| |
|
| |
% ine metody pristupu k ulozisku /* |
| |
\begin{slide} |
| |
\slideheading{Iné metódy prístupu k úložisku} |
| |
\overlay{0}{\textbf{CVS}} |
| |
\begin{itemize} |
| |
\item \overlay{1}{bez modulárnej štruktúry, bez API} |
| |
\item \overlay{1}{spúšťanie cez inetd} |
| |
\item \overlay{1}{tunelovanie cez ssh} |
| |
\item \overlay{1}{lokálne} |
| |
\end{itemize} |
| |
\overlay{3}{\textbf{SVN}} |
| |
\begin{itemize} |
| |
\item \overlay{4}{dobre navrhnuté API, rôzny backend (bdb, fsfs)} |
| |
\item \overlay{5}{spúšťanie cez inetd} |
| |
\item \overlay{6}{tunelovanie cez ssh} |
| |
\item \overlay{7}{lokálne} |
| |
\item \overlay{8}{WebDAV, spúštanie cez Apache 2.x} |
| |
\end{itemize} |
| |
\end{slide} |
| |
\TIMING{1}{min} |
| |
% */ |
| |
|
| |
% zalohovanie uloziska, synchronizacia /* |
| |
\begin{slide} |
| |
\slideheading{Zálohovanie úložiska, synchronizácia} |
| |
\begin{itemize} |
| |
\item \overlay{0}{CVS zálohovať ako ostatné súbory na disku} |
| |
\item \overlay{1}{SVN zálohovať utilitou \svncmd{svnadmin}: \\ |
| |
\svncmd{svnadmin dump file:///home/lugcon/svn\_root} |
| |
} |
| |
\end{itemize} |
| |
\textbf{Synchronizácia} \\ |
| |
\svncmd{rsync -a -e ssh --delete --progress --stats |
| |
\cmdbreak{}/home/rajo/svn\_root/ |
| |
\cmdbreak{}rajo@platon.sk:/home/rajo/svn\_root/} |
| |
|
| |
\textcolor{red}{Pozor na koncové lomítka a poradie parametrov!} \\ |
| |
Najlepšie je spraviť skript, ktorý synchronizáciu spraví za Vás. |
| |
|
| |
\end{slide} |
| |
\TIMING{2}{min} |
| |
% */ |
| |
|
| |
% Dalsie nastroje /* |
| |
\begin{slide} |
| |
\slideheading{Ďalšie nástroje na správu verzií} |
| |
\textbf{Slobodné alternatívy:} |
| |
\begin{itemize} |
| |
\item git \URL{http://git.or.cz/} |
| |
\item SVK \URL{http://svk.elixus.org/} |
| |
\item GNU arch \URL{http://www.gnu.org/software/gnu-arch/} |
| |
\item darcs \URL{http://abridgegame.org/darcs/} |
| |
\end{itemize} |
| |
\textbf{Komerčné alternatívy:} |
| |
\begin{itemize} |
| |
\item BitKeeper \URL{http://www.bitkeeper.com/} |
| |
\item Rational ClearCase \URL{http://www-306.ibm.com/software/awdtools/clearcase/} |
| |
%\item Microsoft SourceSafe \URL{http://msdn.microsoft.com/vstudio/previous/ssafe/} |
| |
\end{itemize} |
| |
Ďalšie porovnania na \URL{http://www.bitkeeper.com/Comparisons.html} |
| |
|
| |
\textbf{Konvertory:} |
| |
\begin{itemize} |
| |
\item cvs2svn \URL{http://cvs2svn.tigris.org/} -- funguje bez problémov |
| |
\end{itemize} |
| |
\end{slide} |
| |
\TIMING{2}{min} |
| |
% */ |
| |
|
| % ZAVER /* |
% ZAVER /* |
| |
|
|
|
| \end{slide} |
\end{slide} |
| \TIMING{1}{min} |
\TIMING{1}{min} |
| |
|
| \begin{slide} |
%\begin{slide} |
| \listofslides |
% \listofslides |
| \end{slide} |
%\end{slide} |
| |
|
| % end ZAVER */ |
% end ZAVER */ |
| |
|