149
149
import bzrlib.revisionspec
152
out.append("Revision Identifiers\n")
153
out.append("A revision, or a range bound, can be one of the following.\n")
153
"""Revision Identifiers
155
A revision identifier refers to a specific state of a branch's history. It can
156
be a revision number, or a keyword followed by ':' and often other
157
parameters. Some examples of identifiers are '3', 'last:1', 'before:yesterday'
160
If 'REV1' and 'REV2' are revision identifiers, then 'REV1..REV2' denotes a
161
revision range. Examples: '3647..3649', 'date:yesterday..-1' and
162
'branch:/path/to/branch1/..branch:/branch2' (note that there are no quotes or
163
spaces around the '..').
165
Ranges are interpreted differently by different commands. To the "log" command,
166
a range is a sequence of log messages, but to the "diff" command, the range
167
denotes a change between revisions (and not a sequence of changes). In
168
addition, "log" considers a closed range whereas "diff" and "merge" consider it
169
to be open-ended, that is, they include one end but not the other. For example:
170
"bzr log -r 3647..3649" shows the messages of revisions 3647, 3648 and 3649,
171
while "bzr diff -r 3647..3649" includes the changes done in revisions 3647 and
174
The keywords used as revision selection methods are the following:
155
details.append("\nFurther details are given below.\n")
177
details.append("\nIn addition, plugins can provide other keywords.")
178
details.append("\nA detailed description of each keyword is given below.\n")
157
180
# The help text is indented 4 spaces - this re cleans that up below
158
181
indent_re = re.compile(r'^ ', re.MULTILINE)