summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Version_Control/vcs3/vcslide2.tex322
1 files changed, 0 insertions, 322 deletions
diff --git a/Version_Control/vcs3/vcslide2.tex b/Version_Control/vcs3/vcslide2.tex
deleted file mode 100644
index 82e6b21..0000000
--- a/Version_Control/vcs3/vcslide2.tex
+++ /dev/null
@@ -1,322 +0,0 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% 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 Learn how to view and revert changes made to files in a repository.
- \item Learn how to share repositories and deal with simultaneous conflicting changes.
- \end{itemize}
-\end{frame}
-
-\begin{frame}
-\frametitle{Pre-requisite}
-\label{sec-3}
-
-
-Spoken tutorial on -
-\begin{itemize}
-\item
-\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}
-
-\section{Collaborating with Mercurial}
-\begin{frame}[fragile]
- \frametitle{Cloning Repositories}
- \begin{itemize}
- \item \typ{hg clone SOURCE [DEST]}
- \item All \typ{hg} repositories are self-contained
- \end{itemize}
-\end{frame}
-
-\begin{frame}[fragile]
- \frametitle{Sharing Repositories}
- \begin{itemize}
- \item \typ{hg serve}
- \item Can be cloned with \typ{hg clone http://my-ip-address:8000}
- \item We share a central repository; work on our local copies.
- \item Set write permissions in \typ{.hg/hgrc}
- \end{itemize}
- \begin{lstlisting}
- [web]
- push_ssl=False
- allow_push=*
- \end{lstlisting}
-\end{frame}
-
-\begin{frame}
- \frametitle{Sharing Changes}
- \begin{itemize}
- \item Use \typ{hg push} to push your \typ{commits}
- (\typ{changesets}) to the central repository
- \end{itemize}
-\end{frame}
-
-
-\begin{frame}
- \frametitle{Pulling Changes}
- \begin{itemize}
- \item \typ{hg incoming} shows new \typ{changesets} in the server
- \item To get these \typ{changesets}, we use \typ{hg pull}
- \item These changes do not affect our working directory
- \item \typ{hg parent} shows the parents of the working directory
- \end{itemize}
-\end{frame}
-
-\begin{frame}
- \frametitle{Pulling Changes \ldots}
- \begin{itemize}
- \item \typ{hg update} will update the working directory
- \begin{itemize}
- \item Updates to the \typ{tip} if no revision is specified
- \item \typ{tip} is the most recently added changeset
- \item Can specify revision number to update to
- \end{itemize}
- \item \typ{hg tip} shows the \typ{tip} of the repository
- \end{itemize}
-\end{frame}
-
-\begin{frame}
- \frametitle{Simultaneous Changes}
- \begin{itemize}
- \item The logs of both repositories will be different
- \item The repositories have diverged
- \item \typ{hg push} fails, in such a scenario
- \item \alert{Never, Never, Never, Ever} use \typ{hg push -f}
- \end{itemize}
-\end{frame}
-
-\begin{frame}
- \frametitle{Merging}
- \begin{itemize}
- \item Pull and merge, when \typ{abort: push creates new remote
- heads!}
- \item \typ{hg merge} will merge the two diverged heads
- \item \typ{commit} after you have \typ{merged}!
- \end{itemize}
-\end{frame}
-
-\begin{frame}
- \frametitle{Simultaneous Changes \ldots}
- \begin{itemize}
- \item \typ{outgoing} shows the \typ{changesets} that will be pushed
- \item \typ{hg push} works!
- \item Look at the `Change graph'!
- \end{itemize}
-\end{frame}
-
-\begin{frame}
- \frametitle{Simultaneous Conflicting Changes}
- \begin{itemize}
- \item What if the changes conflict? -- overlapping edits
- \item \typ{hg push} fails; \typ{hg pull}; \typ{hg merge}
- \item You now get a diff view with 3 panes
- \begin{itemize}
- \item First --- current file
- \item Second --- \typ{changesets} that you pulled
- \item Third --- file before you made your changes
- \end{itemize}
- \item Resolve conflict and save
- \item \typ{hg commit}; \typ{hg push}
- \item Look at the `Change graph'!
- \end{itemize}
-\end{frame}
-
-\section{Conclusion}
-
-\begin{frame}
- \frametitle{\alert{Advice}: Work-flow}
- General work-flow
- \begin{itemize}
- \item \typ{pull}; \typ{update}
- \item Make changes
- \item \typ{commit}
- \item If changes on repo, \typ{pull} and \typ{merge}
- \item \typ{push}
- \end{itemize}
- \emphbar{Commit Early, Commit Often}
-\end{frame}
-
-\begin{frame}
-\frametitle{Summary}
-\label{sec-18}
-
-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
-\item Clone repositories, using hg clone,
-\item Serve our repositories via http using hg serve,
-\item push changes to a repository using hg push,
-\item check the changesets in a repository after last pull, using hg incoming,
-\item pull changes from a repository using hg pull ,
-\item update the working directory, using hg update,
-\item merge two heads, using hg merge,
-\item and resolve conflicts using hg resolve.
-\end{itemize}
-\end{frame}
-\begin{frame}[fragile]
-\frametitle{Evaluation}
-\label{sec-19}
-
-
-\begin{enumerate}
-\item
-\item
-\item
-\end{enumerate}
-\end{frame}
-\begin{frame}
-\frametitle{Solutions}
-\label{sec-20}
-
-
-\begin{enumerate}
-\item
-\vspace{15pt}
-\item
-\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}
-