~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

merge bzr.dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
Revision specifiers
2
 
===================
3
 
 
4
 
Revision specs and ranges
5
 
-------------------------
6
 
 
7
 
``bzr`` has a very expressive way to specify a revision, or a range of revisions.
8
 
We'll take the example of the ``log`` command.
9
 
 
10
 
To specify a range of revisions, use for example::
 
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
 
9
``..`` symbol. For example::
11
10
 
12
11
    $ bzr log -r 1..4
13
12
 
16
15
    $ bzr log -r 1..
17
16
    $ bzr log -r ..4
18
17
 
19
 
Note:
20
 
    Omitting the lower bound doesn't work on versions of ``bzr`` prior to 0.14.
21
 
 
22
 
Other commands, like ``bzr cat`` take only one revision, not a range, like::
 
18
Some commands take only one revision, not a range. For example::
23
19
 
24
20
    $ bzr cat -r 42 foo.c
25
21
 
26
 
Available revision specs
27
 
------------------------
28
 
 
29
 
The revision, or the bounds of the range, can be one of
 
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.
30
33
 
31
34
 +----------------------+------------------------------------+
32
35
 |  argument type       | description                        |
43
46
 +----------------------+------------------------------------+
44
47
 | **date**:*value*     | first entry after a given date     |
45
48
 +----------------------+------------------------------------+
 
49
 | **tag**:*value*      | revision matching a given tag      |
 
50
 +----------------------+------------------------------------+
46
51
 | **ancestor**:*path*  | last merged revision from a branch |
47
52
 +----------------------+------------------------------------+
48
53
 | **branch**:*path*    | latest revision on another branch  |
49
54
 +----------------------+------------------------------------+
 
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
50
63
 
51
64
Numbers
52
65
~~~~~~~
64
77
 
65
78
    $ bzr log -r -10..
66
79
 
67
 
revno, last
68
 
~~~~~~~~~~~
69
 
 
70
 
**revno**:*number*
71
 
    The same as *number*, except that negative numbers are not allowed.
72
 
 
73
 
**last**:*number*
74
 
    The same as -''number''. **last:1** means the last commited revision.
75
 
 
76
80
revid
77
81
~~~~~
78
82
 
83
87
 
84
88
    $ bzr log -r revid:Matthieu.Moy@imag.fr-20051026185030-93c7cad63ee570df
85
89
 
86
 
 
87
90
before
88
91
~~~~~~
89
92