summaryrefslogtreecommitdiff
path: root/doc/en/user-guide/introducing_bazaar.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/en/user-guide/introducing_bazaar.txt')
-rw-r--r--doc/en/user-guide/introducing_bazaar.txt142
1 files changed, 142 insertions, 0 deletions
diff --git a/doc/en/user-guide/introducing_bazaar.txt b/doc/en/user-guide/introducing_bazaar.txt
new file mode 100644
index 0000000..e9be239
--- /dev/null
+++ b/doc/en/user-guide/introducing_bazaar.txt
@@ -0,0 +1,142 @@
+Introducing Bazaar
+==================
+
+What is Bazaar?
+---------------
+
+Bazaar is a tool for helping people collaborate. It tracks the changes
+that you and other people make to a group of files - such as software
+source code - to give you snapshots of each stage of their evolution.
+Using that information, Bazaar can effortlessly merge your work with
+other people's.
+
+Tools like Bazaar are called version control systems (VCS) and have
+long been popular with software developers. Bazaar's ease of use,
+flexibility and simple setup make it ideal not only for software
+developers but also for other groups who work together on files and
+documents, such as technical writers, web designers and translators.
+
+This guide takes you through installing Bazaar and how to use it,
+whether on your own or with a team of other people. If you're already
+familiar with distributed version control and want to dive straight in,
+you may wish to skim this section and jump straight to
+`Learning more`_.
+
+A brief history of version control systems
+------------------------------------------
+
+Version control tools have been evolving for several decades now. In
+simple terms, there have been 4 generations of tools:
+
+ 1. file versioning tools, e.g. SCCS, RCS
+ 2. tree versioning tools - central style, e.g. CVS
+ 3. tree versioning tools - central style, take two, e.g. Subversion
+ 4. tree versioning tools - distributed style, e.g. Bazaar.
+
+The design and implementation of Bazaar builds on the lessons learned
+from all the previous generations of tools. In particular, Bazaar
+cleanly supports both the central and the distributed version
+control models so you can change models as it makes sense, without
+needing to change tools.
+
+Central vs distributed VCS
+--------------------------
+
+Many traditional VCS tools require a central server which provides the
+change history or *repository* for a tree of files. To work on the files,
+users need to connect to the server and *checkout* the files. This gives
+them a directory or *working tree* in which a person can make changes.
+To record or *commit* these changes, the user needs access to the central
+server and they need to ensure they have merged their work with the latest
+version stored before trying to commit. This approach is known as the
+centralized model.
+
+The centralized model has proven useful over time but it can have some notable
+drawbacks. Firstly, a centralized VCS requires that one is able to connect
+to the server whenever one wants to do version control work. Secondly, the
+centralized model tightly links the act of **snapshotting** changes with the act
+of **publishing** those changes. This can be good in some circumstances but
+it has a negative influence on quality in others.
+
+Distributed VCS tools let users and teams have multiple repositories
+rather than just a single central one. In Bazaar's case, the history is
+normally kept in the same place as the code that is being version controlled.
+This allows the user to commit their changes whenever it makes sense, even
+when offline. Network access is only required when publishing changes or
+when accessing changes in another location.
+
+In fact, using distributed VCS tools wisely can have advantages well
+beyond the obvious one of disconnected operations for developers.
+Other advantages include:
+
+ * easier for developers to create experimental branches
+ * easier ad-hoc collaboration with peers
+ * less time required on mechanical tasks - more time for creativity
+
+ * increased release management flexibility through the use of
+ "feature-wide" commits
+
+ * trunk quality and stability can be kept higher, making everyone's
+ job less stressful
+
+ * in open communities:
+
+ * easier for non-core developers to create and maintain changes
+
+ * easier for core developers to work with non-core developers and
+ move them into the core
+
+ * in companies, easier to work with distributed and outsourced teams.
+
+For a detailed look at the advantages of distributed VCS tools over
+centralized VCS tools, see http://wiki.bazaar.canonical.com/BzrWhy.
+
+
+Key features of Bazaar
+----------------------
+
+While Bazaar is not the only distributed VCS tool around, it does have some
+notable features that make it an excellent choice for many teams and
+communities. A summary of these and comparisons with other VCS tools
+can be found on the Bazaar Wiki, http://wiki.bazaar.canonical.com.
+
+Of the many features, one in particular is worth highlighting:
+Bazaar is completely free software written in Python. As a result,
+it is easy to contribute improvements. If you wish to get involved,
+please see http://wiki.bazaar.canonical.com/BzrSupport.
+
+
+Learning more
+-------------
+
+This manual provides an easy to read introduction to Bazaar and how to use
+it effectively. It is recommended that all users read at least the rest of
+this chapter as it:
+
+ * explains the core concepts users need to know
+ * introduces some popular ways of using Bazaar to collaborate.
+
+Chapters 2-6 provide a closer look at how to use Bazaar to complete
+various tasks. It is recommended that most users read these in first-to-last
+order shortly after starting to use Bazaar. Chapter 7 and beyond provide
+additional information that helps you make the most of Bazaar once the core
+functionality is understood. This material can be read when required and in
+any order.
+
+If you are already familiar with other version control tools,
+you may wish to get started quickly by reading the following documents:
+
+ * `Bazaar in five minutes`_ - a mini-tutorial
+
+ * `Bazaar Quick Start Card`_ - a one page summary of commonly used commands.
+
+In addition, the online help and `Bazaar User Reference`_ provide all the
+details on the commands and options available.
+
+.. _Bazaar in five minutes: ../mini-tutorial/index.html
+.. _Bazaar Quick Start Card: ../quick-reference/index.html
+.. _Bazaar User Reference: ../user-reference/index.html
+
+We hope you find this manual useful. If you have suggestions on how it
+or the rest of Bazaar's documentation can be improved, please contact
+us on the mailing list, bazaar@lists.canonical.com.