1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
|
.. Prerequisites
.. -------------
.. None
.. Author : Primal Pappachan
Internal Reviewer : Kiran Isukapatla
<<<<<<< HEAD
Date: May 10 , 2012
=======
Date: May 10 2012
>>>>>>> d0c0139c362aa0d04073fbb901ee81b3c47bf158
--------
Script
--------
.. L1
{{{ Show the first slide containing title, name of the production team along
with the logo of MHRD}}}
.. R1
Hello friends and welcome to the tutorial on 'Version Control with Hg'
.. L2
{{{Show the slide containing the objectives}}}
.. R2
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.
.. L3
{{{Show the slide 'what is version control'}}}
.. 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 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'}}}
.. 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.
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.
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
.. L8
{{{Show the slide 'How does it work? - Analogy}}}
.. 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.
.. L9
{{{Show the slide 'Mercurial or hg'}}}
.. R9
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
.. L10
{{{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
Let's now get into Installation
.. L10
{{{Switch to terminal}}}
::
$sudo apt-get install mercurial
.. R10
Type sudo apt-get install mercurial
Type hg
.. L12
::
$hg
.. R12
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'}}}
.. R14
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.
.. L15
{{{Show self assessment questions slide}}}
.. 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 retrive the version of Mercurial installed?
.. L16
{{{Show the solutions slide to self assessment questions }}}
.. R16
And the answers,
1. Mercurial is a Distributed Version Control system.
#. hg version
.. L17
{{{ 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
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
|