diff options
author | Jovina | 2012-08-03 11:35:54 +0530 |
---|---|---|
committer | Jovina | 2012-08-03 11:35:54 +0530 |
commit | a9c09136b785a5769d7b927c22f416f1964016fe (patch) | |
tree | a4d4b9b7b142bbe5051485d69640e17e2f32b16e /Version_Control/vcs1 | |
parent | 18d8394b05bc6cc52cd1a54a59a22163b5147c34 (diff) | |
parent | f71e9c3a7f4407dcd1ade3858c9a3a07028ce716 (diff) | |
download | sdes-stscripts-a9c09136b785a5769d7b927c22f416f1964016fe.tar.gz sdes-stscripts-a9c09136b785a5769d7b927c22f416f1964016fe.tar.bz2 sdes-stscripts-a9c09136b785a5769d7b927c22f416f1964016fe.zip |
Merge branch 'master' of http://github.com/FOSSEE/sdes-stscripts
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 | 269 | ||||
-rw-r--r-- | Version_Control/vcs1/vcs1_2col.rst | 152 | ||||
-rw-r--r-- | Version_Control/vcs1/vcs1_slide.tex | 270 | ||||
-rw-r--r-- | Version_Control/vcs1/vcslide1.tex | 205 |
6 files changed, 573 insertions, 323 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 306dfda..11a61f5 100644 --- a/Version_Control/vcs1/vcs1.rst +++ b/Version_Control/vcs1/vcs1.rst @@ -1,7 +1,3 @@ ---------------------------------- -Version Control using Hg Part I ---------------------------------- - .. Prerequisites .. ------------- @@ -9,21 +5,20 @@ 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 +-------- .. L1 -{{{ Show the first slide containing title, name of the production team along +{{{ Show the first slide containing title, name of the production team along with the logo of MHRD}}} .. R1 -Hello friends and welcome to the first part of tutorial on 'Version Control -using Hg' +Hello friends and welcome to the tutorial on 'Version Control with Hg' .. L2 @@ -33,214 +28,252 @@ using Hg' 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. -.. R3 +#. Identify the need for using Version Control. -First, let's understand what 'Version Control' is. +#. Install Mercurial. .. L3 {{{Show the slide 'what is version control'}}} -.. R4 - -'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. - -As the quote from the famous blog post 'Version Control for masses' says -"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." +.. R3 -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. +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. + .. L4 {{{Show the slide 'Home-brewed'}}} -.. R5 - -Let's look at an example of home-brewed Version Control system +.. R4 -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. .. L5 +{{{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. - #. Can't track sequence of changes made to a file - #. Does not scale +1. Name and changes made are not related or linked. -.. L6 +#. Can't track sequence of changes made to a file. -{{{Show the slide 'The need for Version Control'}}} +#. Does not scale. -.. R7 - -Having seen the problems of a home brewed setup, let's now move onto -identifying the needs for a 'Version Control System'. +To overcome this problems there are more general purpose tools which can +do this task in an organized way. - 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 .. L7 {{{Show the slide 'The need for Version Control'}}} -.. R8 +.. R7 + +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. +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. This helps to track what changes were made at what point of time, when -and by whom. - #. Allows for effective collaboration on a project, as everything is shared. - #. 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. +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. -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. .. L8 {{{Show the slide 'How does it work? - Analogy}}} -.. R9 +.. 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. -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 +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. .. L9 {{{Show the slide 'Mercurial or hg'}}} -.. R10 +.. R9 -Some of the Version Control tools available and used widely are: +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. -.. R11 +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 -.. L10 +#. Written in Python -sudo apt-get install mercurial +.. L10 -.. R12 +{{{Show the slide 'Installation'}}} -For Windows, +.. R10 -.. L11 +Let's now get into Installation -http://mercurial.selenic.com/downloads/ +.. L10 -http://hgbook.red-bean.com/read/a-tour-of-mercurial-the-basics.html +{{{Switch to terminal}}} +:: + + $sudo apt-get install mercurial -.. R 13 +.. R10 -For any other Operating system, please refer the hg book for installation -instruction - +Type sudo apt-get install mercurial -Type 'hg' which lists out all the commands +Type hg .. L12 +:: -$hg + $hg -.. R14 +.. R12 -and 'hg version' which gives the version number. +It will give you the list of basic commands. .. L13 +:: + + $hg version + +.. R13 -$hg version +and 'hg version' gives the version number of mercurial you are presently using. .. L14 {{{Show the 'summary' slide'}}} -.. R15 +.. R14 This brings us to the end of the tutorial. In this tutorial, we have -seen, - 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 +learnt: + +1. What is Version Control. + +#. Identify the need for using Version Control + +#. Install Mercurial. .. L15 {{{Show self assessment questions slide}}} -.. R16 +.. R15 Here are some self assessment questions for you to solve - 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? +1. Is Mercurial a Centralized VCS or Distributed Version Control System? + +#. How can you retrive the version of Mercurial installed? + .. L16 {{{Show the solutions slide to self assessment questions }}} -.. R17 +.. R16 And the answers, - 1. Mercurial is a Centralized Version Control system. To read more go here, - http://en.wikipedia.org/wiki/Distributed_revision_control - #. $hg version - - #. $hg help command +1. Mercurial is a Distributed Version Control system. +#. hg version .. L17 -{{{Show the thank you slide}}} +{{{ Show the SDES & FOSSEE slide }}} + +.. 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 -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' +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}}} + +.. R21 +Hope you have enjoyed this tutorial and found it useful. Thank you diff --git a/Version_Control/vcs1/vcs1_2col.rst b/Version_Control/vcs1/vcs1_2col.rst new file mode 100644 index 0000000..8e88b2b --- /dev/null +++ b/Version_Control/vcs1/vcs1_2col.rst @@ -0,0 +1,152 @@ +.. 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. | ++----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ +| {{{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. | +| | | +| | 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'}}} | 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'}}} | 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. | +| | | +| | Mercurial or hg is: | +| | | +| | 1. Easy to learn and use | +| | | +| | #. Lightweight | +| | | +| | #. Scales excellently | +| | | +| | #. Written in Python | ++----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ +| {{{Switch to terminal}}} | Type sudo apt-get install mercurial | +| :: | | +| | Type hg | +| $sudo apt-get install mercurial | | ++----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ +| | | ++----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ +| :: | It will give you the list of basic commands. | +| | | +| $hg | | ++----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ +| :: | and 'hg version' gives the version number of mercurial you are presently using. | +| | | +| $hg version | | ++----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ +| {{{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 retrive the version of Mercurial installed? | ++----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ +| {{{Show the solutions slide to self assessment questions }}} | And the answers, | +| | | +| | 1. Mercurial is a Distributed Version Control system. | +| | | +| | #. hg version | ++----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ +| {{{ 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. | +| | | +| | 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 ``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 e2bca9c..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 and intialize a repository - \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 The motivation to use version control -\item An analogy of version control with playing a video game -\item How to check if mercurial is installed, and it's version using hg version -\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} |