diff options
Diffstat (limited to 'Version_Control/vcs3/vcslide3.tex')
-rw-r--r-- | Version_Control/vcs3/vcslide3.tex | 191 |
1 files changed, 191 insertions, 0 deletions
diff --git a/Version_Control/vcs3/vcslide3.tex b/Version_Control/vcs3/vcslide3.tex new file mode 100644 index 0000000..2bed2f3 --- /dev/null +++ b/Version_Control/vcs3/vcslide3.tex @@ -0,0 +1,191 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Version Control Systems +% +% Author: FOSSEE +% Copyright (c) 2009, FOSSEE, IIT Bombay +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\documentclass[12pt,compress]{beamer} + +\mode<presentation> +{ + \usetheme{Warsaw} + \useoutertheme{infolines} + \setbeamercovered{transparent} +} + +\usepackage[english]{babel} +\usepackage[latin1]{inputenc} +%\usepackage{times} +\usepackage[T1]{fontenc} + +% Taken from Fernando's slides. +\usepackage{ae,aecompl} +\usepackage{mathpazo,courier,euler} +\usepackage[scaled=.95]{helvet} + +\definecolor{darkgreen}{rgb}{0,0.5,0} + +\usepackage{listings} +\lstset{language=bash, + basicstyle=\ttfamily\bfseries, + commentstyle=\color{red}\itshape, + stringstyle=\color{darkgreen}, + showstringspaces=false, + keywordstyle=\color{blue}\bfseries} + +\newcommand{\inctime}[1]{\addtocounter{time}{#1}{\tiny \thetime\ m}} + +\newcommand{\typ}[1]{\lstinline{#1}} + +\newcommand{\kwrd}[1]{ \texttt{\textbf{\color{blue}{#1}}} } + +\setbeamercolor{emphbar}{bg=blue!20, fg=black} +\newcommand{\emphbar}[1] + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% DOCUMENT STARTS +\begin{document} + +\begin{frame} + +\begin{center} +\vspace{12pt} +\textcolor{blue}{\huge Version Control with hg} +\end{center} +\vspace{18pt} +\begin{center} +\vspace{10pt} +\includegraphics[scale=0.95]{../images/fossee-logo.png}\\ +\vspace{5pt} +\scriptsize Developed by FOSSEE Team, IIT-Bombay. \\ +\scriptsize Funded by National Mission on Education through ICT\\ +\scriptsize MHRD,Govt. of India\\ +\includegraphics[scale=0.30]{../images/iitb-logo.jpg}\\ +\end{center} +\end{frame} + +\begin{frame} + \frametitle{Objectives} +\label{sec-2} + At the end of this session, you will be able to: + \begin{itemize} + \item Undo changes to your repository, + \item View the differences between any two states of a repository, + \item Understand how revisions are numbered and use it as arguments to commands, + \end{itemize} +\end{frame} + +\begin{frame} +\frametitle{Pre-requisite} +\textbf{Version Control Using Hg} + \begin{itemize} + \item Part 1 + \item Part 2 + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Operational overhead?} + \begin{itemize} + \item But why do we \typ{commit}? + \item Isn't all this just adding to operational costs? + \item Isn't all this a waste of time? + \end{itemize} + \begin{center} + \emphbar{No! You shall see the benefits, soon!} + \end{center} +\end{frame} + +\begin{frame} + \frametitle{Revert Changes} + \begin{itemize} + \item Undo all changes; the editor can only do so much. + \item \typ{hg revert --all} + \item \typ{hg revert filename} + \item Present file, with changes --- \typ{filename.orig} + \end{itemize} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Viewing Changes} + \begin{itemize} + \item \typ{hg diff} --- all changes since last commit + \end{itemize} + \begin{block}{} + \begin{lstlisting} + - this line was deleted + + this line was added + \end{lstlisting} + \end{block} +\end{frame} + + +\begin{frame}[fragile] + \frametitle{Revision numbering} + \begin{itemize} + \item \typ{changeset: n:cbf6e2a375b4} + \item \typ{n} is the revision number + \item The revision number is local to a repository + \item \typ{cbf6e2a375b4} is the unique identifier + \end{itemize} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Using revision numbers} + \begin{itemize} + \item \typ{-r n} can be passed as arguments to commands to specify + the revision number + \item For instance, \typ{hg diff -r1 -r2} + \item \typ{m:n} specifies a range of revision numbers + \item For instance, \typ{hg log -r0:2} + \end{itemize} +\end{frame} + + +\begin{frame} +\frametitle{Summary} +In this tutorial, we have learnt to, + +\begin{itemize} +\item Undo changes to the repository using hg revert, +\item View changes done to the repository using hg diff +\item Use revision numbers as arguments to different hg commands +\end{itemize} +\end{frame} + +\begin{frame}[fragile] +\frametitle{Evaluation} + +\begin{enumerate} +\item How to accomplish not saving backup files using hg revert command? +\item Get the history of revisions 2 to 4 without having to list each revision? +\item Print the description and content of a change. Hint: Use --patch option +\end{enumerate} +\end{frame} + +\begin{frame} +\frametitle{Solutions} +\begin{enumerate} +\item hg revert -C --no-backup +\item hg log -r 2:4 +\item hg log -v -p -r 2 +\end{enumerate} +\end{frame} + +\begin{frame} +\begin{block}{} + \begin{center} + \textcolor{blue}{\Large THANK YOU!} + \end{center} + \end{block} +\begin{block}{} + \begin{center} + For more Information, visit our website\\ + \url{http://fossee.in/} + \end{center} + \end{block} +\end{frame} + +\end{document} + |