diff options
Diffstat (limited to 'Version_Control')
-rw-r--r-- | Version_Control/images/fossee-logo.png | bin | 13587 -> 0 bytes | |||
-rw-r--r-- | Version_Control/images/iitb-logo.jpg | bin | 325871 -> 0 bytes | |||
-rw-r--r-- | Version_Control/vcs1/folder.png (renamed from Version_Control/images/folder.png) | bin | 45829 -> 45829 bytes | |||
-rw-r--r-- | Version_Control/vcs1/mercurial_logo.png (renamed from Version_Control/images/mercurial_logo.png) | bin | 6684 -> 6684 bytes | |||
-rw-r--r-- | Version_Control/vcs1/vcs1.rst | 142 | ||||
-rw-r--r-- | Version_Control/vcs1/vcs1_slide.tex | 270 | ||||
-rw-r--r-- | Version_Control/vcs1/vcs2col.rst | 126 | ||||
-rw-r--r-- | Version_Control/vcs1/vcslide1.tex | 212 | ||||
-rw-r--r-- | Version_Control/vcs2/vcs2.rst | 8 | ||||
-rw-r--r-- | Version_Control/vcs2/vcs2twocol.rst | 2 |
10 files changed, 374 insertions, 386 deletions
diff --git a/Version_Control/images/fossee-logo.png b/Version_Control/images/fossee-logo.png Binary files differdeleted file mode 100644 index 49d1797..0000000 --- a/Version_Control/images/fossee-logo.png +++ /dev/null diff --git a/Version_Control/images/iitb-logo.jpg b/Version_Control/images/iitb-logo.jpg Binary files differdeleted file mode 100644 index 2a63fae..0000000 --- a/Version_Control/images/iitb-logo.jpg +++ /dev/null diff --git a/Version_Control/images/folder.png b/Version_Control/vcs1/folder.png Binary files differindex 42d01a2..42d01a2 100644 --- a/Version_Control/images/folder.png +++ b/Version_Control/vcs1/folder.png diff --git a/Version_Control/images/mercurial_logo.png b/Version_Control/vcs1/mercurial_logo.png Binary files differindex 4cd736e..4cd736e 100644 --- a/Version_Control/images/mercurial_logo.png +++ b/Version_Control/vcs1/mercurial_logo.png diff --git a/Version_Control/vcs1/vcs1.rst b/Version_Control/vcs1/vcs1.rst index 0be9d8c..11a61f5 100644 --- a/Version_Control/vcs1/vcs1.rst +++ b/Version_Control/vcs1/vcs1.rst @@ -56,29 +56,40 @@ change log and collaborate on a single piece of work with a team of people. Lets look at an example of home-brewed Version Control system.Version control is a way of backing up files, before making changes. Most people would have -cooked up their own version control system. But there are more general purpose -tools which can do this task in an organized way. +cooked up their own version control system. .. L5 -{{{Show the slide 'Problems'}}} +{{{Show the next slide 'Home-brewed'}}} .. R5 +Listing the files in the folder we observe that after a point of time it +becomes difficult to maintain proper names for different versions of a file. + +.. L6 + +{{{Show the slide 'Problems'}}} + +.. R6 + Let's look at the various problems associated with this set-up. 1. Name and changes made are not related or linked. -#. Cant track sequence of changes made to a file. +#. Can't track sequence of changes made to a file. #. Does not scale. +To overcome this problems there are more general purpose tools which can +do this task in an organized way. -.. L6 + +.. L7 {{{Show the slide 'The need for Version Control'}}} -.. R6 +.. R7 Now, let's move to identifying the needs for a 'Version Control System'. @@ -87,23 +98,23 @@ is the ability to go back to a working version of a file, when something goes wrong. Below are a few more advantages of using an automated version control system. -1. By tracking the history of a project, any person may see the evolution - of a project. +1. By tracking the history of a project, any person may see the evolution +of a project. 2. Allows for effective collaboration on a project, as everything is shared. 3. Helps to identify which additions have broken down a project and thus - aids in efficient tracking down of the bugs. +aids in efficient tracking down of the bugs. -4. It is good for a one man show as it is for a big group of people working - on a project. +4. It is good for a one man show as it is for a big group of people working +on a project. -.. L7 +.. L8 {{{Show the slide 'How does it work? - Analogy}}} -.. R7 +.. R8 It is, in some ways, similar to playing a video game. We generally play games in stages. While playing, we save the game at some instances as per our choice. @@ -111,13 +122,19 @@ We continue playing, but we could, if necessary, choose to go back to one of the saved states and start over. In this manner, we could change the state of the game. -.. L8 +.. L9 {{{Show the slide 'Mercurial or hg'}}} -.. R8 +.. R9 + +Some of the Version Control tools available and used widely are: cvs, svn, +git and so on. -mercurial or hg is: +Each of these tools have their own merits and demerits. In this tutorial we +shall learn how to use mercurial or hg. + +Mercurial or hg is: 1. Easy to learn and use @@ -127,24 +144,20 @@ mercurial or hg is: #. Written in Python - -Some of the Version Control tools available and used widely are: cvs, svn, -git and so on. - -Each of these tools have their own merits and demerits. In this tutorial we -shall learn how to use mercurial or hg. - -.. L9 +.. L10 {{{Show the slide 'Installation'}}} -.. R9 +.. R10 Let's now get into Installation .. L10 -sudo apt-get install mercurial +{{{Switch to terminal}}} +:: + + $sudo apt-get install mercurial .. R10 @@ -152,27 +165,29 @@ Type sudo apt-get install mercurial Type hg -.. L11 +.. L12 +:: -$hg + $hg -.. R11 +.. R12 It will give you the list of basic commands. -.. L12 +.. L13 +:: -$hg version + $hg version -.. R12 +.. R13 and 'hg version' gives the version number of mercurial you are presently using. -.. L13 +.. L14 {{{Show the 'summary' slide'}}} -.. R13 +.. R14 This brings us to the end of the tutorial. In this tutorial, we have learnt: @@ -183,25 +198,24 @@ learnt: #. Install Mercurial. -.. L14 +.. L15 {{{Show self assessment questions slide}}} -.. R14 +.. R15 Here are some self assessment questions for you to solve 1. Is Mercurial a Centralized VCS or Distributed Version Control System? -#. How can you verify whether Mercurial has been installed properly? +#. How can you retrive the version of Mercurial installed? -#. What is the command for accessing built-in help system of Mercurial? -.. L15 +.. L16 {{{Show the solutions slide to self assessment questions }}} -.. R15 +.. R16 And the answers, @@ -209,14 +223,56 @@ And the answers, #. hg version -#. hg help command +.. L17 +{{{ Show the SDES & FOSSEE slide }}} -.. L16 +.. R17 + +Software Development techniques for Engineers and Scientists - SDES, is an +initiative by FOSSEE. For more information, please visit the given link. + +Free and Open-source Software for Science and Engineering Education - FOSSEE, is +based at IIT Bombay which is funded by MHRD as part of National Mission on +Education through ICT. + +.. L18 + +{{{ Show the ``About the Spoken Tutorial Project'' slide }}} + +.. R18 + +Watch the video available at the following link. It summarises the Spoken +Tutorial project.If you do not have good bandwidth, you can download and +watch it. + +.. L19 + +{{{ Show the `` Spoken Tutorial Workshops'' slide }}} + +.. R19 + +The Spoken Tutorial Project Team conducts workshops using spoken tutorials, +gives certificates to those who pass an online test. + +For more details, contact contact@spoken-tutorial.org + +.. L20 + +{{{ Show the ``Acknowledgements'' slide }}} + +.. R20 + +Spoken Tutorial Project is a part of the "Talk to a Teacher" project. +It is supported by the National Mission on Education through ICT, MHRD, +Government of India. More information on this mission is available at the +given link. + +.. L21 {{{Show the thank you slide}}} -.. R16 +.. R21 Hope you have enjoyed this tutorial and found it useful. Thank you diff --git a/Version_Control/vcs1/vcs1_slide.tex b/Version_Control/vcs1/vcs1_slide.tex new file mode 100644 index 0000000..24f8ee4 --- /dev/null +++ b/Version_Control/vcs1/vcs1_slide.tex @@ -0,0 +1,270 @@ +\documentclass[17pt,compress]{beamer} +\usepackage{beamerthemesplit} +\mode<presentation> +{ + \usetheme{Warsaw} + \useoutertheme{infolines} + \setbeamercovered{transparent} + \setbeamertemplate{navigation symbols}{} +} +% Taken from Fernando's slides. +\usepackage{ae,aecompl} +\usepackage[scaled=.95]{helvet} + +\usepackage[english]{babel} +\usepackage[latin1]{inputenc} +\usepackage[T1]{fontenc} + +% change the alerted colour to LimeGreen +\definecolor{LimeGreen}{RGB}{50,205,50} +\setbeamercolor{structure}{fg=LimeGreen} +\author[FOSSEE]{} +\institute[IIT Bombay]{} +\date[]{} +% \setbeamercovered{transparent} + +% theme split +\usepackage{verbatim} +\newenvironment{colorverbatim}[1][]% +{% +\color{blue} +\verbatim +}% +{% +\endverbatim +}% + +\usepackage{mathpazo,courier,euler} +\usepackage{listings} +\lstset{language=sh, + basicstyle=\ttfamily\bfseries, + showstringspaces=false, + keywordstyle=\color{black}\bfseries} + +% logo +\logo{\includegraphics[height=1.30 cm]{3t-logo.pdf}} +\logo{\includegraphics[height=1.30 cm]{fossee-logo.pdf} + +\hspace{7.5cm} +\includegraphics[scale=0.99]{../images/fossee-logo.pdf}\\ +\hspace{281pt} +\includegraphics[scale=0.80]{../images/3t-logo.pdf}} + +%%%from primal's doc +\newcommand{\typ}[1]{\lstinline{#1}} +\newcommand{\inctime}[1]{\addtocounter{time}{#1}{\tiny \thetime\ m}} +%%% + +\begin{document} + +\sffamily \bfseries +\title +[Version Control with hg] +{Version Control with hg} +\author +[FOSSEE] +{\small Talk to a Teacher\\{\color{blue}\url{http://spoken-tutorial.org}}\\\vspace{0.25cm}National Mission on Education + through ICT\\{\color{blue}\url{ http://sakshat.ac.in}} \\ [1.65cm] + Contributed by FOSSEE Team \\IIT Bombay \\[0.3cm] +} + +% slide 1 +\begin{frame} + \titlepage +\end{frame} + +\begin{frame} +\frametitle{Objectives} +\label{sec-2} + +At the end of this tutorial, you will be able to, +\begin{itemize} + \item Understand what is Version Control + \item Identify the need for using Version Control + \item Install Mercurial +\end{itemize} +\end{frame} + +% Introduction to course-need of version control, history, options available. +\section{Introduction} + +\begin{frame}[fragile] + \begin{block}{What is Version Control?} + + A way to track changes made to files over time, by keeping copies + of files as we change them. + + \end{block} +\end{frame} + +%% Home made version control system? +\begin{frame}[fragile] + \frametitle{Home-brewed} + \begin{center} + An example of a \typ{home-brew} Version Control system + \includegraphics[height=1.7in,width=4in]{folder.png} + %%a screen-shot of folder with all crazy names. + \end{center} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Home-brewed contd.} + \begin{itemize} + \item Listing the files in the folder: + \end{itemize} + \begin{lstlisting} + $ ls + a.out id1.txt id2.txt string.txt + identifier.cpp id.txt pda1.cpp + pda2.cpp pda.cpp pda.txt + \end{lstlisting} %%$ + %% listing out the crazy names +\end{frame} + +\begin{frame}[fragile] + \frametitle{Problems} + \begin{block}{} + \begin{itemize} + \item Name and changes made are not related or linked. + \item Can't track sequence of changes made to a file. + \item Does not scale. + \end{itemize} + \end{block} +\end{frame} + +\begin{frame}[fragile] + \frametitle{The need for Version Control} + \begin{itemize} + \item Tracking the history and evolution of a project + \item To collaborate effectively on a project + \item To efficiently track down bugs and pin-point the changes that + caused it + \item Useful for an individual and a group of people + \end{itemize} +\end{frame} + +%% Introduction to how logs are managed in VCS. +%% A analogy in logs and day-to-day life? +\begin{frame}[fragile] + \frametitle{How does it work? --- Analogy} + It is similar to playing an Video game. + \begin{itemize} + \item We play games in stages + \item Once we finish a stage -- \alert{we SAVE} + \item We continue playing + \item But, if necessary, we could choose from one of the saved + states and start from there + %%\item We could alter the course of the game + \end{itemize} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Mercurial or \typ{hg}} + \centering + \includegraphics[height=.70in,interpolate=true]{mercurial_logo} + \begin{itemize} + \item Easy to learn and use + \item Lightweight + \item Scales excellently + \item Written in Python + \end{itemize} +\end{frame} + + +\begin{frame} + \frametitle{Installation} + \begin{itemize} + \item \$ sudo apt-get install mercurial + \item \$ hg + \item \$ hg version + \end{itemize} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Summary...} + In this tutorial, we have learnt about, + \begin{itemize} + \item What is Version Control + \item The need for using Version Control + \item Installing Mercurial or hg + \end{itemize} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Evaluation} + \begin{enumerate} + \item Is Mercurial a Centralized VCS or Distributed VCS? + \item How can you retrive the version of Mercurial installed? + \end{enumerate} +\end{frame} + +\begin{frame} + \frametitle{Solutions} + \begin{enumerate} + \item Mercurial is a Distributed Version Control system. + \item hg version + \end{enumerate} +\end{frame} + +%%% 5 concluding slides %%% +\begin{frame} +\frametitle{SDES \& FOSSEE} +\begin{center} +\begin{itemize} +\item \small{SDES}\\ +\small{\color{LimeGreen}Software Development techniques for Engineers and Scientists} \\ +\scriptsize An initiative by FOSSEE. \\ +\vspace{3pt} +\scriptsize For more information on SDES, please visit {\color{blue}\url{http://fossee.in/sdes}}\\ +\vspace{12pt} +\item \small{FOSSEE}\\ +\small {\color{LimeGreen}Free and Open-source Software for \\Science and Engineering Education} \\ +\scriptsize Based at IIT Bombay, Funded by MHRD.\\ +\vspace{3pt} +\scriptsize Part of National Mission on Education through ICT (NME-ICT). \\ +\end{itemize} +\end{center} +\end{frame} + +\begin{frame} +\frametitle{About the Spoken Tutorial Project} +\begin{itemize} +\item Watch the video available at {\color{blue}\url{http://spoken-tutorial.org /What\_is\_a\_Spoken\_Tutorial}} +\item It summarises the Spoken Tutorial project +\item If you do not have good bandwidth, you can download and watch it +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{Spoken Tutorial Workshops}The Spoken Tutorial Project Team +\begin{itemize} +\item Conducts workshops using spoken tutorials +\item Gives certificates to those who pass an online test +\item For more details, please write to \\ \hspace {0.5cm}{\color{blue}contact@spoken-tutorial.org} +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{Acknowledgements} +\begin{itemize} +\item Spoken Tutorial Project is a part of the Talk to a Teacher project +\item It is supported by the National Mission on Education through ICT, MHRD, Government of India +\item More information on this Mission is available at: \\{\color{blue}\url{http://spoken-tutorial.org/NMEICT-Intro}} +\end{itemize} +\end{frame} + +\begin{frame} + \begin{block}{} + \begin{center} + {\Large THANK YOU!} + \end{center} + \end{block} +\begin{block}{} + \begin{center} + For more Information, visit our website\\ + {\color{blue}\url{http://fossee.in/}} + \end{center} + \end{block} +\end{frame} + +\end{document} diff --git a/Version_Control/vcs1/vcs2col.rst b/Version_Control/vcs1/vcs2col.rst deleted file mode 100644 index 53540ac..0000000 --- a/Version_Control/vcs1/vcs2col.rst +++ /dev/null @@ -1,126 +0,0 @@ -.. Prerequisites -.. ------------- - -.. None - -.. Author : Primal Pappachan - Internal Reviewer : Kiran Isukapatla - Date: May 10 2012 - --------- -Script --------- - - - -+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| {{{ Show the first slide containing title, name of the production team along | Hello friends and welcome to the tutorial on 'Version Control with Hg' | -| with the logo of MHRD}}} | | -+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| {{{Show the slide containing the objectives}}} | At the end of this tutorial you will be able to | -| | | -| | 1. Understand what is Version Control. | -| | | -| | #. Identify the need for using Version Control. | -| | | -| | #. Install Mercurial. | -+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| {{{Show the slide 'what is version control'}}} | First, let's understand what 'Version Control' is. | -| | | -| | 'Version control' is a way to track files over time and share them. | -| | This allows access to earlier versions of a file(s) if and when required. | -| | It therefore enables us to make changes to the content of a file, view it's | -| | change log and collaborate on a single piece of work with a team of people. | -+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| {{{Show the slide 'Home-brewed'}}} | Lets look at an example of home-brewed Version Control system.Version control | -| | is a way of backing up files, before making changes. Most people would have | -| | cooked up their own version control system. But there are more general purpose | -| | tools which can do this task in an organized way. | -+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| {{{Show the slide 'Problems'}}} | Let's look at the various problems associated with this set-up. | -| | | -| | 1. Name and changes made are not related or linked. | -| | | -| | #. Cant track sequence of changes made to a file. | -| | | -| | #. Does not scale. | -+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| {{{Show the slide 'The need for Version Control'}}} | Now, let's move to identifying the needs for a 'Version Control System'. | -| | | -| | We have seen that one of the main motivations to use a Version Control system | -| | is the ability to go back to a working version of a file, when something | -| | goes wrong. Below are a few more advantages of using an automated version | -| | control system. | -| | | -| | 1. By tracking the history of a project, any person may see the evolution | -| | of a project. | -| | | -| | 2. Allows for effective collaboration on a project, as everything is shared. | -| | | -| | 3. Helps to identify which additions have broken down a project and thus | -| | aids in efficient tracking down of the bugs. | -| | | -| | 4. It is good for a one man show as it is for a big group of people working | -| | on a project. | -+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| {{{Show the slide 'How does it work? - Analogy}}} | It is, in some ways, similar to playing a video game. We generally play games | -| | in stages. While playing, we save the game at some instances as per our choice. | -| | We continue playing, but we could, if necessary, choose to go back to one of the | -| | saved states and start over. In this manner, we could change the state of | -| | the game. | -+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| {{{Show the slide 'Mercurial or hg'}}} | mercurial or hg is: | -| | | -| | 1. Easy to learn and use | -| | | -| | #. Lightweight | -| | | -| | #. Scales excellently | -| | | -| | #. Written in Python | -| | | -| | | -| | Some of the Version Control tools available and used widely are: cvs, svn, | -| | git and so on. | -| | | -| | Each of these tools have their own merits and demerits. In this tutorial we | -| | shall learn how to use mercurial or hg. | -+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| {{{Show the slide 'Installation'}}} | Let's now get into Installation | -+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| sudo apt-get install mercurial | Type sudo apt-get install mercurial | -| | | -| | Type hg | -+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| $hg | It will give you the list of basic commands. | -+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| $hg version | and 'hg version' gives the version number of mercurial you are presently using. | -+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| {{{Show the 'summary' slide'}}} | This brings us to the end of the tutorial. In this tutorial, we have | -| | learnt: | -| | | -| | 1. What is Version Control. | -| | | -| | #. Identify the need for using Version Control | -| | | -| | #. Install Mercurial. | -+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| {{{Show self assessment questions slide}}} | Here are some self assessment questions for you to solve | -| | | -| | 1. Is Mercurial a Centralized VCS or Distributed Version Control System? | -| | | -| | #. How can you verify whether Mercurial has been installed properly? | -| | | -| | #. What is the command for accessing built-in help system of Mercurial? | -+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| {{{Show the solutions slide to self assessment questions }}} | And the answers, | -| | | -| | 1. Mercurial is a Distributed Version Control system. | -| | | -| | #. hg version | -| | | -| | #. hg help command | -+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| {{{Show the thank you slide}}} | Hope you have enjoyed this tutorial and found it useful. | -| | Thank you | -+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ diff --git a/Version_Control/vcs1/vcslide1.tex b/Version_Control/vcs1/vcslide1.tex deleted file mode 100644 index 8e6536f..0000000 --- a/Version_Control/vcs1/vcslide1.tex +++ /dev/null @@ -1,212 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Version Control Systems -% -% Author: Primal Pappachan, FOSSEE -% Copyright (c) 2012, FOSSEE, IIT Bombay -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\documentclass[14pt,compress]{beamer} - -\mode<presentation> -{ - \usetheme{Warsaw} - \useoutertheme{infolines} - \setbeamercovered{transparent} -} - -\usepackage[english]{babel} -\usepackage[latin1]{inputenc} -%\usepackage{times} -\usepackage[T1]{fontenc} - -% Taken from Fernando's slides. -\usepackage{ae,aecompl} -\usepackage{mathpazo,courier,euler} -\usepackage[scaled=.95]{helvet} - -\definecolor{darkgreen}{rgb}{0,0.5,0} - -\usepackage{listings} -\lstset{language=bash, - basicstyle=\ttfamily\bfseries, - commentstyle=\color{red}\itshape, - stringstyle=\color{darkgreen}, - showstringspaces=false, - keywordstyle=\color{blue}\bfseries} - -\newcommand{\inctime}[1]{\addtocounter{time}{#1}{\tiny \thetime\ m}} - -\newcommand{\typ}[1]{\lstinline{#1}} - -\newcommand{\kwrd}[1]{ \texttt{\textbf{\color{blue}{#1}}} } - -\setbeamercolor{emphbar}{bg=blue!20, fg=black} -\newcommand{\emphbar}[1] - -\setbeamertemplate{navigation symbols}{} - -\author[Primal Pappachan] {} -\institute[FOSSEE group] {} - -\date[IIT Bombay] {} - -\begin{document} - -\begin{frame} -\begin{center} -\vspace{12pt} -\textcolor{blue}{\huge Version Control with Mercurial} -\end{center} -\vspace{18pt} -\begin{center} -\vspace{10pt} -\includegraphics[scale=0.95]{../images/fossee-logo.png}\\ -\vspace{5pt} -\scriptsize Developed by FOSSEE Team, IIT-Bombay. \\ -\scriptsize Funded by National Mission on Education through ICT\\ -\scriptsize MHRD, Govt. of India.\\ -\includegraphics[scale=0.15]{../images/iitb-logo.jpg}\\ -\end{center} -\end{frame} - -\begin{frame} - \frametitle{Objectives} - At the end of this tutorial, you will be able to: - \begin{itemize} - \item Understand what is Version Control - \item Identify the need for using Version Control - \item Install Mercurial - \end{itemize} -\end{frame} - -%% There are some %$ used just to minimise the effect of $ sign used -%% in lstlisting. In emacs it looks dirty. - -% Introduction to course-need of version control, history, options available. -\section{Introduction} - -\begin{frame} - \frametitle{What is Version Control?} - \begin{block}{} - A way to track changes made to files over time, by keeping copies - of files as we change them. - \end{block} -\end{frame} - -%% Home made version control system? -\begin{frame}[fragile] - \frametitle{Home-brewed} - \begin{center} - An example of a \typ{home-brew} Version Control system - \includegraphics[height=1.8in,width=4.2in]{../images/folder.png} - \end{center} - \begin{lstlisting} -$ ls -a.out id1.txt id2.txt identifier.cpp id.txt lex pda1.cpp pda2.cpp pda.cpp pda.txt string.txt - \end{lstlisting} %%$ - %%a screen-shot of folder with all crazy names. -\end{frame} - -\begin{frame}[fragile] - \frametitle{Problems} - \begin{block}{} - \begin{itemize} - \item Name and changes made are not related or linked. - \item Can't track sequence of changes made to a file. - \item Does not scale. - \end{itemize} - \end{block} -\end{frame} - -\begin{frame}[fragile] - \frametitle{The need for Version Control} - \begin{itemize} - \item \alert{To err is Human} \ldots - \item Tracking the history and evolution of a project - \item To collaborate effectively on a project - \item To efficiently track down bugs and pin-point the changes that - caused it - \end{itemize} -\end{frame} - -%% Introduction to how logs are managed in VCS. -%% A analogy in logs and day-to-day life? -\begin{frame}[fragile] - \frametitle{How does it work? --- Analogy} - It is, in some ways, similar to playing an Video game. - \begin{itemize} - \item We play games in stages - \item Once we finish a stage or a task -- \alert{we SAVE} - \item We continue playing - \item But, if necessary, we could choose from one of the saved - states and start from there - \item We could alter the course of the game - \end{itemize} -\end{frame} - - -\begin{frame} - \frametitle{Mercurial or \typ{hg}} - \begin{center} - \includegraphics[height=.75in,interpolate=true]{../images/mercurial_logo} - \end{center} - \begin{itemize} - \item Easy to learn and use - \item Lightweight - \item Scales excellently - \item Written in Python - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Installation} - \begin{itemize} - \item \typ{sudo apt-get install mercurial} - \item \typ{\$ hg} - \item \typ{\$ hg version} - \end{itemize} -\end{frame} - -\begin{frame}[fragile] -\frametitle{Summary...} -In this tutorial, we have learnt about, -\begin{itemize} -\item What is Version Control -\item The need for using Version Control -\item Installing Mercurial or hg -\end{itemize} -\end{frame} - -\begin{frame}[fragile] -\frametitle{Evaluation} -\begin{enumerate} -\item Is Mercurial a Centralized VCS or Distributed VCS? -\item How can you verify whether Mercurial has been installed properly? -\item What is the command for accessing built-in help system of Mercurial? -\end{enumerate} -\end{frame} - -\begin{frame} -\frametitle{Solutions} -\begin{enumerate} -\item Mercurial is a Distributed Version Control system. -\item hg version -\item hg help command -\end{enumerate} -\end{frame} -\begin{frame} - -\begin{block}{} - \begin{center} - \textcolor{blue}{\Large THANK YOU!} - \end{center} - \end{block} -\begin{block}{} - \begin{center} - For more Information, visit our website\\ - \url{http://fossee.in/} - \end{center} - \end{block} -\end{frame} - -\end{document} diff --git a/Version_Control/vcs2/vcs2.rst b/Version_Control/vcs2/vcs2.rst index 9be4fa3..5e4b9d0 100644 --- a/Version_Control/vcs2/vcs2.rst +++ b/Version_Control/vcs2/vcs2.rst @@ -327,10 +327,10 @@ Here are some self assessment questions for you to solve tag: tip user: Primal Pappachan <primal@fossee.in> date: Sat Jan 26 22:16:53 2012 +0530 - summary: Added Readme - Try to identify each component of this changeset and it’s meaning. In the - changeset, what is the significance of the number as well as hexadecimal - string in the first line? + summary: Added Readme + Try to identify each component of this changeset and it’s meaning. In the + changeset, what is the significance of the number as well as hexadecimal + string in the first line? .. L24 diff --git a/Version_Control/vcs2/vcs2twocol.rst b/Version_Control/vcs2/vcs2twocol.rst index d542d2d..f3c0556 100644 --- a/Version_Control/vcs2/vcs2twocol.rst +++ b/Version_Control/vcs2/vcs2twocol.rst @@ -168,7 +168,7 @@ Spoken Tutorial Script | | user: Primal Pappachan <primal@fossee.in> | | | date: Sat Jan 26 22:16:53 2012 +0530 | | | summary: Added Readme | -| | Try to identify each component of this changeset and it’s meaning. In the | +| | Try to identify each component of this changeset and it’s meaning. In the | | | changeset, what is the significance of the number as well as hexadecimal | | | string in the first line? | +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ |