about summary refs log tree commit diff
path: root/usth/ICT2.7/P1L4 Version Control Subtitles/3 - Version Control System Introduction - lang_en_vs5.srt
blob: be0515bbfe46a0cabb3dd62d620d731cf319eb1c (plain) (blame)
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
1
00:00:00,160 --> 00:00:02,080
So first of all, what is a version

2
00:00:02,080 --> 00:00:05,550
control system? A version control system or VCS,

3
00:00:05,550 --> 00:00:07,670
is a system that allows you to manage

4
00:00:07,670 --> 00:00:11,180
multiple revisions of the same unit of information. For

5
00:00:11,180 --> 00:00:14,330
example of documents, of source files or any

6
00:00:14,330 --> 00:00:17,380
other item of that sort. And as the graphical

7
00:00:17,380 --> 00:00:21,240
depiction shows, a VCS allows a multiple actors.

8
00:00:21,240 --> 00:00:25,020
Here we have four, to cooperate and share files.

9
00:00:25,020 --> 00:00:26,980
Now, let's drill into this concept in a little

10
00:00:26,980 --> 00:00:29,720
more detail. And let's do that by discussing why

11
00:00:29,720 --> 00:00:32,870
is VCS useful, especially in the context of software

12
00:00:32,870 --> 00:00:35,790
engineering and of software development. So first of all,

13
00:00:35,790 --> 00:00:39,570
using a version control system enforces discipline, because it

14
00:00:39,570 --> 00:00:43,030
manages the process by which the control of items

15
00:00:43,030 --> 00:00:46,720
passes from one person to another. Another important aspect

16
00:00:46,720 --> 00:00:51,170
of VCS is that it allows you for archiving versions.

17
00:00:51,170 --> 00:00:54,330
So you can store subsequent versions of source controlled

18
00:00:54,330 --> 00:00:57,450
items into a VCS. And not only you can

19
00:00:57,450 --> 00:01:00,450
store versions, you can also maintain a lot of

20
00:01:00,450 --> 00:01:03,480
interesting and important historical information

21
00:01:03,480 --> 00:01:05,810
about these versions. For example,

22
00:01:05,810 --> 00:01:08,070
a VCL will store information such as, who is

23
00:01:08,070 --> 00:01:11,270
the author for this specific version stored in the system.

24
00:01:11,270 --> 00:01:13,820
Or, for another example, on what day and what

25
00:01:13,820 --> 00:01:16,260
time that version was stored. And a lot of other

26
00:01:16,260 --> 00:01:19,240
interesting information about the specific version of the

27
00:01:19,240 --> 00:01:21,600
item. Information that you can then retrieve and for

28
00:01:21,600 --> 00:01:25,040
example, use to compare versions. Obviously, the fact of

29
00:01:25,040 --> 00:01:27,970
having a central repository in which all these items

30
00:01:27,970 --> 00:01:31,350
are stored enables collaboration, so people can more easily

31
00:01:31,350 --> 00:01:35,510
share data, share files, share documents through the use

32
00:01:35,510 --> 00:01:37,950
of VCS. And I'm sure that you all had

33
00:01:37,950 --> 00:01:41,320
the experience of deleting a file by mistake or

34
00:01:41,320 --> 00:01:43,860
modifying a file in the wrong way, or in the

35
00:01:43,860 --> 00:01:47,830
most common case of changing something in your code for instance.

36
00:01:47,830 --> 00:01:50,490
And breaking something and not being able to go back

37
00:01:50,490 --> 00:01:53,630
to a version that was working. Not remembering, for example, what

38
00:01:53,630 --> 00:01:56,130
is that you changed that broke the code. In all

39
00:01:56,130 --> 00:01:59,850
these cases a version control system can be extremely useful because

40
00:01:59,850 --> 00:02:03,330
it will allow you to recover from this accidental deletions

41
00:02:03,330 --> 00:02:06,690
or edits. And for example, to go back of yesterdays version

42
00:02:06,690 --> 00:02:09,949
that was working perfectly, and also to compare, for example, yesterdays

43
00:02:09,949 --> 00:02:12,920
version with today version and see what is that you changed.

44
00:02:12,920 --> 00:02:16,000
Finally, a version control system will normally also allow you to

45
00:02:16,000 --> 00:02:20,460
conserve and save disk space on both the source control client

46
00:02:20,460 --> 00:02:23,880
and on the server. Why? Well, for instance because it's centralizing

47
00:02:23,880 --> 00:02:26,570
the management of the version. So instead of having many copies

48
00:02:26,570 --> 00:02:29,480
spread around, you'll have only one central point where these copies

49
00:02:29,480 --> 00:02:32,240
are stored or a few points where these copies are stored.

50
00:02:32,240 --> 00:02:34,330
In addition, version control system often

51
00:02:34,330 --> 00:02:37,470
uses efficient algorithms to store these changes.

52
00:02:37,470 --> 00:02:41,310
And therefore, you can keep many versions without taking up too much space.