5
* Tests updates to ensure proper URL handling, UNICODE support, and
6
proper printing when the user's terminal encoding cannot display
7
the path of a file that has been versioned.
8
``bzr branch`` can take a target URL rather than only a local directory.
9
Branch.get_parent()/set_parent() now save a relative path if possible,
10
and normalize the parent based on root, allowing access across
11
different transports. (John Arbash Meinel, Wouter van Heyst, Martin Pool)
12
(Malone #48906, #42699, #40675, #5281, #3980, #36363, #43689,
15
* On Unix, detect terminal width using an ioctl not just $COLUMNS.
16
Use terminal width for single-line logs from ``bzr log --line`` and
17
pending-merge display. (Robert Widhopf-Fenk, Gustavo Niemeyer)
20
* On Windows, detect terminal width using GetConsoleScreenBufferInfo.
23
* Speedup improvement for 'date:'-revision search. (Guillaume Pinot).
25
* Show the correct number of revisions pushed when pushing a new branch.
28
* 'bzr selftest' now shows a progress bar with the number of tests, and
29
progress made. 'make check' shows tests in -v mode, to be more useful
30
for the PQM status window. (Robert Collins).
32
* 'bzr selftest --benchmark' will run a new benchmarking selftest.
33
'bzr selftest --benchmark --lsprof-timed' will use lsprofile to generate
34
profile data for the individual profiled calls, allowing for fine
35
grained analysis of performance.
36
(Robert Collins, Martin Pool).
38
* 'bzr commit' shows a progress bar. This is useful for commits over sftp
39
where commit can take an appreciable time. (Robert Collins)
41
* 'bzr add' is now less verbose in telling you what ignore globs were
42
matched by files being ignored. Instead it just tells you how many
43
were ignored (because you might reasonably be expecting none to be
44
ignored). 'bzr add -v' is unchanged and will report every ignored
45
file. (Robert Collins).
47
* ftp now has a test server if medusa is installed. As part of testing,
48
ftp support has been improved, including support for supplying a
49
non-standard port. (John Arbash Meinel).
51
* 'bzr log --line' shows the revision number, and uses only the
52
first line of the log message (#5162, Alexander Belchenko;
58
* Fix shadowed definition of TestLocationConfig that caused some
59
tests not to run. (#32587, Erik Bågfors, Michael Ellerman,
62
* Fix unnecessary requirement of sign-my-commits that it be run from
63
a working directory. (Martin Pool, Robert Collins)
67
* Combine the ignore rules into a single regex rather than looping over
68
them to reduce the threshold where N^2 behaviour occurs in operations
69
like status. (Jan Hudec, Robert Collins).
71
* 'bzr push' should only push the ancestry of the current revision, not
72
all of the history in the repository. This is especially important for
73
shared repositories. (John Arbash Meinel)
75
* bzrlib.delta.compare_trees now iterates in alphabetically sorted order,
76
rather than randomly walking the inventories. (John Arbash Meinel)
78
* Split ``check`` into separate methods on the branch and on the repository,
79
so that it can be specialized in ways that are useful or efficient for
80
different formats. (Martin Pool, Robert Collins)
82
* Deprecate Repository.all_revision_ids; most methods don't really need
83
the global revision graph but only that part leading up to a particular
84
revision. (Martin Pool, Robert Collins)
90
* setup.py failed to install launchpad plugin. (Martin Pool)
96
* Fix failure to commit a merge in a checkout. (Martin Pool,
97
Robert Collins, Erik Bågfors, #43959)
99
* Nicer messages from 'commit' in the case of renames, and correct
100
messages when a merge has occured. (Robert Collins, Martin Pool)
102
* Separate functionality from assert statements as they are skipped in
103
optimized mode of python. Add the same check to pending merges.
104
(#44443, Olaf Conradi)
108
* Do not show the None revision in output of bzr ancestry. (Olaf Conradi)
110
* Add info on standalone branches without a working tree.
111
(#44155, Olaf Conradi)
113
* Fix bug in knits when raising InvalidRevisionId. (#44284, Olaf Conradi)
117
* Make editor invocation comply with Debian Policy. First check
118
environment variables VISUAL and EDITOR, then try editor from
119
alternatives system. If that all fails, fall back to the pre-defined
120
list of editors. (#42904, Olaf Conradi)
124
* New 'register-branch' command registers a public branch into
125
Launchpad.net, where it can be associated with bugs, etc.
126
(Martin Pool, Bjorn Tillenius, Robert Collins)
130
* New public api in InventoryEntry - 'describe_change(old, new)' which
131
provides a human description of the changes between two old and
132
new. (Robert Collins, Martin Pool)
136
* Fix test case for bzr info in upgrading a standalone branch to metadir,
137
uses bzrlib api now. (Olaf Conradi)
141
NOTES WHEN UPGRADING:
143
Release 0.8 of bzr introduces a new format for history storage, called
144
'knit', as an evolution of to the 'weave' format used in 0.7. Local
145
and remote operations are faster using knits than weaves. Several
146
operations including 'init', 'init-repo', and 'upgrade' take a
147
--format option that controls this. Branching from an existing branch
148
will keep the same format.
150
It is possible to merge, pull and push between branches of different
151
formats but this is slower than moving data between homogenous
152
branches. It is therefore recommended (but not required) that you
153
upgrade all branches for a project at the same time. Information on
154
formats is shown by 'bzr info'.
156
bzr 0.8 now allows creation of 'repositories', which hold the history
157
of files and revisions for several branches. Previously bzr kept all
158
the history for a branch within the .bzr directory at the root of the
159
branch, and this is still the default. To create a repository, use
160
the new 'bzr init-repo' command. Branches exist as directories under
161
the repository and contain just a small amount of information
162
indicating the current revision of the branch.
164
bzr 0.8 also supports 'checkouts', which are similar to in cvs and
165
subversion. Checkouts are associated with a branch (optionally in a
166
repository), which contains all the historical information. The
167
result is that a checkout can be deleted without losing any
168
already-committed revisions. A new 'update' command is also available.
170
Repositories and checkouts are not supported with the 0.7 storage
171
format. To use them you must upgrad to either knits, or to the
172
'metaweave' format, which uses weaves but changes the .bzr directory
178
* Sftp paths can now be relative, or local, according to the lftp
179
convention. Paths now take the form:
180
sftp://user:pass@host:port/~/relative/path
182
sftp://user:pass@host:port/absolute/path
184
* The FTP transport now tries to reconnect after a temporary
185
failure. ftp put is made atomic. (Matthieu Moy)
187
* The FTP transport now maintains a pool of connections, and
188
reuses them to avoid multiple connections to the same host (like
189
sftp did). (Daniel Silverstone)
191
* The bzr_man.py file has been removed. To create the man page now,
192
use ./generate_docs.py man. The new program can also create other files.
193
Run "python generate_docs.py --help" for usage information. (Hans
194
Ulrich Niedermann & James Blackwell).
196
* Man Page now gives full help (James Blackwell). Help also updated to
197
reflect user config now being stored in .bazaar (Hans Ulrich
200
* It's now possible to set aliases in bazaar.conf (Erik Bågfors)
202
* Pull now accepts a --revision argument (Erik Bågfors)
204
* 'bzr re-sign' now allows multiple revisions to be supplied on the command
205
line. You can now use the following command to sign all of your old commits.
206
find .bzr/revision-store// -name my@email-* \
207
| sed 's/.*\/\/..\///' \
210
* Upgrade can now upgrade over the network. (Robert Collins)
212
* Two new commands 'bzr checkout' and 'bzr update' allow for CVS/SVN-alike
213
behaviour. By default they will cache history in the checkout, but
214
with --lightweight almost all data is kept in the master branch.
217
* 'revert' unversions newly-versioned files, instead of deleting them.
219
* 'merge' is more robust. Conflict messages have changed.
221
* 'merge' and 'revert' no longer clobber existing files that end in '~' or
224
* Default log format can be set in configuration and plugins can register
225
their own formatters. (Erik Bågfors)
227
* New 'reconcile' command will check branch consistency and repair indexes
228
that can become out of sync in pre 0.8 formats. (Robert Collins,
231
* New 'bzr init --format' and 'bzr upgrade --format' option to control
232
what storage format is created or produced. (Robert Collins,
235
* Add parent location to 'bzr info', if there is one. (Olaf Conradi)
237
* New developer commands 'weave-list' and 'weave-join'. (Martin Pool)
239
* New 'init-repository' command, plus support for repositories in 'init'
240
and 'branch' (Aaron Bentley, Erik Bågfors, Robert Collins)
242
* Improve output of 'info' command. Show all relevant locations related to
243
working tree, branch and repository. Use kibibytes for binary quantities.
244
Fix off-by-one error in missing revisions of working tree. Make 'info'
245
work on branches, repositories and remote locations. Show locations
246
relative to the shared repository, if applicable. Show locking status
247
of locations. (Olaf Conradi)
249
* Diff and merge now safely handle binary files. (Aaron Bentley)
251
* 'pull' and 'push' now normalise the revision history, so that any two
252
branches with the same tip revision will have the same output from 'log'.
255
* 'merge' accepts --remember option to store parent location, like 'push'
256
and 'pull'. (Olaf Conradi)
258
* bzr status and diff when files given as arguments do not exist
259
in the relevant trees. (Martin Pool, #3619)
261
* Add '.hg' to the default ignore list. (Martin Pool)
263
* 'knit' is now the default disk format. This improves disk performance and
264
utilization, increases incremental pull performance, robustness with SFTP
265
and allows checkouts over SFTP to perform acceptably.
266
The initial Knit code was contributed by Johan Rydberg based on a
267
specification by Martin Pool.
268
(Robert Collins, Aaron Bentley, Johan Rydberg, Martin Pool).
270
* New tool to generate all-in-one html version of the manual. (Alexander
273
* Hitting CTRL-C while doing an SFTP push will no longer cause stale locks
274
to be left in the SFTP repository. (Robert Collins, Martin Pool).
276
* New option 'diff --prefix' to control how files are named in diff
277
output, with shortcuts '-p0' and '-p1' corresponding to the options for
278
GNU patch. (Alexander Belchenko, Goffredo Baroncelli, Martin Pool)
280
* Add --revision option to 'annotate' command. (Olaf Conradi)
282
* Add --revision option to 'annotate' command. (Olaf Conradi)
284
* If bzr shows an unexpected revision-history after pulling (perhaps due
285
to a reweave) it can now be corrected by 'bzr reconcile'.
290
* Commit is now verbose by default, and shows changed filenames and the
291
new revision number. (Robert Collins, Martin Pool)
293
* Unify 'mv', 'move', 'rename'. (#5379, Matthew Fuller)
295
* 'bzr -h' shows help. (#35940, Martin Pool, Ian Bicking)
297
* Make 'pull' and 'push' remember location on failure using --remember.
300
* For compatibility, make old format for using weaves inside metadir
301
available as 'metaweave' format. Rename format 'metadir' to 'default'.
302
Clean up help for option --format in commands 'init', 'init-repo' and
303
'upgrade'. (Olaf Conradi)
1
bzr development version
309
7
management routines are now in bzrlib.lockablefiles.
310
8
(Aaron Bentley, Robert Collins, Martin Pool)
312
* Transports can now raise DependencyNotPresent if they need a library
313
which is not installed, and then another implementation will be
316
* Remove obsolete (and no-op) `decode` parameter to `Transport.get`.
319
* Using Tree Transform for merge, revert, tree-building
321
* WorkingTree.create, Branch.create, WorkingTree.create_standalone,
322
Branch.initialize are now deprecated. Please see BzrDir.create_* for
323
replacement API's. (Robert Collins)
325
* New BzrDir class represents the .bzr control directory and manages
326
formatting issues. (Robert Collins)
328
* New repository.InterRepository class encapsulates Repository to
329
Repository actions and allows for clean selection of optimised code
330
paths. (Robert Collins)
332
* bzrlib.fetch.fetch and bzrlib.fetch.greedy_fetch are now deprecated,
333
please use 'branch.fetch' or 'repository.fetch' depending on your
334
needs. (Robert Collins)
336
* deprecated methods now have a 'is_deprecated' flag on them that can
337
be checked, if you need to determine whether a given callable is
338
deprecated at runtime. (Robert Collins)
340
* Progress bars are now nested - see
341
bzrlib.ui.ui_factory.nested_progress_bar. (Robert Collins, Robey Pointer)
343
* New API call get_format_description() for each type of format.
346
* Changed branch.set_parent() to accept None to remove parent.
349
* Deprecated BzrError AmbiguousBase. (Olaf Conradi)
351
* WorkingTree.branch is now a read only property. (Robert Collins)
353
* bzrlib.ui.text.TextUIFactory now accepts a bar_type parameter which
354
can be None or a factory that will create a progress bar. This is
355
useful for testing or for overriding the bzrlib.progress heuristic.
358
* New API method get_physical_lock_status() to query locks present on a
359
transport. (Olaf Conradi)
361
* Repository.reconcile now takes a thorough keyword parameter to allow
362
requesting an indepth reconciliation, rather than just a data-loss
363
check. (Robert Collins)
365
* bzrlib.ui.ui_factory protocol now supports 'get_boolean' to prompt
366
the user for yes/no style input. (Robert Collins)
370
12
* SFTP tests now shortcut the SSH negotiation, reducing test overhead
371
13
for testing SFTP protocol support. (Robey Pointer)
373
* Branch formats are now tested once per implementation (see bzrlib.
374
tests.branch_implementations. This is analagous to the transport
375
interface tests, and has been followed up with working tree,
376
repository and BzrDir tests. (Robert Collins)
378
* New test base class TestCaseWithTransport provides a transport aware
379
test environment, useful for testing any transport-interface using
380
code. The test suite option --transport controls the transport used
381
by this class (when its not being used as part of implementation
382
contract testing). (Robert Collins)
384
* Close logging handler on disabling the test log. This will remove the
385
handler from the internal list inside python's logging module,
386
preventing shutdown from closing it twice. (Olaf Conradi)
388
* Move test case for uncommit to blackbox tests. (Olaf Conradi)
390
* run_bzr and run_bzr_captured now accept a 'stdin="foo"' parameter which
391
will provide String("foo") to the command as its stdin.