diff options
Diffstat (limited to 'Version_Control/vcs1')
-rw-r--r-- | Version_Control/vcs1/folder.png | bin | 0 -> 45829 bytes | |||
-rw-r--r-- | Version_Control/vcs1/mercurial_logo.png | bin | 0 -> 6684 bytes | |||
-rw-r--r-- | Version_Control/vcs1/vcs1.rst | 199 | ||||
-rw-r--r-- | Version_Control/vcs1/vcs1_2col.rst (renamed from Version_Control/vcs1/vcs1_rec.rst) | 195 | ||||
-rw-r--r-- | Version_Control/vcs1/vcs1_slide.tex | 270 | ||||
-rw-r--r-- | Version_Control/vcs1/vcslide1.tex | 205 |
6 files changed, 535 insertions, 334 deletions
diff --git a/Version_Control/vcs1/folder.png b/Version_Control/vcs1/folder.png Binary files differnew file mode 100644 index 0000000..42d01a2 --- /dev/null +++ b/Version_Control/vcs1/folder.png diff --git a/Version_Control/vcs1/mercurial_logo.png b/Version_Control/vcs1/mercurial_logo.png Binary files differnew file mode 100644 index 0000000..4cd736e --- /dev/null +++ b/Version_Control/vcs1/mercurial_logo.png diff --git a/Version_Control/vcs1/vcs1.rst b/Version_Control/vcs1/vcs1.rst index 4442553..ff99b18 100644 --- a/Version_Control/vcs1/vcs1.rst +++ b/Version_Control/vcs1/vcs1.rst @@ -5,7 +5,11 @@ .. Author : Primal Pappachan Internal Reviewer : Kiran Isukapatla +<<<<<<< HEAD Date: May 10 , 2012 +======= + Date: May 10 2012 +>>>>>>> d0c0139c362aa0d04073fbb901ee81b3c47bf158 -------- Script @@ -16,7 +20,7 @@ Script {{{ Show the first slide containing title, name of the production team along with the logo of MHRD}}} -i.. R1 +.. R1 Hello friends and welcome to the tutorial on 'Version Control with Hg' @@ -41,46 +45,84 @@ At the end of this tutorial you will be able to .. R3 +<<<<<<< HEAD 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. - +======= +First, let's understand what 'Version Control' is. +>>>>>>> d0c0139c362aa0d04073fbb901ee81b3c47bf158 + +'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. + .. L4 {{{Show the slide 'Home-brewed'}}} .. R4 +<<<<<<< HEAD Let's 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, without realizing, there were tools built by others, that performs the task in a more organized and systematic way. +======= +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. +>>>>>>> d0c0139c362aa0d04073fbb901ee81b3c47bf158 .. 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. +<<<<<<< HEAD #. Can’t track sequence of changes made to a file. #. Does not scale. .. L6 +======= + +#. 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. + + +.. L7 +>>>>>>> d0c0139c362aa0d04073fbb901ee81b3c47bf158 {{{Show the slide 'The need for Version Control'}}} -.. R6 +.. R7 Now, let's move to identifying the needs for a 'Version Control System'. +<<<<<<< HEAD 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. @@ -88,35 +130,64 @@ 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. +======= +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. -#. Allows for effective collaboration on a project, as everything is shared. +1. By tracking the history of a project, any person may see the evolution +of a project. +>>>>>>> d0c0139c362aa0d04073fbb901ee81b3c47bf158 +2. Allows for effective collaboration on a project, as everything is shared. + +<<<<<<< HEAD #. Helps to identify which additions have broken down a project and thus aids in efficient tracking down of the bugs. #. It is good for a one man show as it is for a big group of people working on a project. +======= +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. +>>>>>>> d0c0139c362aa0d04073fbb901ee81b3c47bf158 -.. 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 +<<<<<<< HEAD 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 +======= +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 +>>>>>>> d0c0139c362aa0d04073fbb901ee81b3c47bf158 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 @@ -126,35 +197,55 @@ mercurial or hg is: #. Written in Python -Some of the Version Control tools available and used widely are: +.. L10 -cvs, svn, git and so on. +{{{Show the slide 'Installation'}}} +<<<<<<< HEAD Each of these tools have their own merits and demerits. In this tutorial we shall learn how to use mercurial or hg. +======= +.. R10 +>>>>>>> d0c0139c362aa0d04073fbb901ee81b3c47bf158 -.. L9 +Let's now get into Installation -{{{Show the slide 'Installation'}}} +.. L10 -.. R9 +{{{Switch to terminal}}} +:: + + $sudo apt-get install mercurial -Let's now get into Installation +.. R10 -sudo apt-get install mercurial +Type sudo apt-get install mercurial -$hg +Type hg -and 'hg version' which gives the version number. +.. L12 +:: -$hg version + $hg +.. R12 -.. L10 +It will give you the list of basic commands. + +.. L13 +:: + + $hg version + +.. R13 + +and 'hg version' gives the version number of mercurial you are presently using. + +.. L14 {{{Show the 'summary' slide'}}} -.. R10 +.. R14 This brings us to the end of the tutorial. In this tutorial, we have learnt: @@ -165,28 +256,24 @@ learnt: #. Install Mercurial. -.. L11 +.. L15 {{{Show self assessment questions slide}}} -.. R11 +.. R15 Here are some self assessment questions for you to solve -1. Is Mercurial a Centralized VCS or Distributed -VCS? Justify your reasoning. +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? -.. L12 +.. L16 {{{Show the solutions slide to self assessment questions }}} -.. R12 +.. R16 And the answers, @@ -194,14 +281,56 @@ And the answers, #. hg version -#. hg help command +.. L17 +{{{ Show the SDES & FOSSEE slide }}} -.. L13 +.. 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}}} -.. R13 +.. R21 Hope you have enjoyed this tutorial and found it useful. Thank you diff --git a/Version_Control/vcs1/vcs1_rec.rst b/Version_Control/vcs1/vcs1_2col.rst index 01e264e..8e88b2b 100644 --- a/Version_Control/vcs1/vcs1_rec.rst +++ b/Version_Control/vcs1/vcs1_2col.rst @@ -1,7 +1,3 @@ ---------------------------------- -Version Control using Hg Part I ---------------------------------- - .. Prerequisites .. ------------- @@ -9,137 +5,148 @@ Version Control using Hg Part I .. Author : Primal Pappachan Internal Reviewer : Kiran Isukapatla - Date: Jan 27, 2012 + Date: May 10 2012 ----------------------- -Spoken Tutorial Script ----------------------- +-------- +Script +-------- +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| *{{{ Show the first slide containing title, name of the production team along | Hello friends and welcome to the first part of tutorial on 'Version Control | -| with the logo of MHRD}}}* | using Hg' | +| {{{ 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 | +| {{{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 and intialize a repository | +| | 1. Understand what is Version Control. | | | | +| | #. Identify the need for using Version Control. | | | | -| | First, let's understand what 'Version Control' is. | +| | #. Install Mercurial. | +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| *{{{Show the slide 'what is version control'}}*} | '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 'what is version control'}}} | First, let's understand what 'Version Control' is. | | | | -| | As the quote from the famous blog post 'Version Control for masses' says | +| | '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. | ++----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ +| {{{Show the next slide 'Home-brewed'}}} | 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. | ++----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ +| {{{Show the slide 'Problems'}}} | Let's look at the various problems associated with this set-up. | | | | -| | "Version control is one of those weird, geeky things that never really gained | -| | much ground in non-geek fields, despite the fact that it’s blindingly useful." | +| | 1. Name and changes made are not related or linked. | | | | -| | Over the course of these 3 spoken tutorials, we are going to see a handful of | -| | such things, which are widely used in the programmer world, but not so much in | -| | the scientific computing world, even when if they would be very useful. | -+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| *{{{Show the slide 'Home-brewed'}}}* | Let's look at an example of home-brewed Version Control system | +| | #. Can't track sequence of changes made to a file. | | | | -| | Version control is a way of backing up files, before making changes. Most | -| | people would have cooked up their own version control system, without | -| | realizing, there were tools built by others, that performs the task in a more | -| | organized and systematic way. | -+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| *{{{Show the slide 'Problems'}}}* | Let's look at the various problems associated with this set-up. | +| | #. Does not scale. | | | | -| | 1. Name and changes made are not related or linked. | -| | #. 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. | +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| *{{{Show the slide 'The need for Version Control'}}}* | Having seen the problems of a home brewed setup, let's now move onto | -| | identifying the needs for a 'Version Control System'. | +| {{{Show the slide 'The need for Version Control'}}} | Now, let's move to identifying the needs for a 'Version Control System'. | | | | -| | 1. To err is Human . . . | -| | #. Tracking the history and evolution of a project | -| | #. To collaborate effectively on a project | -| | #. To efficiently track down bugs and pin-point the | -| | #. changes that caused it | -+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| *{{{Show the slide 'The need for Version Control'}}}* | 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. | +| | 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. | | | | -| | 1. By tracking the history of a project, any person may see the evolution of a p | | | 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 | -| | 4. It is good for a one man show as it is for a big group of people working on a | | | | -| | Keeping your stuff version controlled will help avoid accidental deletion of | -| | individual files etc. Hosting it on a remote server will protect your sanity | -| | from a hard disk crash. | +| | 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 | +| {{{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 course of | +| | 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'}}}* | Some of the Version Control tools available and used widely are: | +| {{{Show the slide 'Mercurial or hg'}}} | Some of the Version Control tools available and used widely are: cvs, svn, | +| | git and so on. | | | | -| | 1. cvs(Concurrent Version Systems) | -| | #. svn(subversion) | -| | #. hg(mercurial) | -| | #. git | +| | 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: | | | | -| | Each of these tools have their own merits and demerits. In this tutorial we | -| | shall learn how to use mercurial or hg which is easy to learn and use and | -| | comparatively light weight. Once you learn how to use hg, you can easily try | -| | other tools and switch to one that you feel most comfortable with. | +| | 1. Easy to learn and use | +| | | +| | #. Lightweight | | | | -| | Let's now get into Installation. For Linux distributions, Ubuntu and Debian | -| | type the following in command line terminal | +| | #. Scales excellently | +| | | +| | #. Written in Python | +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| ``sudo apt-get install mercurial`` | For Windows, | +| {{{Switch to terminal}}} | Type sudo apt-get install mercurial | +| :: | | +| | Type hg | +| $sudo apt-get install mercurial | | +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| ``http://mercurial.selenic.com/downloads/`` | | -| | | -| ``http://hgbook.red-bean.com/read/a-tour-of-mercurial-the-basics.html`` | | | | | -| .. R 11 | | ++----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ +| :: | It will give you the list of basic commands. | | | | -| For any other Operating system, please refer the hg book for installation | | -| instruction - | | +| $hg | | ++----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ +| :: | and 'hg version' gives the version number of mercurial you are presently using. | | | | -| Type 'hg' which lists out all the commands | | +| $hg version | | +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| ``$hg`` | and 'hg version' which gives the version number. | +| {{{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. | +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| ``$hg version`` | This brings us to the end of the tutorial. In this tutorial, we have | -| | seen, | +| {{{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? | | | | -| *{{{Show the 'summary' slide'}}}* | 1. the motivation to use version control | -| | #. an analogy of version control with playing a video game | -| | #. how to check if mercurial is installed, and it's version using hg version | +| | #. How can you retrive the version of Mercurial installed? | +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| *{{{Show self assessment questions slide}}}* | Here are some self assessment questions for you to solve | +| {{{Show the solutions slide to self assessment questions }}} | And the answers, | +| | | +| | 1. Mercurial is a Distributed Version Control system. | | | | -| | 1. Is Mercurial a Centralized VCS or Distributed VCS? Justify your reasoning. | -| | #. How can you verify whether Mercurial has been installed properly? | -| | #. What is the command for accessing built-in help system of Mercurial? | +| | #. hg version | +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| *{{{Show the solutions slide to self assessment questions }}}* | And the answers, | +| {{{ Show the SDES & FOSSEE slide }}} | Software Development techniques for Engineers and Scientists - SDES, is an | +| | initiative by FOSSEE. For more information, please visit the given link. | | | | -| | 1. Mercurial is a Centralized Version Control system. To read more go here, htt | -| | #. $hg version | -| | #. $hg help command | +| | 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. | +----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| *{{{Show the thank you slide}}}* | Hope you have enjoyed this tutorial and found it useful. Feel free to play | -| | around with Mercurial and read the documentation given by hg help command. When | -| | you are ready to move on, please proceed to the second tutorial on 'Version | -| | Control using Hg' | +| {{{ Show the ``About the Spoken Tutorial Project'' slide }}} | 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. | ++----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ +| {{{ Show the `` Spoken Tutorial Workshops'' slide }}} | 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 | ++----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ +| {{{ Show the ``Acknowledgements'' slide }}} | 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. | ++----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ +| {{{Show the thank you slide}}} | 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/vcslide1.tex b/Version_Control/vcs1/vcslide1.tex deleted file mode 100644 index 1a5d262..0000000 --- a/Version_Control/vcs1/vcslide1.tex +++ /dev/null @@ -1,205 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Version Control Systems -% -% Author: 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] - -\begin{document} - -\begin{frame} -\begin{center} -\vspace{12pt} -\textcolor{blue}{\huge Version Control with Hg} -\end{center} -\vspace{18pt} -\begin{center} -\vspace{10pt} -\includegraphics[scale=0.95]{../images/fossee-logo.png}\\ -\vspace{5pt} -\scriptsize Developed by FOSSEE Team, IIT-Bombay. \\ -\scriptsize Funded by National Mission on Education through ICT\\ -\scriptsize MHRD,Govt. of India\\ -\includegraphics[scale=0.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 TortoiseHg - \item \typ{\$ hg} - \item \typ{\$ hg version} - \end{itemize} -\end{frame} - -\begin{frame}[fragile] -\frametitle{Summary...} -\begin{itemize} -\item Understand what is Version Control -\item Identify the need for using Version Control -\item Install Mercurial or hg -\end{itemize} -\end{frame} - -\begin{frame}[fragile] -\frametitle{Evaluation} -\begin{enumerate} -\item Is Mercurial a Centralized VCS or Distributed VCS? Justify your reasoning. -\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} |