versionControl/vcs.tex
author Shantanu <shantanu@fossee.in>
Sat, 23 Jan 2010 00:04:11 +0530
changeset 84 535151a16560
parent 83 c52c9a615356
child 91 6f2f2f949e32
permissions -rw-r--r--
Added more screenshots, and details on merging.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
     1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
     2
% Version Control Systems
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
     3
%
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
     4
% Author: FOSSEE 
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
     5
% Copyright (c) 2009, FOSSEE, IIT Bombay
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
     6
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
     7
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
     8
\documentclass[14pt,compress]{beamer}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
     9
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    10
\mode<presentation>
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    11
{
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    12
  \usetheme{Warsaw}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    13
  \useoutertheme{infolines}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    14
  \setbeamercovered{transparent}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    15
}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    16
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    17
\usepackage[english]{babel}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    18
\usepackage[latin1]{inputenc}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    19
%\usepackage{times}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    20
\usepackage[T1]{fontenc}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    21
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    22
% Taken from Fernando's slides.
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    23
\usepackage{ae,aecompl}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    24
\usepackage{mathpazo,courier,euler}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    25
\usepackage[scaled=.95]{helvet}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    26
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    27
\definecolor{darkgreen}{rgb}{0,0.5,0}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    28
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    29
\usepackage{listings}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    30
\lstset{language=Python,
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    31
    basicstyle=\ttfamily\bfseries,
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    32
    commentstyle=\color{red}\itshape,
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    33
  stringstyle=\color{darkgreen},
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    34
  showstringspaces=false,
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    35
  keywordstyle=\color{blue}\bfseries}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    36
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    37
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    38
% Macros
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    39
\setbeamercolor{emphbar}{bg=blue!20, fg=black}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    40
\newcommand{\emphbar}[1]
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    41
{\begin{beamercolorbox}[rounded=true]{emphbar} 
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    42
      {#1}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    43
 \end{beamercolorbox}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    44
}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    45
\newcounter{time}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    46
\setcounter{time}{0}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    47
\newcommand{\inctime}[1]{\addtocounter{time}{#1}{\tiny \thetime\ m}}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    48
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    49
\newcommand{\typ}[1]{\lstinline{#1}}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    50
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    51
\newcommand{\kwrd}[1]{ \texttt{\textbf{\color{blue}{#1}}}  }
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    52
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    53
%%% This is from Fernando's setup.
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    54
% \usepackage{color}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    55
% \definecolor{orange}{cmyk}{0,0.4,0.8,0.2}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    56
% % Use and configure listings package for nicely formatted code
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    57
% \usepackage{listings}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    58
% \lstset{
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    59
%    language=Python,
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    60
%    basicstyle=\small\ttfamily,
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    61
%    commentstyle=\ttfamily\color{blue},
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    62
%    stringstyle=\ttfamily\color{orange},
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    63
%    showstringspaces=false,
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    64
%    breaklines=true,
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    65
%    postbreak = \space\dots
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    66
% }
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    67
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    68
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    69
% Title page
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    70
\title[Version Control Systems]{SEES: Version Control Systems}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    71
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    72
\author[FOSSEE] {FOSSEE}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    73
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    74
\institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    75
\date[]{}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    76
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    78
%\pgfdeclareimage[height=0.75cm]{iitmlogo}{iitmlogo}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    79
%\logo{\pgfuseimage{iitmlogo}}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    80
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    81
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    82
%% Delete this, if you do not want the table of contents to pop up at
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    83
%% the beginning of each subsection:
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    84
\AtBeginSubsection[]
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    85
{
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    86
  \begin{frame}<beamer>
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    87
    \frametitle{Outline}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    88
    \tableofcontents[currentsection,currentsubsection]
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    89
  \end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    90
}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    91
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    92
\AtBeginSection[]
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    93
{
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    94
  \begin{frame}<beamer>
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    95
    \frametitle{Outline}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    96
    \tableofcontents[currentsection,currentsubsection]
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    97
  \end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    98
}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
    99
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   100
% If you wish to uncover everything in a step-wise fashion, uncomment
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   101
% the following command: 
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   102
%\beamerdefaultoverlayspecification{<+->}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   103
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   104
%%\includeonlyframes{current,current1,current2,current3,current4,current5,current6}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   105
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   106
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   107
% DOCUMENT STARTS
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   108
\begin{document}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   109
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   110
\begin{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   111
  \maketitle
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   112
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   113
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   114
% CREATING TOC 
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   115
\begin{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   116
  \frametitle{Outline}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   117
  \tableofcontents
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   118
  % You might wish to add the option [pausesections]
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   119
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   120
78
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   121
%% There are some %$ used just to minimise the effect of $ sign used in lstlisting. In emacs it looks unhealthy.
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   122
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   123
% Introduction to course-need of version control, history, options available.
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   124
\section{Introduction}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   125
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   126
\begin{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   127
  \frametitle{What is Version Control?}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   128
  \begin{block}{From a blog post}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   129
    ``Version control (or source control) is nothing more arcane than keeping copies of ones work as one make changes to it.''
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   130
  \end{block}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   131
  \pause
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   132
  \begin{block}{}
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   133
    It is better to use these tools rather than wasting creativity to invent VCS which have files with names like \begin{color}{red}{prog1.py, prog2.py}\end{color} or \begin{color}{red}prog-old.py, prog.py.\end{color}
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   134
  \end{block}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   135
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   136
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   137
\begin{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   138
  \frametitle{Motivation behind such tools}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   139
  \begin{itemize}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   140
  \item Track the history and evolution of a program.
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   141
  \item To collaborate effectively on a project.
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   142
  \item \begin{color}{red}``To err is Human''\end{color} \pause for recovery we have ``Version Control''
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   143
  \end{itemize}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   144
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   145
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   146
%% Introduction to how logs are managed in VCS.
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   147
%% A analogy in logs and day-to-day life?
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   148
\begin{frame}[fragile]
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   149
  \frametitle{How does it work?}
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   150
  It can roughly be related to Computer/Video Games.
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   151
  \begin{itemize}
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   152
  \item We play games in stages.
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   153
  \item We pass a stage/task- \begin{color}{red}we SAVE the game.\end{color}
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   154
  \item We resume playing from there onwards.
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   155
  \item In-case we want to replay or revisit some particular stage, we start from position we saved earlier.
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   156
  \item Even we can change the course of play henceforth.
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   157
  \end{itemize}
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   158
\end{frame}
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   159
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   160
\begin{frame}[fragile]
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   161
  \frametitle{Better way to say:}
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   162
  \begin{center}
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   163
    \includegraphics[height=2.5in,width=2.5in, interpolate=true]{mario}
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   164
  \end{center}  
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   165
  \emphbar{VCS provides power to save and resume from a stage.}
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   166
\end{frame}
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   167
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   168
\begin{frame}
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   169
  \frametitle{How is it done?}
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   170
  \begin{itemize}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   171
  \item It keeps track of changes you make to a file. You can improvise, revisit, and amend.
79
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   172
  \item All procedure is logged/recorded, so you and others can follow the development cycle.
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   173
  \end{itemize}  
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   174
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   175
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   176
\begin{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   177
  \frametitle{Do we really need this?}
79
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   178
  \emphbar{For team of people working remotely(even different computers/machines) on a project, use of version control is inevitable!}
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   179
  \vspace{0.15in}
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   180
  \emphbar{For single person: managing projects and assignments becomes easy}
79
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   181
  \vspace{0.15in}
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   182
  \pause
81
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   183
  \emphbar{\color{red}{It is a good habit!}}
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   184
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   185
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   186
\begin{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   187
  \frametitle{Whats on the menu!}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   188
  \begin{itemize}
79
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   189
  \item cvs (Concurrent Version System)
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   190
  \item svn (Subversion)
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   191
  \item hg (Mercurial)
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   192
  \item bzr (Bazaar)
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   193
  \item git
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   194
  \end{itemize}
79
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   195
  \inctime{10}
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   196
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   197
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   198
% Introduction to jargon 
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   199
\section{Learning the Lingo!}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   200
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   201
\begin{frame}
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   202
  \frametitle{Common jargon: Basic setup}
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   203
  \begin{itemize}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   204
  \item Repository(repo):\\
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   205
        The folder with all files.
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   206
  \item Server:\\
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   207
        Machine with main inventory/repo.
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   208
  \item Client:\\
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   209
        Local machines with copy of main repo.
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   210
  \end{itemize}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   211
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   212
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   213
\begin{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   214
  \frametitle{Actions}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   215
  \begin{itemize}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   216
  \item Add:\\
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   217
    Adding file into the repo for the first time.
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   218
  \item Version:\\
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   219
    Version number(Die Hard 4.0).
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   220
  \item Head/Tip:\\
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   221
    Most recent revision/stage.
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   222
  \item Check out/Clone:\\
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   223
    Initial download of working copy.
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   224
  \item Commit:\\
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   225
    Saving(recording) a change.
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   226
  \item Change log/History:\\
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   227
    List of all past changes.
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   228
  \end{itemize}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   229
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   230
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   231
\begin{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   232
  \frametitle{Actions cont...}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   233
  \begin{itemize}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   234
  \item Branch:\\
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   235
    Separate local copy for bug fixing, testing.
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   236
  \item Diff/Change:\\
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   237
    Changes made in a file in two different versions.
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   238
  \item Merge (or patch):\\
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   239
    Appling the changes to file, to make it up-to-date.
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   240
  \item Conflict:\\
79
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   241
    When merging a file is not obvious.
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   242
  \item Resolve:\\
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   243
    Fixing the conflict manually.
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   244
  \end{itemize}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   245
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   246
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   247
% Types of Version Controls
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   248
\section{Types of VCS}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   249
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   250
\begin{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   251
  \frametitle{Types:}
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   252
  Based on ways of managing the repo there are two types of VCS:
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   253
  \begin{itemize}
79
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   254
  \item Centralized VCS\\
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   255
    cvs, svn fall under this category.
79
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   256
  \item Distributed VCS\\
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   257
    hg, bzr, git follows this methodology.
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   258
  \end{itemize}
79
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   259
  \emphbar{We would be covering \typ{hg}}
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   260
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   261
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   262
\begin{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   263
  \frametitle{Why hg?}
79
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   264
    \includegraphics[height=.75in, interpolate=true]{mercurial}
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   265
  \begin{itemize}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   266
  \item Easy to learn and use.
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   267
  \item Lightweight.
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   268
  \item Scales excellently.
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   269
  \item Written in Python.
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   270
  \end{itemize}
79
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   271
  \inctime{10}
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   272
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   273
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   274
% Initializing the repo, cloning, committing changes, pushing, pulling to repo.
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   275
\section{Getting Started}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   276
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   277
\begin{frame}[fragile]
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   278
  \frametitle{Getting comfortable:}
81
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   279
  For checking \typ{hg} installation and its version try:
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   280
  \begin{lstlisting}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   281
    $ hg version    
81
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   282
  \end{lstlisting}
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   283
  To get broad help on \typ{hg} and commands available:
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   284
  \begin{lstlisting}
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   285
    $ man hg
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   286
    $ hg help
81
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   287
  \end{lstlisting}
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   288
  To get help on particular \typ{hg} related option try:
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   289
  \begin{lstlisting}
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   290
    $ hg help diff
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   291
  \end{lstlisting} %$
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   292
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   293
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   294
\begin{frame}[fragile]
81
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   295
  \frametitle{Getting working/existing code base}
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   296
  \typ{clone} is used to make a copy of an existing repository. It can be both local or remote.
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   297
  \begin{lstlisting}
81
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   298
$ hg clone 
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   299
  http://hg.serpentine.com/tutorial/hello 
79
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   300
  localCopyhello
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   301
  \end{lstlisting}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   302
  And we get a local copy of this repository. 
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   303
  \begin{lstlisting}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   304
$ ls localCopyhello/
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   305
hello.c  Makefile
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   306
  \end{lstlisting}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   307
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   308
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   309
\begin{frame}[fragile]
81
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   310
  \frametitle{To start track-record on existing files}
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   311
  I have some files which I want to bring under version control. \typ{hg} provides \typ{init} command for this: 
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   312
  \begin{lstlisting}
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   313
$ ls -a circulate/
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   314
.  ..  lena.png  pendulum.txt  points.txt  pos.txt  sslc1.py  sslc1.txt
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   315
$ cd circulate/
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   316
$ hg init
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   317
$ ls -a
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   318
.  ..  .hg  lena.png  pendulum.txt  points.txt  pos.txt  sslc1.py  sslc1.txt    
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   319
  \end{lstlisting}
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   320
  \emphbar{\typ{.hg} directory keeps log of changes made henceforth.}
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   321
\end{frame}
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   322
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   323
\begin{frame}[fragile]
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   324
  \frametitle{Starting fresh}
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   325
  We can use \typ{init} to start a new repository also
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   326
  \begin{lstlisting}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   327
$ mkdir Fevicol
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   328
$ cd Fevicol/
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   329
$ echo "print 'Yeh Fevicol ka majboot 
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   330
              jod hai'" > feviStick.py
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   331
$ ls -a
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   332
.  ..  feviStick.py
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   333
$ hg init
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   334
$ ls -a
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   335
.  ..  feviStick.py  .hg
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   336
  \end{lstlisting}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   337
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   338
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   339
\begin{frame}[fragile]
81
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   340
  \frametitle{Making copies: Branching}
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   341
  All \typ{hg} repositories are self-contained, and independent which can be copied(cloned):
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   342
  \begin{lstlisting}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   343
$ hg clone localCopyhello newCopy
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   344
updating working directory
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   345
2 files updated, 0 files merged, 
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   346
0 files removed, 0 files unresolved
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   347
  \end{lstlisting}
79
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   348
  or
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   349
  \begin{lstlisting}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   350
$ hg clone Fevicol Fevicol-pull
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   351
updating working directory
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   352
0 files updated, 0 files merged, 
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   353
0 files removed, 0 files unresolved
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   354
  \end{lstlisting}
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   355
  \inctime{20}
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   356
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   357
81
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   358
%% Should we here stress on how are distribute VCS have 
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   359
%% different approach then centralized ones? Maybe a pic
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   360
%% or some other graphical representation.
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   361
\begin{frame}[fragile]
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   362
  \frametitle{Revisiting saved points:history/logs}
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   363
  In \typ{hg}, the difference between consecutive stages is termed as changeset.\\
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   364
  Once we have saved stages, we need a mechanism to review and access them, for that use \typ{log} command.
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   365
  \begin{lstlisting}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   366
$ cd localCopyhello
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   367
$ hg log    
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   368
  \end{lstlisting}
81
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   369
\end{frame}
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   370
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   371
\begin{frame}[fragile]
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   372
  \frametitle{Understanding output}
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   373
  The output provides following information:
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   374
  \begin{itemize}
81
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   375
  \item changeset: Identifiers for the changeset.
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   376
  \item user: Person who created the changeset.
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   377
  \item date: Date and time of creation of changeset.
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   378
  \item summary: One line description.
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   379
  \end{itemize}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   380
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   381
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   382
\begin{frame}[fragile]
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   383
  \frametitle{History/Logs cont...}
81
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   384
  By default \typ{log} returns complete list of all changes. \\
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   385
  For selective view try:
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   386
\begin{lstlisting}
81
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   387
$ hg log -r 3
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   388
$ hg log -r 2:4
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   389
\end{lstlisting}
81
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   390
  tip/latest changes can be seen via:
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   391
  \begin{lstlisting}
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   392
$ hg tip    
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   393
  \end{lstlisting} %%$
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   394
  \inctime{5}
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   395
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   396
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   397
\begin{frame}[fragile]
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   398
  \frametitle{Advancing through a stage:status}
81
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   399
  We often need to add/delete some files from directory(repo). The structure keeps on evolving, and tools for handling them are needed.\\
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   400
  We will use the Fevicol repo we created earlier.
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   401
  \begin{lstlisting}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   402
$ cd Fevicol
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   403
$ hg log
79
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   404
$ hg st
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   405
? feviStick.py
81
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   406
  \end{lstlisting} %%$
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   407
  \typ{st} (aka status) is command to show changed files in the working directory.\\
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   408
\end{frame}
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   409
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   410
%% track record is confusing for some. Duma have some doubts :(
81
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   411
\begin{frame}[fragile]
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   412
  \frametitle{Adding files}
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   413
  "?" indicates that these file are aliens to track record.\\
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   414
  \typ{add} command is available to add new files to present structure.
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   415
  \begin{lstlisting}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   416
$ hg add feviStick.py
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   417
$ hg st
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   418
A feviStick.py
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   419
  \end{lstlisting}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   420
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   421
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   422
\begin{frame}[fragile]
81
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   423
  \frametitle{Saving present stage: committing}
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   424
  \emphbar{This is equivalent to completing tasks, before reaching a stage where you want to save.}
3d20090b7cbd Making changes according to need-to-know approach.
Shantanu <shantanu@fossee.in>
parents: 80
diff changeset
   425
  \typ{hg} uses \typ{ci}(aka \typ{commit}) command to save changes. So after adding file, we have to commit it also:
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   426
  \begin{lstlisting}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   427
$ hg ci -u "Shantanu <shantanu@fossee.in>" 
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   428
        -m "First commit."
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   429
$ hg log
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   430
changeset:   0:84f5e91f4de1
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   431
tag:         tip
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   432
user:        Shantanu <shantanu@fossee.in>
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   433
date:        Fri Aug 21 23:37:13 2009 +0530
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   434
summary:     First commit.    
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   435
  \end{lstlisting}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   436
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   437
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   438
\begin{frame}[fragile]
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   439
  \frametitle{Other operations}
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   440
  \typ{hg} supports basic file-management functions like copy, remove, rename etc.
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   441
  \begin{lstlisting}
79
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   442
$ hg cp feviStick.py pidiLite.py
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   443
$ hg rename pidiLite.py feviCol.py
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   444
$ hg st
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   445
A feviCol.py
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   446
$ hg ci -u "Shantanu <shantanu@fossee.in>" 
79
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   447
        -m "Added feviCol.py."
80
e5dcba8a6b13 More changes to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 79
diff changeset
   448
$ hg tip| grep summary 
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   449
summary:     Added feviCol.py.
80
e5dcba8a6b13 More changes to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 79
diff changeset
   450
  \end{lstlisting} %$
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   451
%% Other commands which can be handy are \typ{remove}, \typ{revert} etc.
79
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   452
  \inctime{10}
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   453
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   454
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   455
% Introduction to concepts of branches, merging patch?
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   456
\section{Sharing and Collaborating}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   457
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   458
\begin{frame}[fragile]
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   459
  \frametitle{Distributing changes}
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   460
  \begin{itemize}
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   461
  \item All directory-structure(repo) are self-contained.
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   462
  \item Changes created are local.
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   463
    \begin{itemize}
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   464
    \item Until we sync. previously cloned repos.
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   465
    \end{itemize}
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   466
  \end{itemize}
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   467
  \begin{lstlisting}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   468
$ hg pull 
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   469
pulling from /home/baali/Fevicol
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   470
requesting all changes
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   471
adding changesets
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   472
adding manifests
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   473
adding file changes
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   474
added 2 changesets with 2 changes to 2 files
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   475
(run 'hg update' to get a working copy)
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   476
  \end{lstlisting} %$
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   477
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   478
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   479
\begin{frame}[fragile]
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   480
  \frametitle{Pulling changesets cont...}
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   481
  \typ{pull} command doesn't update current directory, it just imports changesets. To add all these changes, use \typ{up}:
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   482
  \begin{lstlisting}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   483
$ cd Fevicol-pull
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   484
$ ls -a
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   485
.  ..  .hg
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   486
$ hg up
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   487
2 files updated, 0 files merged, 
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   488
0 files removed, 0 files unresolved
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   489
$ ls -a
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   490
.  ..  feviCol.py  feviStick.py  .hg    
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   491
  \end{lstlisting}
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   492
  \pause
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   493
  \emphbar{Why \typ{pull} and \typ{up} are needed separately?}
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   494
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   495
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   496
\begin{frame}[fragile]
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   497
  \frametitle{Making changes across branches}
79
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   498
  \begin{lstlisting}
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   499
$ cd Fevicol-pull/
79
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   500
  \end{lstlisting} %$
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   501
  Lets edit and correct the feviStick.py 
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   502
\begin{lstlisting}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   503
$ echo "print 'Ab no more Chip Chip'" 
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   504
        > feviStick.py
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   505
$ hg st
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   506
M feviStick.py
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   507
\end{lstlisting}
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   508
  'M' sign indicates that \typ{hg} has noticed change.\\
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   509
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   510
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   511
\begin{frame}[fragile]
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   512
  \frametitle{Revisiting changes}
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   513
  To view changes made \typ{hg} provides \typ{diff}:
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   514
\begin{lstlisting}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   515
$ hg diff
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   516
diff -r a7912d45f47c feviStick.py
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   517
--- a/feviStick.py   Sun Aug 23 22:34:35 2009 +0530
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   518
+++ b/feviStick.py   Sun Aug 23 22:47:49 2009 +0530
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   519
@@ -1,1 +1,1 @@
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   520
-print 'Yeh Fevicol ka Majboot jod hai'
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   521
+print 'Ab no more Chip Chip'
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   522
  \end{lstlisting} %$
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   523
\end{frame}
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   524
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   525
\begin{frame}[fragile]
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   526
  \frametitle{Saving the changes}
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   527
  We have to commit these changes.
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   528
  \begin{lstlisting}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   529
$ hg ci -u "Shantanu <shantanu@fossee.in>" 
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   530
      -m "Changed tagline for feviStick.py."
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   531
  \end{lstlisting} %$
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   532
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   533
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   534
\begin{frame}[fragile]
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   535
  \frametitle{Syncing two repos}
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   536
  To bring both the repos at same stage we have to \typ{push} differences.
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   537
  \begin{lstlisting}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   538
$ hg push 
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   539
pushing to /home/baali/Fevicol
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   540
searching for changes
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   541
adding changesets
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   542
adding manifests
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   543
adding file changes
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   544
added 1 changesets with 1 changes to 1 files
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   545
  \end{lstlisting} %$
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   546
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   547
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   548
\begin{frame}[fragile]
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   549
  \frametitle{Syncing cont...}
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   550
  Same as pulling, pushing wont update the main directory by default.
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   551
  \begin{lstlisting}
79
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   552
$ cd Fevicol
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   553
$ hg tip    
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   554
$ cat feviStick.py
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   555
  \end{lstlisting}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   556
  \typ{tip} shows latest changeset, but content of file are not updated. We have to use \typ{up} on main branch
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   557
  \begin{lstlisting}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   558
$ hg up
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   559
1 files updated, 0 files merged, 0 files removed, 0 files unresolved    
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   560
  \end{lstlisting} %$
79
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   561
  \inctime{15}
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   562
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   563
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   564
\begin{frame}[fragile]
78
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   565
  \frametitle{Merging: Scenario}
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   566
  One very useful feature is merging work of different peers working on same project.\\
79
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   567
  We consider scenario, two person on one project, both have local copies, and one among them is main branch.\\
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   568
  \begin{center}
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   569
    \includegraphics[height=1in, interpolate=true]{scenario}
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   570
  \end{center}  
78
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   571
\end{frame}
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   572
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   573
\begin{frame}[fragile]
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   574
  \frametitle{Making changes to one of repo}
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   575
  \begin{lstlisting}
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   576
$ cd Fevicol-pull
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   577
$ echo "print 'Yeh Fevicol ka Majboot jod 
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   578
        hai, tootega nahin'" > feviCol.py
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   579
$ hg st
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   580
M feviStick.py
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   581
$ hg ci -u "Shantanu <shantanu@fossee.in>" 
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   582
     -m "Updated tag line for feviCol.py."
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   583
$ hg tip| grep changeset
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   584
changeset:   3:caf986b15e05
78
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   585
  \end{lstlisting} %$
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   586
\end{frame}
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   587
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   588
\begin{frame}[fragile]
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   589
  \frametitle{In the meanwhile, other repo is ...}
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   590
  \begin{lstlisting}
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   591
$ cd Fevicol
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   592
$ echo "print 'Jor laga ke hayyiya'" 
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   593
        > firstAdd.py
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   594
$ hg add 
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   595
$ hg st
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   596
A firstAdd.py
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   597
$ hg ci -u "Shantanu <shantanu@fossee.in>"
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   598
        -m "Added firsAdd.py."
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   599
$ hg tip|grep changeset
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   600
changeset:   3:fadbd6492cc4    
78
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   601
  \end{lstlisting}
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   602
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   603
83
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   604
%%\hspace*{-0.5in} 
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   605
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   606
\begin{frame}[fragile]
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   607
  \frametitle{Situation}
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   608
  \begin{columns}
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   609
    \column{0.5\textwidth}    
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   610
    \begin{block}{\center{main directory}}
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   611
      \includegraphics[height=2in, interpolate=true]{main}
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   612
    \end{block}
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   613
    \column{0.5\textwidth} 
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   614
    \begin{block}{\center{cloned directory}}
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   615
      \includegraphics[height=2in, interpolate=true]{clone}
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   616
    \end{block}
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   617
  \end{columns}
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   618
\end{frame}
c52c9a615356 Added suggestions from Amit and Anoop and some images.
Shantanu <shantanu@fossee.in>
parents: 81
diff changeset
   619
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   620
\begin{frame}[fragile]
78
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   621
  \frametitle{Merging}
84
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   622
  \emphbar{Lets sync both these branches!}
78
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   623
  \begin{lstlisting}
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   624
$ hg pull ../Fevicol-pull
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   625
pulling from ../Fevicol-pull
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   626
searching for changes
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   627
adding changesets
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   628
adding manifests
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   629
adding file changes
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   630
added 1 changesets with 1 changes to 1 files (+1 heads)
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   631
(run 'hg heads' to see heads, 'hg merge' to merge)    
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   632
  \end{lstlisting} %$
84
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   633
  \begin{itemize}
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   634
  \item \typ{pull} can be done from a branch explicitly also.
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   635
  \item Output is already suggesting something!
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   636
  \end{itemize}  
78
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   637
\end{frame}
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   638
79
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   639
%% Here one can mention the point of having push and pull separate. Because of this policy, changes made are not lost.
78
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   640
\begin{frame}[fragile]
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   641
  \frametitle{Analyzing events in detail}
84
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   642
  Since hg \typ{pull} don't update the files directly, our changes are still safe. \typ{hg} provides some commands to help understand such problems.
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   643
\begin{tiny}
78
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   644
  \begin{lstlisting}
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   645
$ hg heads
84
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   646
changeset:   4:c5f40fda69cf
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   647
tag:         tip
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   648
parent:      2:0b8286c48e88
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   649
user:        Shantanu <shantanuc@fosse.in>
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   650
date:        Fri Jan 22 19:43:46 2010 +0530
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   651
summary:     Updated tagline for feviCol.py.
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   652
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   653
changeset:   3:60edf0e499e7
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   654
user:        Shantanu <shantanuc@fosse.in>
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   655
date:        Fri Jan 22 19:47:58 2010 +0530
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   656
summary:     Added firstAdd.py.
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   657
  \end{lstlisting} %%$
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   658
\end{tiny}
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   659
  It shows current repository heads or show branch head
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   660
\end{frame}
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   661
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   662
\begin{frame}[fragile]
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   663
  \frametitle{What went wrong: Analysis}
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   664
    \begin{lstlisting}
78
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   665
$ hg glog    
84
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   666
  \end{lstlisting} %%$
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   667
  \begin{center}
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   668
  \includegraphics[height=2in]{glog}  
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   669
  \end{center}  
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   670
  It shows history alongside an ASCII revision graph.  
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   671
\end{frame}
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   672
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   673
\begin{frame}[fragile]
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   674
  \frametitle{What went wrong: Analysis cont...}
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   675
  Because of different 'pasts', \typ{up} command fails.
78
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   676
  \begin{lstlisting}
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   677
$ hg up
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   678
abort: crosses branches (use 'hg merge' or 'hg update -C')
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   679
  \end{lstlisting} %$
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   680
\end{frame}
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   681
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   682
\begin{frame}[fragile]
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   683
  \frametitle{Merging}
84
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   684
  To deal such situations \typ{hg merge} command merge working directory with another revision.
78
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   685
  \begin{lstlisting}
84
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   686
$ hg merge
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   687
 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   688
(branch merge, don't forget to commit)   
78
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   689
  \end{lstlisting} %$
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   690
  After merging two branches, we have to commit the results to create a common head.
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   691
  \begin{lstlisting}
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   692
$ hg ci -u "Shantanu <shantanu@fossee.in>" 
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   693
        -m "Merged branches."
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   694
  \end{lstlisting} %$
79
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   695
  \inctime{15}
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   696
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   697
84
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   698
\begin{frame}[fragile]
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   699
  \frametitle{\typ{glog}}
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   700
  \begin{center}
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   701
  \includegraphics[height=2.8in]{glog-2}  
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   702
  \end{center}
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   703
\end{frame}
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   704
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   705
\begin{frame}[fragile]
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   706
  \frametitle{More information}
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   707
  \begin{itemize}
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   708
  \item \typ{merge} fails if there are conflicting changes.
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   709
    \begin{itemize}
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   710
    \item Like two persons editing same file, same line and pushing it upstream.
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   711
    \end{itemize}
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   712
  \item In conflicts, one have to perform \typ{merge} manually.
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   713
  \item \typ{hg} provides \typ{incoming} command, which checks the would-be imported changes
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   714
    \begin{itemize}
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   715
    \item To avoid conflicting changes before importing.
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   716
    \end{itemize}
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   717
  \end{itemize}
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   718
\end{frame}
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   719
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   720
% Steps to follow to make life easier. How to avoid/handle manual merges.
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   721
\section{Work flow: DOS and DON'Ts}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   722
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   723
\begin{frame}
78
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   724
  \frametitle{Motto behind hg}
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   725
  \begin{center}
84
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   726
  \color{red}{``Commit Early Commit Often.''}
78
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   727
  \end{center}  
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   728
\end{frame}
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   729
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   730
\begin{frame}
79
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   731
  \frametitle{Cheat Sheet}
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   732
  \begin{center}
80
e5dcba8a6b13 More changes to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 79
diff changeset
   733
  \includegraphics[height=2.8in]{mod}  
79
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   734
  \end{center}  
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   735
\end{frame}
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   736
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   737
\begin{frame}
78
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   738
  \frametitle{Steps to be followed}
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   739
  \begin{itemize}
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   740
  \item Make changes.
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   741
  \item Commit.
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   742
  \item Pull changesets.
80
e5dcba8a6b13 More changes to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 79
diff changeset
   743
  \item Merge(if required).
78
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   744
  \item Push.
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   745
  \end{itemize}
84
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   746
  \inctime{20}
78
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   747
\end{frame}
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   748
216f6670abfd Added merging part in VCS slides.
Shantanu <shantanu@fossee.in>
parents: 77
diff changeset
   749
\begin{frame}
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   750
  \frametitle{Suggested Readings:}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   751
  \begin{itemize}
79
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   752
  \item \url{http://mercurial.selenic.com/guide/}
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   753
  \item \url{http://hgbook.red-bean.com/}    
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   754
  \item \url{http://karlagius.com/2009/01/09/version-control-for-the-masses/}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   755
  \item Articles related to version control available on \url{http://betterexplained.com/}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   756
  \item \url{http://en.wikipedia.org/wiki/Revision_control}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   757
  \item \url{http://wiki.alliedmods.net/Mercurial_Tutorial}
84
535151a16560 Added more screenshots, and details on merging.
Shantanu <shantanu@fossee.in>
parents: 83
diff changeset
   758
  \item Mario game images are taken from wikipedia.
77
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   759
  \end{itemize}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   760
\end{frame}
708e1f6a9a89 Created initial slides for VCS till merging.
Shantanu <shantanu@fossee.in>
parents:
diff changeset
   761
\end{document}
79
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   762
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   763
Notes
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   764
-----
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   765
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   766
From http://mercurial.selenic.com/
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   767
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   768
Quick Start
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   769
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   770
Clone a project and push changes
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   771
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   772
$ hg clone http://selenic.com/repo/hello
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   773
$ cd hello
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   774
$ (edit files)
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   775
$ hg add (new files)
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   776
$ hg commit -m 'My changes'
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   777
$ hg push
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   778
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   779
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   780
Create a project and commit
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   781
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   782
$ hg init (project-directory)
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   783
$ cd (project-directory)
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   784
$ (add some files)
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   785
$ hg add
d6dd6541a887 Added some images to VCS slides.
Shantanu <shantanu@fossee.in>
parents: 78
diff changeset
   786
$ hg commit -m 'Initial commit'