~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/en/user-guide/browsing_history.txt

  • Committer: Ian Clatworthy
  • Date: 2007-11-21 07:39:16 UTC
  • mto: (3054.1.1 ianc-integration)
  • mto: This revision was merged to the branch mainline in revision 3055.
  • Revision ID: ian.clatworthy@internode.on.net-20071121073916-qlpp5gvcf0639r38
1st cut at the 'Personal version control' chapter

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Browsing history
 
2
================
 
3
 
 
4
bzr log
 
5
-------
 
6
 
 
7
The ``bzr log`` command shows a list of previous revisions.
 
8
 
 
9
As with ``bzr diff``, ``bzr log`` supports the ``-r`` argument::
 
10
 
 
11
    % bzr log -r 1000..          # Revision 1000 and everything after it
 
12
    % bzr log -r ..1000          # Everything up to and including r1000
 
13
    % bzr log -r 1000..1100      # changes from 1000 to 1100
 
14
    % bzr log -r 1000            # The changes in only revision 1000
 
15
 
 
16
Viewing the mainline
 
17
--------------------
 
18
 
 
19
As distributed VCS tools like Bazaar make merging much easier than
 
20
it is in central VCS tools, the history of a branch may often show
 
21
lines of development splitting off the mainline and merging back
 
22
in at a later time. Technically, the relationship between the
 
23
numerous revision nodes is known as a Directed Acyclic Graph or
 
24
DAG for short.
 
25
 
 
26
In many cases though, you may only be interested in seeing the *mainline*
 
27
for a brach, namely the primary line of development within the DAG.
 
28
To do this, use the following command::
 
29
 
 
30
  bzr log --short
 
31
 
 
32
If you do this commonly, you may even wish to create an alias for it
 
33
as explained in `Using aliases`_.
 
34
 
 
35
Tuning the output
 
36
-----------------
 
37
 
 
38
The ``log`` command has several options that are useful for tuning
 
39
the output. These include:
 
40
 
 
41
 * ``--forward`` presents the log in chronological order, i.e. the
 
42
   most recent revisions are displayed last.
 
43
 
 
44
 * the ``--limit`` option controls the maximum number of revisions displayed.
 
45
 
 
46
See the online help for the log command or the User Reference for more
 
47
information on tuning the output.
 
48
 
 
49
Viewing the history for a file
 
50
------------------------------
 
51
 
 
52
It is often useful to filter the history so that it only
 
53
applies to a given file. To do this, provide the filename
 
54
to the ``log`` command like this::
 
55
 
 
56
  bzr log foo.py
 
57
 
 
58
Viewing an old version of a file
 
59
--------------------------------
 
60
 
 
61
To get the contents of a file at a given version, use the
 
62
``cat`` command like this::
 
63
 
 
64
  bzr cat -r X file
 
65
 
 
66
where ``X`` is the revision identifier and ``file`` is
 
67
the filename. This will send output to the standard output
 
68
stream so you'll typically want to pipe the output through
 
69
a viewing tool (like ``less`` or ``more``) or redirect it
 
70
like this::
 
71
 
 
72
  bzr cat -r -2 foo.py | less
 
73
  bzr car -r 1 foo.py > /tmp/foo-1st-version.py
 
74
 
 
75
Graphical history viewers
 
76
-------------------------
 
77
 
 
78
History browsing is one area where GUI tools really make life easier.
 
79
Bazaar has numerous plug-ins that provide this capability including
 
80
QBzr and bzr-gtk. See `Using plugins`_ for details on how to install
 
81
these if they are not already installed.
 
82
 
 
83
To use the graphical viewer from QBzr::
 
84
 
 
85
  bzr qlog
 
86
 
 
87
To use the graphical viewer from bzr-gtk::
 
88
 
 
89
  bzr viz
 
90
 
 
91
``viz`` is actually a built-in alias for ``visualize`` so use the longer
 
92
command name if you prefer.
 
93