18
If you are already familiar with decentralized revision control, then
18
If you are already familiar with decentralized version control, then
19
19
please feel free to skip ahead to "Introducing Yourself to Bazaar". If,
20
on the other hand, you are familiar with revision control but not
21
decentralized revision control, then please start at "How DRCS is
20
on the other hand, you are familiar with version control but not
21
decentralized version control, then please start at "How DVCS is
22
22
different." Otherwise, get some coffee or tea, get comfortable and get
25
The purpose of revision control
26
===============================
25
The purpose of version control
26
==============================
28
28
Odds are that you have worked on some sort of textual data -- the sources
29
29
to a program, web sites or the config files that Unix system
34
34
important information that you would desperately like to get back. If this
35
35
has ever happened to you, then you are probably ready for Bazaar.
37
Revision control systems (which I'll henceforth call RCS) such as
37
Version control systems (which I'll henceforth call VCS) such as
38
38
Bazaar give you the ability to track changes for a directory by turning
39
39
it into something slightly more complicated than a directory that we call
40
40
a **branch**. The branch not only stores how the directory looks right
42
42
do something you wish you hadn't, you can restore the directory to the way
43
43
it looked at some point in the past.
45
Revision control systems give users the ability to save changes to a
45
Version control systems give users the ability to save changes to a
46
46
branch by "committing a **revision**". The revision created is essentially
47
47
a summary of the changes that were made since the last time the tree was
55
55
We keep these logs so that if later there is some sort of problem with
56
56
sftp, we can figure out when the problem probably happened.
59
59
=====================
61
Many Revision Control Systems (RCS) are stored on servers. If one wants to
62
work on the code stored within an RCS, then one needs to connect to the
61
Many Version Control Systems (VCS) are stored on servers. If one wants to
62
work on the code stored within a VCS, then one needs to connect to the
63
63
server and "checkout" the code. Doing so gives one a directory in which a
64
person can make changes and then commit. The RCS client then connects to
65
the RCS server and stores the changes. This method is known as the
64
person can make changes and then commit. The VCS client then connects to
65
the VCS server and stores the changes. This method is known as the
68
The centralized model can have some drawbacks. A centralized RCS requires
68
The centralized model can have some drawbacks. A centralized VCS requires
69
69
that one is able to connect to the server whenever one wants to do version
70
70
control work. This can be a bit of a problem if your server is on some other
71
71
machine on the internet and you are not. Or, worse yet, you **are** on the
72
72
internet but the server is missing!
74
Decentralized Revision Control Systems (which I'll call DRCS after this
74
Decentralized Version Control Systems (which I'll call DVCS after this
75
75
point) deal with this problem by keeping branches on the same machine as
76
76
the client. In Bazaar's case, the branch is kept in the same place as
77
77
the code that is being version controlled. This allows the user to save
87
87
as Bazaar. These tools automate the process of storing data by creating
88
88
a **revision** of the directory tree whenever the user asks.
90
Revision control software such as Bazaar can do much more than just
90
Version control software such as Bazaar can do much more than just
91
91
storage and performing undo. For example, with Bazaar a developer can
92
92
take the modifications in one branch of software and apply them to a
93
93
related branch -- even if those changes exist in a branch owned by