~bzr-pqm/bzr/bzr.dev

3104.2.4 by Ian Clatworthy
make it clear the Reference has the details of revision spec formats
1
Specifying revisions
2
====================
3
4
Revision identifiers and ranges
5
-------------------------------
6
7
Bazaar has a very expressive way to specify a revision or a range of revisions.
8
To specify a range of revisions, the upper and lower bounds are separated by the
3104.2.7 by Ian Clatworthy
feedback from poolie
9
``..`` symbol. For example::
1610.2.1 by James Blackwell
Copied in docs for wiki & First round cleanup
10
11
    $ bzr log -r 1..4
12
13
You can omit one bound like::
14
15
    $ bzr log -r 1..
16
    $ bzr log -r ..4
17
3104.2.4 by Ian Clatworthy
make it clear the Reference has the details of revision spec formats
18
Some commands take only one revision, not a range. For example::
1610.2.1 by James Blackwell
Copied in docs for wiki & First round cleanup
19
20
    $ bzr cat -r 42 foo.c
21
3104.2.4 by Ian Clatworthy
make it clear the Reference has the details of revision spec formats
22
In other cases, a range is required but you want the length of the range to
23
be one. For commands where this is relevant, the ``-c`` option is used like this::
24
25
    $ bzr diff -c 42
26
27
28
Available revision identifiers
29
------------------------------
30
31
The revision, or the bounds of the range, can be given using
32
different format specifications as shown below.
1610.2.2 by James Blackwell
Now they look good in rst2html
33
34
 +----------------------+------------------------------------+
35
 |  argument type       | description                        |
36
 +----------------------+------------------------------------+
37
 | *number*             | revision number                    |
38
 +----------------------+------------------------------------+
39
 | **revno**:*number*   | positive revision number           |
40
 +----------------------+------------------------------------+
41
 | **last**:*number*    | negative revision number           |
42
 +----------------------+------------------------------------+
43
 | **revid**:*guid*     | globally unique revision id        |
44
 +----------------------+------------------------------------+
45
 | **before**:*rev*     | leftmost parent of ''rev''         |
46
 +----------------------+------------------------------------+
47
 | **date**:*value*     | first entry after a given date     |
48
 +----------------------+------------------------------------+
3104.2.4 by Ian Clatworthy
make it clear the Reference has the details of revision spec formats
49
 | **tag**:*value*      | revision matching a given tag      |
50
 +----------------------+------------------------------------+
1610.2.2 by James Blackwell
Now they look good in rst2html
51
 | **ancestor**:*path*  | last merged revision from a branch |
52
 +----------------------+------------------------------------+
53
 | **branch**:*path*    | latest revision on another branch  |
54
 +----------------------+------------------------------------+
3104.2.4 by Ian Clatworthy
make it clear the Reference has the details of revision spec formats
55
 | **submit**:*path*    | common ancestor with submit branch |
56
 +----------------------+------------------------------------+
57
58
A brief introduction to some of these formats is given below.
59
For complete details, see `Revision Identifiers`_ in the
60
Bazaar User Reference.
61
62
.. _Revision Identifiers: ../user-reference/bzr_man.html#revision-identifiers
1610.2.1 by James Blackwell
Copied in docs for wiki & First round cleanup
63
64
Numbers
2977.1.1 by Ian Clatworthy
First cut at new look User Guide including chapters 1 and 2
65
~~~~~~~
1610.2.1 by James Blackwell
Copied in docs for wiki & First round cleanup
66
67
Positive numbers denote revision numbers in the current branch. Revision
2293.1.3 by Brad Crittenden
Updated version_info.txt for grammar changes
68
numbers are labelled as "revno" in the output of ``bzr log``.  To display
1610.2.2 by James Blackwell
Now they look good in rst2html
69
the log for the first ten revisions::
1610.2.1 by James Blackwell
Copied in docs for wiki & First round cleanup
70
71
    $ bzr log -r ..10
72
73
Negative numbers count from the latest revision, -1 is the last committed
74
revision.
75
76
To display the log for the last ten revisions::
77
78
    $ bzr log -r -10..
79
80
revid
2977.1.1 by Ian Clatworthy
First cut at new look User Guide including chapters 1 and 2
81
~~~~~
1610.2.1 by James Blackwell
Copied in docs for wiki & First round cleanup
82
2293.1.6 by Brad Crittenden
post review changes
83
**revid** allows specifying a an internal revision ID, as shown by ``bzr
84
log`` and some other commands.
1610.2.1 by James Blackwell
Copied in docs for wiki & First round cleanup
85
86
For example::
87
88
    $ bzr log -r revid:Matthieu.Moy@imag.fr-20051026185030-93c7cad63ee570df
89
90
before
2977.1.1 by Ian Clatworthy
First cut at new look User Guide including chapters 1 and 2
91
~~~~~~
1610.2.1 by James Blackwell
Copied in docs for wiki & First round cleanup
92
1610.2.2 by James Blackwell
Now they look good in rst2html
93
**before**
94
    ''rev'' specifies the leftmost parent of ''rev'', that is the revision
95
    that appears before ''rev'' in the revision history, or the revision that
4011.6.1 by Frank Aspell
Fixed typos.
96
    was current when ''rev'' what committed.
1610.2.1 by James Blackwell
Copied in docs for wiki & First round cleanup
97
2293.1.3 by Brad Crittenden
Updated version_info.txt for grammar changes
98
''rev'' can be any revision specifier and may be chained.
1610.2.1 by James Blackwell
Copied in docs for wiki & First round cleanup
99
100
For example::
101
102
    $ bzr log -r before:before:4
103
    ...
104
    revno: 2
105
    ...
106
107
date
2977.1.1 by Ian Clatworthy
First cut at new look User Guide including chapters 1 and 2
108
~~~~
1610.2.1 by James Blackwell
Copied in docs for wiki & First round cleanup
109
1610.2.2 by James Blackwell
Now they look good in rst2html
110
**date**
111
    ''value'' matches the first history entry after a given date, either at
112
    midnight or at a specified time.
1610.2.1 by James Blackwell
Copied in docs for wiki & First round cleanup
113
114
Legal values are:
115
1610.2.2 by James Blackwell
Now they look good in rst2html
116
 * **yesterday**
117
 * **today**
118
 * **tomorrow**
119
 * A **YYYY-MM-DD** format date.
120
 * A **YYYY-MM-DD,HH:MM:SS** format date/time, seconds are optional (note the
1610.2.1 by James Blackwell
Copied in docs for wiki & First round cleanup
121
   comma)
122
123
The proper way of saying "give me all the log entries for today" is::
124
125
    $ bzr log -r date:yesterday..date:today
126
127
Ancestor
2977.1.1 by Ian Clatworthy
First cut at new look User Guide including chapters 1 and 2
128
~~~~~~~~
1610.2.1 by James Blackwell
Copied in docs for wiki & First round cleanup
129
1610.2.2 by James Blackwell
Now they look good in rst2html
130
**ancestor**:*path*
2293.1.3 by Brad Crittenden
Updated version_info.txt for grammar changes
131
    specifies the common ancestor between the current branch and a 
1610.2.2 by James Blackwell
Now they look good in rst2html
132
    different branch. This is the same ancestor that would be used for
133
    merging purposes.
134
135
*path* may be the URL of a remote branch, or the file path to a local branch.
136
137
For example, to see what changes were made on a branch since it was forked
2293.1.3 by Brad Crittenden
Updated version_info.txt for grammar changes
138
off ``../parent``::
1610.2.2 by James Blackwell
Now they look good in rst2html
139
140
    $ bzr diff -r ancestor:../parent
1610.2.1 by James Blackwell
Copied in docs for wiki & First round cleanup
141
142
Branch
2977.1.1 by Ian Clatworthy
First cut at new look User Guide including chapters 1 and 2
143
~~~~~~
1610.2.1 by James Blackwell
Copied in docs for wiki & First round cleanup
144
1610.2.2 by James Blackwell
Now they look good in rst2html
145
branch
2293.1.3 by Brad Crittenden
Updated version_info.txt for grammar changes
146
   ``path`` specifies the latest revision in another branch.
1610.2.1 by James Blackwell
Copied in docs for wiki & First round cleanup
147
2293.1.3 by Brad Crittenden
Updated version_info.txt for grammar changes
148
``path`` may be the URL of a remote branch, or the file path to a local branch.
1610.2.1 by James Blackwell
Copied in docs for wiki & First round cleanup
149
1610.2.2 by James Blackwell
Now they look good in rst2html
150
For example, to get the differences between this and another branch::
151
152
    $ bzr diff -r branch:http://example.com/bzr/foo.dev
153