5
* Sftp paths can now be relative, or local, according to the lftp
6
convention. Paths now take the form:
7
sftp://user:pass@host:port/~/relative/path
9
sftp://user:pass@host:port/absolute/path
11
* The FTP transport now tries to reconnect after a temporary
12
failure. ftp put is made atomic. (Matthieu Moy)
14
* The FTP transport now maintains a pool of connections, and
15
reuses them to avoid multiple connections to the same host (like
16
sftp did). (Daniel Silverstone)
18
* The bzr_man.py file has been removed. To create the man page now,
19
use ./generate_docs.py man. The new program can also create other files.
20
Run "python generate_docs.py --help" for usage information. (Hans
21
Ulrich Niedermann & James Blackwell).
23
* Man Page now gives full help (James Blackwell). Help also updated to
24
reflect user config now being stored in .bazaar (Hans Ulrich
27
* It's now possible to set aliases in bazaar.conf (Erik Bågfors)
29
* Pull now accepts a --revision argument (Erik Bågfors)
31
* 'bzr re-sign' now allows multiple revisions to be supplied on the command
32
line. You can now use the following command to sign all of your old commits.
33
find .bzr/revision-store// -name my@email-* \
34
| sed 's/.*\/\/..\///' \
37
* Upgrade can now upgrade over the network. (Robert Collins)
39
* Two new commands 'bzr checkout' and 'bzr update' allow for CVS/SVN-alike
40
behaviour. By default they will cache history in the checkout, but
41
with --lightweight almost all data is kept in the master branch.
44
* 'revert' unversions newly-versioned files, instead of deleting them.
46
* 'merge' is more robust. Conflict messages have changed.
48
* 'merge' and 'revert' no longer clobber existing files that end in '~' or
51
* Default log format can be set in configuration and plugins can register
52
their own formatters. (Erik Bågfors)
54
* New 'reconcile' command will check branch consistency and repair indexes
55
that can become out of sync in pre 0.8 formats. (Robert Collins,
58
* New 'bzr init --format' and 'bzr upgrade --format' option to control
59
what storage format is created or produced. (Robert Collins,
62
* Add parent location to 'bzr info', if there is one. (Olaf Conradi)
64
* New developer commands 'weave-list' and 'weave-join'. (Martin Pool)
66
* New 'init-repository' command, plus support for repositories in 'init'
67
and 'branch' (Aaron Bentley, Erik Bågfors, Robert Collins)
69
* Improve output of 'info' command. Show all relevant locations related to
70
working tree, branch and repository. Use kibibytes for binary quantities.
71
Fix off-by-one error in missing revisions of working tree. Make 'info'
72
work on branches, repositories and remote locations. (Olaf Conradi)
74
* Diff and merge now safely handle binary files. (Aaron Bentley)
76
* 'pull' and 'push' now normalise the revision history, so that any two
77
branches with the same tip revision will have the same output from 'log'.
80
* 'merge' accepts --remember option to store parent location, like 'push'
81
and 'pull'. (Olaf Conradi)
83
* bzr status and diff when files given as arguments do not exist
84
in the relevant trees. (Martin Pool, #3619)
86
* Add '.hg' to the default ignore list. (Martin Pool)
88
* 'knit' is now the default disk format. This improves disk performance and
89
utilization, increases incremental pull performance, robustness with SFTP
90
and allows checkouts over SFTP to perform acceptably.
91
The initial Knit code was contributed by Johan Rydberg based on a
92
specification by Martin Pool.
93
(Robert Collins, Aaron Bentley, John Rydberg, Martin Pool).
95
* New tool to generate all-in-one html version of the manual. (Alexander
98
* Hitting CTRL-C while doing an SFTP push will no longer cause stale locks
99
to be left in the SFTP repository. (Robert Collins, Martin Pool).
103
* Commit is now verbose by default, and shows changed filenames and the
104
new revision number. (Robert Collins, Martin Pool)
106
* Unify 'mv', 'move', 'rename'. (#5379, Matthew Fuller)
108
* 'bzr -h' shows help. (#35940, Martin Pool, Ian Bicking)
110
* Make 'pull' and 'push' remember location on failure using --remember.
115
* The internal storage of history, and logical branch identity have now
116
been split into Branch, and Repository. The common locking and file
117
management routines are now in bzrlib.lockablefiles.
118
(Aaron Bentley, Robert Collins, Martin Pool)
120
* Transports can now raise DependencyNotPresent if they need a library
121
which is not installed, and then another implementation will be
124
* Remove obsolete (and no-op) `decode` parameter to `Transport.get`.
127
* Using Tree Transform for merge, revert, tree-building
129
* WorkingTree.create, Branch.create, WorkingTree.create_standalone,
130
Branch.initialize are now deprecated. Please see BzrDir.create_* for
131
replacement API's. (Robert Collins)
133
* New BzrDir class represents the .bzr control directory and manages
134
formatting issues. (Robert Collins)
136
* New repository.InterRepository class encapsulates Repository to
137
Repository actions and allows for clean selection of optimised code
138
paths. (Robert Collins)
140
* bzrlib.fetch.fetch and bzrlib.fetch.greedy_fetch are now deprecated,
141
please use 'branch.fetch' or 'repository.fetch' depending on your
142
needs. (Robert Collins)
144
* deprecated methods now have a 'is_deprecated' flag on them that can
145
be checked, if you need to determine whether a given callable is
146
deprecated at runtime. (Robert Collins)
148
* Progress bars are now nested - see
149
bzrlib.ui.ui_factory.nested_progress_bar. (Robert Collins, Robey Pointer)
151
* New API call get_format_description() for each type of format.
154
* Changed branch.set_parent() to accept None to remove parent.
157
* Deprecated BzrError AmbiguousBase. (Olaf Conradi)
159
* WorkingTree.branch is now a read only property. (Robert Collins)
161
* bzrlib.ui.text.TextUIFactory now accepts a bar_type parameter which
162
can be None or a factory that will create a progress bar. This is
163
useful for testing or for overriding the bzrlib.progress heuristic.
168
* SFTP tests now shortcut the SSH negotiation, reducing test overhead
169
for testing SFTP protocol support. (Robey Pointer)
171
* Branch formats are now tested once per implementation (see bzrlib.
172
tests.branch_implementations. This is analagous to the transport
173
interface tests, and has been followed up with working tree,
174
repository and BzrDir tests. (Robert Collins)
176
* New test base class TestCaseWithTransport provides a transport aware
177
test environment, useful for testing any transport-interface using
178
code. The test suite option --transport controls the transport used
179
by this class (when its not being used as part of implementation
180
contract testing). (Robert Collins)
182
* Close logging handler on disabling the test log. This will remove the
183
handler from the internal list inside python's logging module,
184
preventing shutdown from closing it twice. (Olaf Conradi)
186
* Move test case for uncommit to blackbox tests. (Olaf Conradi)
188
bzr 0.7rc1 2006-01-09
192
* .bzrignore is excluded from exports, on the grounds that it's a bzr
193
internal-use file and may not be wanted. (Jamie Wilkinson)
195
* The "bzr directories" command were removed in favor of the new
196
--kind option to the "bzr inventory" command. To list all
197
versioned directories, now use "bzr inventory --kind directory".
200
* Under Windows configuration directory is now %APPDATA%\bazaar\2.0
201
by default. (John Arbash Meinel)
203
* The parent of Bzr configuration directory can be set by BZR_HOME
204
environment variable. Now the path for it is searched in BZR_HOME, then
205
in HOME. Under Windows the order is: BZR_HOME, APPDATA (usually
206
points to C:\Documents and Settings\User Name\Application Data), HOME.
209
* Plugins with the same name in different directories in the bzr plugin
210
path are no longer loaded: only the first successfully loaded one is
211
used. (Robert Collins)
213
* Use systems' external ssh command to open connections if possible.
214
This gives better integration with user settings such as ProxyCommand.
217
* Permissions on files underneath .bzr/ are inherited from the .bzr
218
directory. So for a shared repository, simply doing 'chmod -R g+w .bzr/'
219
will mean that future file will be created with group write permissions.
221
* configure.in and config.guess are no longer in the builtin default
224
* '.sw[nop]' pattern ignored, to ignore vim swap files for nameless
225
files. (John Arbash Meinel, Martin Pool)
229
* "bzr INIT dir" now initializes the specified directory, and creates
230
it if it does not exist. (John Arbash Meinel)
232
* New remerge command (Aaron Bentley)
234
* Better zsh completion script. (Steve Borho)
236
* 'bzr diff' now returns 1 when there are changes in the working
237
tree. (Robert Collins)
239
* 'bzr push' now exists and can push changes to a remote location.
240
This uses the transport infrastructure, and can store the remote
241
location in the ~/.bazaar/branches.conf configuration file.
244
* Test directories are only kept if the test fails and the user requests
247
* Tweaks to short log printing
249
* Added branch nicks, new nick command, printing them in log output.
252
* If $BZR_PDB is set, pop into the debugger when an uncaught exception
253
occurs. (Martin Pool)
255
* Accept 'bzr resolved' (an alias for 'bzr resolve'), as this is
256
the same as Subversion. (Martin Pool)
258
* New ftp transport support (on ftplib), for ftp:// and aftp://
259
URLs. (Daniel Silverstone)
261
* Commit editor temporary files now start with 'bzr_log.', to allow
262
text editors to match the file name and set up appropriate modes or
263
settings. (Magnus Therning)
265
* Improved performance when integrating changes from a remote weave.
266
(Goffredo Baroncelli)
268
* Sftp will attempt to cache the connection, so it is more likely that
269
a connection will be reused, rather than requiring multiple password
272
* bzr revno now takes an optional argument indicating the branch whose
273
revno should be printed. (Michael Ellerman)
275
* bzr cat defaults to printing the last version of the file.
276
(#3632, Matthieu Moy)
278
* New global option 'bzr --lsprof COMMAND' runs bzr under the lsprof
279
profiler. (Denys Duchier)
281
* Faster commits by reading only the headers of affected weave files.
284
* 'bzr add' now takes a --dry-run parameter which shows you what would be
285
added, but doesn't actually add anything. (Michael Ellerman)
287
* 'bzr add' now lists how many files were ignored per glob. add --verbose
288
lists the specific files. (Aaron Bentley)
290
* 'bzr missing' now supports displaying changes in diverged trees and can
291
be limited to show what either end of the comparison is missing.
292
(Aaron Bently, with a little prompting from Daniel Silverstone)
296
* SFTP can walk up to the root path without index errors. (Robert Collins)
298
* Fix bugs in running bzr with 'python -O'. (Martin Pool)
300
* Error when run with -OO
302
* Fix bug in reporting http errors that don't have an http error code.
305
* Handle more cases of pipe errors in display commands
307
* Change status to 3 for all errors
309
* Files that are added and unlinked before committing are completely
310
ignored by diff and status
312
* Stores with some compressed texts and some uncompressed texts are now
313
able to be used. (John A Meinel)
315
* Fix for bzr pull failing sometimes under windows
317
* Fix for sftp transport under windows when using interactive auth
319
* Show files which are both renamed and modified as such in 'bzr
320
status' output. (#4503, Daniel Silverstone)
322
* Make annotate cope better with revisions committed without a valid
323
email address. (Marien Zwart)
325
* Fix representation of tab characters in commit messages. (Harald
328
* List of plugin directories in BZR_PLUGIN_PATH environment variable is
329
now parsed properly under Windows. (Alexander Belchenko)
331
* Show number of revisions pushed/pulled/merged. (Robey Pointer)
333
* Keep a cached copy of the basis inventory to speed up operations
334
that need to refer to it. (Johan Rydberg, Martin Pool)
336
* Fix bugs in bzr status display of non-ascii characters. (Martin
339
* Remove Makefile.in from default ignore list. (#6413, Tollef Fog
342
* Fix failure in 'bzr added'. (Nathan McCallum, Martin Pool)
346
* Fix selftest asking for passwords when there are no SFTP keys.
347
(Robey Pointer, Jelmer Vernooij)
349
* Fix selftest run with 'python -O'. (Martin Pool)
351
* Fix HTTP tests under Windows. (John Arbash Meinel)
353
* Make tests work even if HOME is not set (Aaron Bentley)
355
* Updated build_tree to use fixed line-endings for tests which read
356
the file cotents and compare. Make some tests use this to pass under
357
Windows. (John Arbash Meinel)
359
* Skip stat and symlink tests under Windows. (Alexander Belchenko)
361
* Delay in selftest/testhashcash is now issued under win32 and Cygwin.
364
* Use terminal width to align verbose test output. (Martin Pool)
366
* Blackbox tests are maintained within the bzrlib.tests.blackbox directory.
367
If adding a new test script please add that to
368
bzrlib.tests.blackbox.__init__. (Robert Collins)
370
* Much better error message if one of the test suites can't be
371
imported. (Martin Pool)
373
* Make check now runs the test suite twice - once with the default locale,
374
and once with all locales forced to C, to expose bugs. This is not
375
trivially done within python, so for now its only triggered by running
376
Make check. Integrators and packagers who wish to check for full
377
platform support should run 'make check' to test the source.
380
* Tests can now run TestSkipped if they can't execute for any reason.
381
(Martin Pool) (NB: TestSkipped should only be raised for correctable
382
reasons - see the wiki spec ImprovingBzrTestSuite).
384
* Test sftp with relative, absolute-in-homedir and absolute-not-in-homedir
385
paths for the transport tests. Introduce blackbox remote sftp tests that
386
test the same permutations. (Robert Collins, Robey Pointer)
388
* Transport implementation tests are now independent of the local file
389
system, which allows tests for esoteric transports, and for features
390
not available in the local file system. They also repeat for variations
391
on the URL scheme that can introduce issues in the transport code,
392
see bzrlib.transport.TransportTestProviderAdapter() for this.
395
* TestCase.build_tree uses the transport interface to build trees, pass
396
in a transport parameter to give it an existing connection.
401
* WorkingTree.pull has been split across Branch and WorkingTree,
402
to allow Branch only pulls. (Robert Collins)
404
* commands.display_command now returns the result of the decorated
405
function. (Robert Collins)
407
* LocationConfig now has a set_user_option(key, value) call to save
408
a setting in its matching location section (a new one is created
409
if needed). (Robert Collins)
411
* Branch has two new methods, get_push_location and set_push_location
412
to respectively, get and set the push location. (Robert Collins)
414
* commands.register_command now takes an optional flag to signal that
415
the registrant is planning to decorate an existing command. When
416
given multiple plugins registering a command is not an error, and
417
the original command class (whether built in or a plugin based one) is
418
returned to the caller. There is a new error 'MustUseDecorated' for
419
signalling when a wrapping command should switch to the original
420
version. (Robert Collins)
422
* Some option parsing errors will raise 'BzrOptionError', allowing
423
granular detection for decorating commands. (Robert Collins).
425
* Branch.read_working_inventory has moved to
426
WorkingTree.read_working_inventory. This necessitated changes to
427
Branch.get_root_id, and a move of Branch.set_inventory to WorkingTree
428
as well. To make it clear that a WorkingTree cannot always be obtained
429
Branch.working_tree() will raise 'errors.NoWorkingTree' if one cannot
430
be obtained. (Robert Collins)
432
* All pending merges operations from Branch are now on WorkingTree.
435
* The follow operations from Branch have moved to WorkingTree:
443
* bzrlib.add.smart_add_branch is now smart_add_tree. (Robert Collins)
445
* New "rio" serialization format, similar to rfc-822. (Martin Pool)
447
* Rename selftests to `bzrlib.tests.test_foo`. (John A Meinel, Martin
450
* bzrlib.plugin.all_plugins has been changed from an attribute to a
451
query method. (Robert Collins)
453
* New options to read only the table-of-contents of a weave.
456
* Raise NoSuchFile when someone tries to add a non-existant file.
459
* Simplify handling of DivergedBranches in cmd_pull().
463
* Branch.controlfile* logic has moved to lockablefiles.LockableFiles, which
464
is exposed as Branch().control_files. Also this has been altered with the
465
controlfile pre/suffix replaced by simple method names like 'get' and
466
'put'. (Aaron Bentley, Robert Collins).
468
* Deprecated functions and methods can now be marked as such using the
469
bzrlib.symbol_versioning module. Marked method have their docstring
470
updated and will issue a DeprecationWarning using the warnings module
471
when they are used. (Robert Collins)
473
* bzrlib.osutils.safe_unicode now exists to provide parameter coercion
474
for functions that need unicode strings. (Robert Collins)
480
* pull now takes --verbose to show you what revisions are added or removed
483
* merge now takes a --show-base option to include the base text in
487
* The config files are now read using ConfigObj, so '=' should be used as
488
a separator, not ':'.
491
* New 'bzr commit --strict' option refuses to commit if there are
492
any unknown files in the tree. To commit, make sure all files are
493
either ignored, added, or deleted. (Michael Ellerman)
495
* The config directory is now ~/.bazaar, and there is a single file
496
~/.bazaar/bazaar.conf storing email, editor and other preferences.
499
* 'bzr add' no longer takes a --verbose option, and a --quiet option
500
has been added that suppresses all output.
502
* Improved zsh completion support in contrib/zsh, from Clint
505
* Builtin 'bzr annotate' command, by Martin Pool with improvements from
508
* 'bzr check' now accepts -v for verbose reporting, and checks for
509
ghosts in the branch. (Robert Collins)
511
* New command 're-sign' which will regenerate the gpg signature for
512
a revision. (Robert Collins)
514
* If you set check_signatures=require for a path in
515
~/.bazaar/branches.conf then bzr will invoke your
516
gpg_signing_command (defaults to gpg) and record a digital signature
517
of your commit. (Robert Collins)
519
* New sftp transport, based on Paramiko. (Robey Pointer)
521
* 'bzr pull' now accepts '--clobber' which will discard local changes
522
and make this branch identical to the source branch. (Robert Collins)
524
* Just give a quieter warning if a plugin can't be loaded, and
525
put the details in .bzr.log. (Martin Pool)
527
* 'bzr branch' will now set the branch-name to the last component of the
528
output directory, if one was supplied.
530
* If the option 'post_commit' is set to one (or more) python function
531
names (must be in the bzrlib namespace), then they will be invoked
532
after the commit has completed, with the branch and revision_id as
533
parameters. (Robert Collins)
535
* Merge now has a retcode of 1 when conflicts occur. (Robert Collins)
537
* --merge-type weave is now supported for file contents. Tree-shape
538
changes are still three-way based. (Martin Pool, Aaron Bentley)
540
* 'bzr check' allows the first revision on revision-history to have
541
parents - something that is expected for cheap checkouts, and occurs
542
when conversions from baz do not have all history. (Robert Collins).
544
* 'bzr merge' can now graft unrelated trees together, if your specify
545
0 as a base. (Aaron Bentley)
547
* 'bzr commit branch' and 'bzr commit branch/file1 branch/file2' now work
550
* Add '.sconsign*' to default ignore list. (Alexander Belchenko)
552
* 'bzr merge --reprocess' minimizes conflicts
556
* The 'bzr selftest --pattern' option for has been removed, now
557
test specifiers on the command line can be simple strings, or
558
regexps, or both. (Robert Collins)
560
* Passing -v to selftest will now show the time each test took to
561
complete, which will aid in analysing performance regressions and
562
related questions. (Robert Collins)
564
* 'bzr selftest' runs all tests, even if one fails, unless '--one'
565
is given. (Martin Pool)
567
* There is a new method for TestCaseInTempDir, assertFileEqual, which
568
will check that a given content is equal to the content of the named
569
file. (Robert Collins)
571
* Fix test suite's habit of leaving many temporary log files in $TMPDIR.
576
* New 'testament' command and concept for making gpg-signatures
577
of revisions that are not tied to a particular internal
578
representation. (Martin Pool).
580
* Per-revision properties ('revprops') as key-value associated
581
strings on each revision created when the revision is committed.
582
Intended mainly for the use of external tools. (Martin Pool).
584
* Config options have moved from bzrlib.osutils to bzrlib.config.
587
* Improved command line option definitions allowing explanations
588
for individual options, among other things. Contributed by
591
* Config options have moved from bzrlib.osutils to bzrlib.config.
592
Configuration is now done via the config.Config interface:
593
Depending on whether you have a Branch, a Location or no information
594
available, construct a *Config, and use its signature_checking,
595
username and user_email methods. (Robert Collins)
597
* Plugins are now loaded under bzrlib.plugins, not bzrlib.plugin, and
598
they are made available for other plugins to use. You should not
599
import other plugins during the __init__ of your plugin though, as
600
no ordering is guaranteed, and the plugins directory is not on the
601
python path. (Robert Collins)
603
* Branch.relpath has been moved to WorkingTree.relpath. WorkingTree no
604
no longer takes an inventory, rather it takes an option branch
605
parameter, and if None is given will open the branch at basedir
606
implicitly. (Robert Collins)
608
* Cleaner exception structure and error reporting. Suggested by
609
Scott James Remnant. (Martin Pool)
611
* Branch.remove has been moved to WorkingTree, which has also gained
612
lock_read, lock_write and unlock methods for convenience. (Robert
615
* Two decorators, needs_read_lock and needs_write_lock have been added
616
to the branch module. Use these to cause a function to run in a
617
read or write lock respectively. (Robert Collins)
619
* Branch.open_containing now returns a tuple (Branch, relative-path),
620
which allows direct access to the common case of 'get me this file
621
from its branch'. (Robert Collins)
623
* Transports can register using register_lazy_transport, and they
624
will be loaded when first used. (Martin Pool)
626
* 'pull' has been factored out of the command as WorkingTree.pull().
627
A new option to WorkingTree.pull has been added, clobber, which will
628
ignore diverged history and pull anyway.
631
* config.Config has a 'get_user_option' call that accepts an option name.
632
This will be looked up in branches.conf and bazaar.conf as normal.
633
It is intended that this be used by plugins to support options -
634
options of built in programs should have specific methods on the config.
637
* merge.merge_inner now has tempdir as an optional parameter. (Robert
640
* Tree.kind is not recorded at the top level of the hierarchy, as it was
641
missing on EmptyTree, leading to a bug with merge on EmptyTrees.
644
* WorkingTree.__del__ has been removed, it was non deterministic and not
645
doing what it was intended to. See WorkingTree.__init__ for a comment
646
about future directions. (Robert Collins/Martin Pool)
648
* bzrlib.transport.http has been modified so that only 404 urllib errors
649
are returned as NoSuchFile. Other exceptions will propogate as normal.
650
This allows debuging of actual errors. (Robert Collins)
652
* bzrlib.transport.Transport now accepts *ONLY* url escaped relative paths
653
to apis like 'put', 'get' and 'has'. This is to provide consistent
654
behaviour - it operates on url's only. (Robert Collins)
656
* Transports can register using register_lazy_transport, and they
657
will be loaded when first used. (Martin Pool)
659
* 'merge_flex' no longer calls conflict_handler.finalize(), instead that
660
is called by merge_inner. This is so that the conflict count can be
661
retrieved (and potentially manipulated) before returning to the caller
662
of merge_inner. Likewise 'merge' now returns the conflict count to the
663
caller. (Robert Collins)
665
* 'revision.revision_graph can handle having only partial history for
666
a revision - that is no revisions in the graph with no parents.
669
* New builtins.branch_files uses the standard file_list rules to produce
670
a branch and a list of paths, relative to that branch (Aaron Bentley)
672
* New TestCase.addCleanup facility.
674
* New bzrlib.version_info tuple (similar to sys.version_info), which can
675
be used by programs importing bzrlib.
679
* Better handling of branches in directories with non-ascii names.
680
(Joel Rosdahl, Panagiotis Papadakos)
682
* Upgrades of trees with no commits will not fail due to accessing
683
[-1] in the revision-history. (Andres Salomon)
690
* Fix problem in pulling over http from machines that do not
691
allow directories to be listed.
693
* Avoid harmless warning about invalid hash cache after
694
upgrading branch format.
698
* Avoid some unnecessary http operations in branch and pull.
705
* 'bzr branch' over http initially gives a very high estimate
706
of completion time but it should fall as the first few
707
revisions are pulled in. branch is still slow on
708
high-latency connections.
712
* bzr-man.py has been updated to work again. Contributed by
715
* Locking is now done with fcntl.lockf which works with NFS
716
file systems. Contributed by Harald Meland.
718
* When a merge encounters a file that has been deleted on
719
one side and modified on the other, the old contents are
720
written out to foo.BASE and foo.SIDE, where SIDE is this
721
or OTHER. Contributed by Aaron Bentley.
723
* Export was choosing incorrect file paths for the content of
724
the tarball, this has been fixed by Aaron Bentley.
726
* Commit will no longer commit without a log message, an
727
error is returned instead. Contributed by Jelmer Vernooij.
729
* If you commit a specific file in a sub directory, any of its
730
parent directories that are added but not listed will be
731
automatically included. Suggested by Michael Ellerman.
733
* bzr commit and upgrade did not correctly record new revisions
734
for files with only a change to their executable status.
735
bzr will correct this when it encounters it. Fixed by
738
* HTTP tests now force off the use of http_proxy for the duration.
739
Contributed by Gustavo Niemeyer.
741
* Fix problems in merging weave-based branches that have
742
different partial views of history.
744
* Symlink support: working with symlinks when not in the root of a
745
bzr tree was broken, patch from Scott James Remnant.
750
* 'branch' now accepts a --basis parameter which will take advantage
751
of local history when making a new branch. This allows faster
752
branching of remote branches. Contributed by Aaron Bentley.
754
* New tree format based on weave files, called version 5.
755
Existing branches can be upgraded to this format using
758
* Symlinks are now versionable. Initial patch by
759
Erik Toubro Nielsen, updated to head by Robert Collins.
761
* Executable bits are tracked on files. Patch from Gustavo
764
* 'bzr status' now shows unknown files inside a selected directory.
765
Patch from Heikki Paajanen.
767
* Merge conflicts are recorded in .bzr. Two new commands 'conflicts'
768
and 'resolve' have needed added, which list and remove those
769
merge conflicts respectively. A conflicted tree cannot be committed
770
in. Contributed by Aaron Bentley.
772
* 'rm' is now an alias for 'remove'.
774
* Stores now split out their content in a single byte prefixed hash,
775
dropping the density of files per directory by 256. Contributed by
778
* 'bzr diff -r branch:URL' will now perform a diff between two branches.
779
Contributed by Robert Collins.
781
* 'bzr log' with the default formatter will show merged revisions,
782
indented to the right. Initial implementation contributed by Gustavo
783
Niemeyer, made incremental by Robert Collins.
788
* Test case failures have the exception printed after the log
789
for your viewing pleasure.
791
* InventoryEntry is now an abstract base class, use one of the
792
concrete InventoryDirectory etc classes instead.
794
* Branch raises an UnsupportedFormatError when it detects a
795
bzr branch it cannot understand. This allows for precise
796
handling of such circumstances.
801
* Removed testsweet module so that tests can be run after
802
bzr installed by 'bzr selftest'.
804
* 'bzr selftest' command-line arguments can now be partial ids
805
of tests to run, e.g. 'bzr selftest test_weave'
812
* Fixed "branch -r" option.
814
* Fix remote access to branches containing non-compressed history.
817
* Better reliability of http server tests. (John Arbash-Meinel)
819
* Merge graph maximum distance calculation fix. (Aaron Bentley)
821
* Various minor bug in windows support have been fixed, largely in the
822
test suite. Contributed by Alexander Belchenko.
826
* Status now accepts a -r argument to give status between chosen
827
revisions. Contributed by Heikki Paajanen.
829
* Revision arguments no longer use +/-/= to control ranges, instead
830
there is a 'before' namespace, which limits the successive namespace.
831
For example '$ bzr log -r date:yesterday..before:date:today' will
832
select everything from yesterday and before today. Contributed by
835
* There is now a bzr.bat file created by distutils when building on
836
Windows. Contributed by Alexander Belchenko.
840
* Removed uuid() as it was unused.
842
* Improved 'fetch' code for pulling revisions from one branch into
843
another (used by pull, merged, etc.)
850
* Adding a file whose parent directory is not versioned will
851
implicitly add the parent, and so on up to the root. This means
852
you should never need to explictly add a directory, they'll just
853
get added when you add a file in the directory. Contributed by
856
* Ignore .DS_Store (contains Mac metadata) by default. Patch from
859
* If you set BZR_EDITOR in the environment, it is checked in
860
preference to EDITOR and the config file for the interactive commit
861
editing program. Related to this is a bugfix where a missing program
862
set in EDITOR would cause editing to fail, now the fallback program
863
for the operating system is still tried.
865
* Files that are not directories/symlinks/regular files will no longer
866
cause bzr to fail, it will just ignore them by default. You cannot add
867
them to the tree though - they are not versionable.
872
* Refactor xml packing/unpacking.
876
* Fixed 'bzr mv' by Ollie Rutherfurd.
878
* Fixed strange error when trying to access a nonexistent http
881
* Make sure that the hashcache gets written out if it can't be
887
* Various Windows fixes from Ollie Rutherfurd.
889
* Quieten warnings about locking; patch from Matt Lavin.
896
* ``bzr shell-complete`` command contributed by Clint Adams to
897
help with intelligent shell completion.
899
* New expert command ``bzr find-merge-base`` for debugging merges.
904
* Much better merge support.
906
* merge3 conflicts are now reported with markers like '<<<<<<<'
907
(seven characters) which is the same as CVS and pleases things
913
* ``bzr upgrade`` no longer fails when trying to fix trees that
914
mention revisions that are not present.
916
* Fixed bugs in listing plugins from ``bzr plugins``.
918
* Fix case of $EDITOR containing options for the editor.
920
* Fix log -r refusing to show the last revision.
921
(Patch from Goffredo Baroncelli.)
926
* ``bzr log --show-ids`` shows the revision ids of all parents.
928
* Externally provided commands on your $BZRPATH no longer need
929
to recognize --bzr-usage to work properly, and can just handle
935
* Changed trace messages to go through the standard logging
936
framework, so that they can more easily be redirected by
945
* Python plugins, automatically loaded from the directories on
946
BZR_PLUGIN_PATH or ~/.bzr.conf/plugins by default.
948
* New 'bzr mkdir' command.
950
* Commit mesage is fetched from an editor if not given on the
951
command line; patch from Torsten Marek.
953
* ``bzr log -m FOO`` displays commits whose message matches regexp
956
* ``bzr add`` with no arguments adds everything under the current directory.
958
* ``bzr mv`` does move or rename depending on its arguments, like
961
* ``bzr missing`` command shows a summary of the differences
962
between two trees. (Merged from John Arbash-Meinel.)
964
* An email address for commits to a particular tree can be
965
specified by putting it into .bzr/email within a branch. (Based
966
on a patch from Heikki Paajanen.)
971
* Faster working tree operations.
976
* 3rd-party modules shipped with bzr are copied within the bzrlib
977
python package, so that they can be installed by the setup
978
script without clashing with anything already existing on the
979
system. (Contributed by Gustavo Niemeyer.)
981
* Moved plugins directory to bzrlib/, so that there's a standard
982
plugin directory which is not only installed with bzr itself but
983
is also available when using bzr from the development tree.
984
BZR_PLUGIN_PATH and DEFAULT_PLUGIN_PATH are then added to the
985
standard plugins directory.
987
* When exporting to a tarball with ``bzr export --format tgz``, put
988
everything under a top directory rather than dumping it into the
989
current directory. This can be overridden with the ``--root``
990
option. Patch from William Dodé and John Meinel.
992
* New ``bzr upgrade`` command to upgrade the format of a branch,
993
replacing ``bzr check --update``.
995
* Files within store directories are no longer marked readonly on
998
* Changed ``bzr log`` output to a more compact form suggested by
999
John A Meinel. Old format is available with the ``--long`` or
1000
``-l`` option, patched by William Dodé.
1002
* By default the commit command refuses to record a revision with
1003
no changes unless the ``--unchanged`` option is given.
1005
* The ``--no-plugins``, ``--profile`` and ``--builtin`` command
1006
line options must come before the command name because they
1007
affect what commands are available; all other options must come
1008
after the command name because their interpretation depends on
1011
* ``branch`` and ``clone`` added as aliases for ``branch``.
1013
* Default log format is back to the long format; the compact one
1014
is available with ``--short``.
1019
* Fix bugs in committing only selected files or within a subdirectory.
1022
bzr-0.0.5 2005-06-15
1026
* ``bzr`` with no command now shows help rather than giving an
1027
error. Suggested by Michael Ellerman.
1029
* ``bzr status`` output format changed, because svn-style output
1030
doesn't really match the model of bzr. Now files are grouped by
1031
status and can be shown with their IDs. ``bzr status --all``
1032
shows all versioned files and unknown files but not ignored files.
1034
* ``bzr log`` runs from most-recent to least-recent, the reverse
1035
of the previous order. The previous behaviour can be obtained
1036
with the ``--forward`` option.
1038
* ``bzr inventory`` by default shows only filenames, and also ids
1039
if ``--show-ids`` is given, in which case the id is the second
1045
* New 'bzr whoami --email' option shows only the email component
1046
of the user identification, from Jo Vermeulen.
1048
* New ``bzr ignore PATTERN`` command.
1050
* Nicer error message for broken pipe, interrupt and similar
1051
conditions that don't indicate an internal error.
1053
* Add ``.*.sw[nop] .git .*.tmp *,v`` to default ignore patterns.
1055
* Per-branch locks keyed on ``.bzr/branch-lock``, available in
1056
either read or write mode.
1058
* New option ``bzr log --show-ids`` shows revision and file ids.
1060
* New usage ``bzr log FILENAME`` shows only revisions that
1063
* Changed format for describing changes in ``bzr log -v``.
1065
* New option ``bzr commit --file`` to take a message from a file,
1066
suggested by LarstiQ.
1068
* New syntax ``bzr status [FILE...]`` contributed by Bartosz
1069
Oler. File may be in a branch other than the working directory.
1071
* ``bzr log`` and ``bzr root`` can be given an http URL instead of
1074
* Commands can now be defined by external programs or scripts
1075
in a directory on $BZRPATH.
1077
* New "stat cache" avoids reading the contents of files if they
1078
haven't changed since the previous time.
1080
* If the Python interpreter is too old, try to find a better one
1081
or give an error. Based on a patch from Fredrik Lundh.
1083
* New optional parameter ``bzr info [BRANCH]``.
1085
* New form ``bzr commit SELECTED`` to commit only selected files.
1087
* New form ``bzr log -r FROM:TO`` shows changes in selected
1088
range; contributed by John A Meinel.
1090
* New option ``bzr diff --diff-options 'OPTS'`` allows passing
1091
options through to an external GNU diff.
1093
* New option ``bzr add --no-recurse`` to add a directory but not
1096
* ``bzr --version`` now shows more information if bzr is being run
1102
* Fixed diff format so that added and removed files will be
1103
handled properly by patch. Fix from Lalo Martins.
1105
* Various fixes for files whose names contain spaces or other
1111
* Converted black-box test suites from Bourne shell into Python;
1112
now run using ``./testbzr``. Various structural improvements to
1115
* testbzr by default runs the version of bzr found in the same
1116
directory as the tests, or the one given as the first parameter.
1118
* testbzr also runs the internal tests, so the only command
1119
required to check is just ``./testbzr``.
1121
* testbzr requires python2.4, but can be used to test bzr running
1122
under a different version.
1124
* Tests added for many other changes in this release.
1129
* Included ElementTree library upgraded to 1.2.6 by Fredrik Lundh.
1131
* Refactor command functions into Command objects based on HCT by
1132
Scott James Remnant.
1134
* Better help messages for many commands.
1136
* Expose bzrlib.open_tracefile() to start the tracefile; until
1137
this is called trace messages are just discarded.
1139
* New internal function find_touching_revisions() and hidden
1140
command touching-revisions trace the changes to a given file.
1142
* Simpler and faster compare_inventories() function.
1144
* bzrlib.open_tracefile() takes a tracefilename parameter.
1146
* New AtomicFile class.
1148
* New developer commands ``added``, ``modified``.
1153
* Cope on Windows on python2.3 by using the weaker random seed.
1154
2.4 is now only recommended.
1157
bzr-0.0.4 2005-04-22
1161
* 'bzr diff' optionally takes a list of files to diff. Still a bit
1162
basic. Patch from QuantumG.
1164
* More default ignore patterns.
1166
* New 'bzr log --verbose' shows a list of files changed in the
1167
changeset. Patch from Sebastian Cote.
1169
* Roll over ~/.bzr.log if it gets too large.
1171
* Command abbreviations 'ci', 'st', 'stat', '?' based on a patch
1174
* New 'bzr help commands' based on a patch from Denys Duchier.
1179
* User email is determined by looking at $BZREMAIL or ~/.bzr.email
1180
or $EMAIL. All are decoded by the locale preferred encoding.
1181
If none of these are present user@hostname is used. The host's
1182
fully-qualified name is not used because that tends to fail when
1183
there are DNS problems.
1185
* New 'bzr whoami' command instead of username user-email.
1190
* Make commit safe for hardlinked bzr trees.
1192
* Some Unicode/locale fixes.
1194
* Partial workaround for difflib.unified_diff not handling
1195
trailing newlines properly.
1200
* Allow docstrings for help to be in PEP0257 format. Patch from
1203
* More tests in test.sh.
1205
* Write profile data to a temporary file not into working
1206
directory and delete it when done.
1208
* Smaller .bzr.log with process ids.
1213
* Fix opening of ~/.bzr.log on Windows. Patch from Andrew
1216
* Some improvements in handling paths on Windows, based on a patch
1220
bzr-0.0.3 2005-04-06
1224
* New "directories" internal command lists versioned directories
1227
* Can now say "bzr commit --help".
1229
* New "rename" command to rename one file to a different name
1232
* New "move" command to move one or more files into a different
1235
* New "renames" command lists files renamed since base revision.
1237
* New cat command contributed by janmar.
1241
* .bzr.log is placed in $HOME (not pwd) and is always written in
1242
UTF-8. (Probably not a completely good long-term solution, but
1247
* Workaround for difflib bug in Python 2.3 that causes an
1248
exception when comparing empty files. Reported by Erik Toubro
1253
* Refactored inventory storage to insert a root entry at the top.
1257
* Start of shell-based black-box testing in test.sh.
1264
* Win32 fixes from Steve Brown.
1267
bzr-0.0.2 "black cube" 2005-03-31
1271
* Default ignore list extended (see bzrlib/__init__.py).
1273
* Patterns in .bzrignore are now added to the default ignore list,
1274
rather than replacing it.
1276
* Ignore list isn't reread for every file.
1280
* Reinstate the 'bzr check' command to check invariants of the
1283
* New 'ignored' command lists which files are ignored and why;
1284
'deleted' lists files deleted in the current working tree.
1286
* Performance improvements.
1288
* New global --profile option.
1290
* Ignore patterns like './config.h' now correctly match files in
1291
the root directory only.
1294
bzr-0.0.1 2005-03-26
1298
* More information from info command.
1300
* Can now say "bzr help COMMAND" for more detailed help.
1302
* Less file flushing and faster performance when writing logs and
1303
committing to stores.
1305
* More useful verbose output from some commands.
1309
* Fix inverted display of 'R' and 'M' during 'commit -v'.
1313
* Include a subset of ElementTree-1.2.20040618 to make
1314
installation easier.
1316
* Fix time.localtime call to work with Python 2.3 (the minimum
1320
bzr-0.0.0.69 2005-03-22
1324
* First public release.
1326
* Storage of local versions: init, add, remove, rm, info, log,
11
:Codename: One and counting
12
:2.3.4: NOT RELEASED YET
14
External Compatibility Breaks
15
*****************************
17
.. These may require users to change the way they use Bazaar.
22
.. New commands, options, etc that users may wish to try out.
27
.. Improvements to existing commands, especially improved performance
28
or memory usage, or better results.
33
.. Fixes for situations where bzr would previously crash or give incorrect
34
or undesirable results.
39
.. Improved or updated documentation.
41
* Updated the "Using stacked branches" section of the user guide to
42
describe committing to stacked branches and expanded its discussion of
43
pushing a stcked branch. (Andrew Bennetts)
48
.. Changes that may require updates in plugins or other code that uses
54
.. Major internal changes, unlikely to be visible to users or plugin
55
developers, but interesting for bzr developers.
60
.. Fixes and changes that are only relevant to bzr's test framework and
61
suite. This can include new facilities for writing tests, fixes to
62
spurious test failures and changes to the way things should be tested.
70
This is a bugfix release. Upgrading is recommended for all users of earlier
73
This fixed a bug in the test suite triggered by python-2.7 deprecating some
79
* Stop using `failIf`, `failUnless`, `failIfEqual`, etc, that give
80
`PendingDeprecationWarnings` on Python2.7.
81
(Martin Pool, #760435)
89
This is a bugfix release. Upgrading is recommended for all users of earlier
92
This was never released due to bug #760435 interrupting the release process by
93
breaking the test suite under python-2.7 on natty.
95
External Compatibility Breaks
96
*****************************
108
* Getting all entries from ``CHKInventory.iter_entries_by_dir()`` has been
109
sped up dramatically for large trees. Iterating by dir is not the best
110
way to load data from a CHK inventory, so it preloads all the items in
111
the correct order. (With the gcc-tree, this changes it (re)reading 8GB
112
of CHK data, down to just 150MB.) This has noticeable affects for things
113
like building checkouts, etc. (John Arbash Meinel, #737234)
118
* Bazaar now infers the default user email address on Unix from the local
119
account name plus the contents of ``/etc/mailname`` if that file exists.
120
In particular, this means that committing as root through etckeeper will
121
normally not require running ``bzr whoami`` first.
122
(Martin Pool, #616878)
124
* ``bzr merge --preview --pull`` should respect the ``--preview`` option
125
first, and not actually change the branch tip revision.
126
(John Arbash Meinel, Dennis Duchier, #760152)
128
* ``bzr push`` into a repository (that doesn't have a branch), will no
129
longer copy all revisions in the repository. Only the ones in the
130
ancestry of the source branch, like it does in all other cases.
131
(John Arbash Meinel, #465517)
133
* Fix ``UnboundLocalError: local variable 'lock_url' in wait_lock`` error,
134
especially while trying to save configuration from QBzr.
135
(Martin Pool, #733136)
137
* Fix "Unable to obtain lock" error when pushing to a bound branch if tags
138
had changed. Bazaar was attempting to open and lock the master branch
139
twice in this case. (Andrew Bennetts, #733350)
141
* Standalone bzr.exe installation on Windows: user can put additional python
142
libraries into ``site-packages`` subdirectory of the installation directory,
143
this might be required for "installing" extra dependencies for some plugins.
144
(Alexander Belchenko, #743256)
146
* When reporting a crash without apport, don't print the full list of
147
plugins because it's often too long.
148
(Martin Pool, #716389)
159
* FreeBSD8 has switched to python-2.7 which revealed a re-occurrence of a test
160
failure in the launchpad plugin. ``xmlrpclib.py`` on natty carries a patch
161
that is not in python-2.7 upstream and masked the issue. An additional fix
162
has been added in the interim
163
(<http://psf.upfronthosting.co.za/roundup/tracker/issue8194> should be fixed
164
in python > 2.7.1). (Vincent Ladeuil, #654733)
171
This is a bugfix release. Upgrading is recommended for all users of earlier
177
.. Fixes for situations where bzr would previously crash or give incorrect
178
or undesirable results.
180
* Correctly resolve text conflicts for files in subdirs.
181
(Vincent Ladeuil, #715058)
183
* Fix "AssertionError: repository.user_url ... does not match URL from
184
server response" when reusing a smart transport.
185
(Andrew Bennetts, #726584)
187
* Restore proper logging of bytes transferred. We accidentally reset the
188
counter when commands finished before we logged the total transferred.
189
(John Arbash Meinel, #713258)
196
This release marks the start of another long-term-stable series. From here, we
197
will only make bugfix releases on the 2.3 series (2.3.1, etc, and support it
198
until August 2012), while 2.4 will become our new development series. The 2.1
199
and 2.2 series will also continue to get bugfixes. (Currently 2.0 is planned
200
to be EOLed circa September 2011 and will receive only critical bugfixes.)
202
This is a bugfix and polish release over the 2.2 series, with a large number
203
of bugs fixed (>130), and some performance improvements. Some features have
204
been enhanced including commits on stacked branches, upgrades of related
205
branches, shortcut URL schemes for ubuntu and debian on launchpad and better
208
Only bugfixes from other stables series have been included since 2.3b5 so all
209
known fixed bugs are included here.
211
Users are encouraged to upgrade from the other stable series.
218
This is the fifth and **last** beta of the 2.3 series, leading up to a 2.3.0
219
release in February. Beta releases are suitable for everyday use but may cause
220
some incompatibilities with plugins.
222
2.3b5 includes bug fixes for committing to stacked branches, smoother upgrades
223
of multiple branches, compatibility with python-2.7, full test suite passing
224
on Ubuntu Natty and windows, less round-trips for several smart server
225
operations, better support text conflicts resolve actions and some more.
227
All known fixed bugs in other series (2.0, 2.1, 2.2) are also included here.
229
External Compatibility Breaks
230
*****************************
237
* A redundant parent inventories calculation was removed from
238
``fetch.py``, as ``Repository.insert_stream`` already reports any
239
missing inventories. This removes at least one network roundtrip when
240
pushing to a stacked branch. (Andrew Bennetts)
242
* ``ControlDir.sprout`` no longer opens the target repository more than
243
once. This avoids some unnecessary IO, and removes a network roundtrip
244
when doing ``bzr branch`` to a smart server URL. (Andrew Bennetts)
246
* ``bzr modified`` now read-locks the working tree (and branch and
247
repository) just once. (Andrew Bennetts)
249
* ``bzr resolve`` now accepts ``--take-this`` and ``--take-other`` actions
250
for text conflicts. This *replace* the whole file with the content
251
designated by the action. This will *ignore* all differences that would
252
have been merge cleanly otherwise. (Vincent Ladeuil, #638451)
254
* ``bzr tags``'s "sort" argument now allows registering custom sort
255
methods using the ``bzrlib.tag.tag_sort_methods`` registry.
256
(Jelmer Vernooij, #701244)
258
* ``bt.test_http`` was breaking ``os.environ`` by erasing the values saved by
259
``TestCase`` leading to ``bt.test_import_tariff`` failures.
260
(Vincent Ladeuil, #690563)
262
* ``upgrade`` now upgrades dependent branches when a shared repository is
263
specified. It also supports new options: ``--dry-run`` for showing what
264
will happen and ``--clean`` to remove the backup directory on successful
265
completion. (Ian Clatworthy, Matthew Fuller, #89830, #374734, #422450)
270
.. Fixes for situations where bzr would previously crash or give incorrect
271
or undesirable results.
273
* Avoid leaking SSH subprocess communication socket into unrelated child
274
processes, which could cause bzr to hang on exit. (Max Bowsher, #696285)
276
* ``bzr break-lock`` on a corrupted lock file works correctly, rather than
277
raising a PermissionDenied error. We were accidentally holding open the
278
file we were trying to delete. (John Arbash Meinel, #659978)
280
* ``bzr update`` in a checkout of a readonly branch works again, without
281
trying to set the tags in the master branch. This had been broken by the
282
bug fix for bug #603395. (John Arbash Meinel, #701212)
284
* Per-transport tests now prefer to use ``Transport.get_bytes()`` rather
285
than ``Transport.get().read()``. The SFTP code uses an async message to
286
close the file handle if you let the handle die from refcounting, while
287
it uses a synchronous message if you close it directly. This should help
288
prevent random test suite failures from race conditions.
289
(John Arbash Meinel, #681047)
291
* Stop using ``bzrlib.tuned_gzip.GzipFile``. It is incompatible with
292
python-2.7 and was only used for Knit format repositories, which haven't
293
been recommended since 2007. The file itself will be removed in the next
294
release. (John Arbash Meinel)
296
* The BZR_COLUMNS environment variable can be set to 0 to indicate no
297
limitation on the width of the terminal. (Neil Martinsen-Burrell, #675652)
299
* Treat WSAECONNABORTED the same as WSAECONNRESET for the purposes of
300
considering a smart data stream as being interrupted. This fixes a
301
failure in the windows test suite, that was trying to ensure we cleanly
302
handled a server disconnect. (John Arbash Meinel, #581311, #686587)
304
* Unshelving changes that occur in a now-unversioned directory now restore
305
the directory properly rather than crashing.
306
(John Arbash Meinel, #389674)
308
* You are now able to commit directly to a stacked branch. Any needed
309
parent inventories will be filled in as part of the commit process.
310
(John Arbash Meinel, #375013)
315
* Better document the rules to update the bzr freshmeat page when
316
doing a release. (Vincent Ladeuil, #690515)
321
* ``Branch.sprout``, ``BranchFormat.initalize`` and
322
``ControlDir.create_branch`` now take an optional ``repository`` keyword
323
argument, and ``BranchFormat.open`` now takes an optional
324
``found_repository`` keyword argument. These provide the repository
325
object for new branch object to use (for cases when the caller has
326
already opened that repository). Implementations of these APIs will
327
need to be updated to accept these arguments. (Andrew Bennetts)
329
* ``bzrlib.tuned_gzip.GzipFile`` is now deprecated and will be removed in
330
the bzr-2.4 series. Code that was using it can just use the python
331
stdlib ``gzip.GzipFile``. (John Arbash Meinel)
337
* ``bzrlib.tests`` defines ``isolated_environ`` with the definitions of all
338
the environment variables the tests should care about. It also defines
339
``override_os_environ`` and ``restore_os_environ`` to properly implement
340
isolation from ``os.environ`` for tests. ``bzrlib.tests`` now defines a
341
``DocTestSuite`` class using this facility for all ``bzrlib``
342
doctests. (Vincent Ladeuil, #321320)
344
* Catch exceptions related to bug #637821 during test cleanup to avoid
345
spurious failures. (Vincent Ladeuil, #686008).
347
* Check sphinx compatibility for tests requiring older sphinx versions.
348
(Vincent Ladeuil, #688072)
350
* ``test_onto_transport`` in the Launchpad plugin can now run with Python
351
2.7. (Vincent Ladeuil, #654733)
353
* ``TestCase._captureVar`` and ``TestCase._old_env`` have been deleted due to
354
bug #690563. Test writers are encouraged to use ``TestCase.overrideEnv``
355
instead. (Vincent Ladeuil)
357
* ``TestDebuntuExpansions`` was escaping the test isolation by calling the
358
wrong base class ``setUp``. (Vincent Ladeuil, #684662)
365
This is the fourth beta of the 2.3 series, leading up to a 2.3.0 release in
366
February. Beta releases are suitable for everyday use but may cause some
367
incompatibilities with plugins.
369
2.3b4 includes bug fixes for the ``config`` command and conflict
370
resolution. More changes were made for the test scripts handling to make it
371
easier to add reproducing recipes to bugs.
373
It also includes bug fixes from the 2.2.2 release as well as the bug fixes
374
in the upcoming 2.0.7, 2.1.4 and 2.2.3 releases. This means that all known
375
fixed bugs at the time of this release are included.
378
External Compatibility Breaks
379
*****************************
386
* Bazaar now caches a branch's tags while that branch is read-locked.
387
This removes 1 network roundtrip from most interactions with a remote
388
branch. (Andrew Bennetts)
390
* ``bzr config <option>`` will now display only the value itself so scripts
391
can use it to query the currently active configuration. Displaying several
392
options matching a given regular expression is now controlled via the
393
``--all`` option. (Vincent Ladeuil, bug #670251)
395
* ``bzr resolve`` now reports the number of conflicts resolved and the
396
number of remaining conflicts. This provides a better feedback about the
397
whole resolution process. (Vincent Ladeuil)
399
* Read configuration files in $XDG_CONFIG_HOME/bazaar on Unix if there is
400
already a directory there. (Neil Martinsen-Burrell, #195397)
405
* Better message if there is an error while setting ownership of
406
``.bazaar`` directory. (Parth Malwankar, #657553)
408
* ``bzr config`` properly displays list values. (Vincent Ladeuil, #672382)
410
* ``bzr config`` will now respect option policies when displaying the value
411
and display the definition sections when appropriate.
412
(Vincent Ladeuil, #671050)
414
* Don't create commit message files in the current directory to avoid nasty
415
interactions with emacs (which tries to establish the status of the file
416
during the commit which breaks on windows). (Vincent Ladeuil, #673637)
418
* ``bzr resolve --take-other <file>`` will not crash anymore if ``<file>``
419
is involved in a text conflict (but the conflict is still not
420
resolved). (Vincent Ladeuil, #646961)
422
* Merge will now correctly locate a lca where there is a criss-cross merge
423
of a new root. (Gary van der Merwe, #588698)
425
* Report error if non-ASCII command option given. (Rory Yorke, #140563)
427
* ``tools/check-newsbug.py`` is now based on ``lp:hydrazine`` and no longer
428
crashes when encountering private bugs (they are just displayed as such).
429
(Vincent Ladeuil, #354985)
434
* ``BranchBuilder.build_snapshot`` now accepts parent_ids == [].
435
This can be used to create a new root in the graph. (Gary van der Merwe)
437
* Old repository development formats
438
RepositoryFormatCHK1 and RepositoryFormatCHK2 have been removed, and so
439
have the corresponding metadir format options ``development-rich-root``,
440
``development6-rich-root``, and ``development7-rich-root``.
445
* Add a null_output_matches_anything keyword argument with default False to
446
bzrlib.tests.script.ScriptRunner.run_script to specify that the command
447
output should not be checked (as opposed to expecting an empty output).
448
(Neil Martinsen-Burrell, #662509)
450
* Blank output section in scriptrunner tests no longer match any output.
451
Instead, use '...' as a wildcard if you don't care about the output.
452
(Martin Pool, #637830)
454
* Bump minimum testtools version required to run ``bzr selftest`` from 0.9.2
455
to 0.9.5 which will allow tests that need the fixed unicode handling to be
456
written. (Martin [gz])
458
* Introduce an ``overrideEnv()`` helper for tests that needs to change the
459
environment variables while respecting the isolation rules. Get rid of
460
TestCase._restoreEnvironment which is now useless.
461
(Vincent Ladeuil, #690563)
463
* Printing selftest results to a non-UTF-8 console will now escape characters
464
that can't be encoded rather than aborting the test run with an exception.
465
(Martin [gz], #633216)
473
External Compatibility Breaks
474
*****************************
481
* Add --no-tree option to 'bzr push' and 'bzr init' for creating a
482
new or mirrored branch without working trees.
483
(Matthew Gordon, #506730)
485
* ``bzr config`` is a new command that displays the configuration options for
486
a given directory. It accepts a glob to match against multiple options at
487
once. It can also be used to set or delete a configuration option in any
488
configuration file. (Vincent Ladeuil)
490
* New shortcut URL schemes ``ubuntu:`` and ``debianlp:`` access source
491
branches on Launchpad. E.g. ``bzr branch ubuntu:foo`` gives you the source
492
branch for project ``foo`` in the current distroseries for Ubuntu while
493
``bzr branch debianlp:lenny/foo`` gives you the source branch (on Launchpad)
494
for project ``foo`` in Debian Lenny.
495
(Barry Warsaw, #609186)
497
* Provide a configuration option "default_format" that controls the
498
default format for new branches created with ``bzr init``.
499
(Neil Martinsen-Burrell, #484101)
504
* Always set PATH in start_bzr.bat on Windows. (Matthäus G. Chajdas, #470264)
506
* ``bzr status -r X..Y`` was failing because RevisionTree didn't implement
507
``get_shelf_manager``. (John Arbash Meinel, #662053)
509
* Correctly add directory contents when the name was previously added as a
510
normal file, rather than throwing ``AttributeError: children`` during
511
smart_add. (Martin [gz], #251864)
513
* Correctly handle the ``--directory`` option for all code paths of
514
``resolve`` and ``shelve``, this was previously ignored when paths were
515
provided as parameters. When both are provided, ``--directory`` becomes
516
the base directory for the other paths. (Vincent Ladeuil, #670851)
518
* Correctly set the Content-Type header when HTTP POSTing to comply
519
with stricter web frameworks. (Vincent Ladeuil, #665100)
521
* Don't force openssh to use protocol=2, since that is now the default.
522
(Neil Martinsen-Burrell, #561061)
524
* Fix ``KeyError: 'port'`` when getting the stored password for an HTTP URL.
525
(Martin Pool, #654684)
527
* Make ``bzr tag --quiet`` really quiet. (Neil Martinsen-Burrell, #239523)
529
* Missing files (files bzr add'ed and then OS deleted) are now shown in ``bzr
530
status`` output. (Rory Yorke, #134168)
532
* ``NotBranchError`` no longer allows errors from calling
533
``bzrdir.open_repository()`` to propagate. This is unhelpful at best,
534
and at worst can trigger infinite loops in callers. (Andrew Bennetts)
536
* The ``branch.tags.merge_to(target_branch)`` API used by plugins such as
537
``bzr-builddeb`` now propagates changes to the master branch of the
538
target branch (if there is one). This makes it consistent with the
539
other tag APIs. (Andrew Bennetts, #603395)
541
* Windows installers no longer requires the Microsoft vcredist to be
542
installed. (Martin [gz], Gary van der Merwe, #632465)
547
* Add documentation of the ability to edit hunks when shelving.
548
(Neil Martinsen-Burrell, #517660)
550
* Be more specific about the meaning of revision ranges for ``bzr diff``.
551
(Neil Martinsen-Burrell, #247282)
553
* Document the comment character in the .bzrignore file, including a
554
workaround for ignore patterns that begin with #.
555
(Neil Martinsen-Burrell, #631515)
560
* Add ``bzrlib.pyutils`` module with helper functions for some Python
561
tasks such as resolving a dotted name to a Python object
562
(``get_named_object``). (Andrew Bennetts)
564
* ``bzrlib.tests.ForwardingResult`` no longer exists. Use
565
``testtools.ExtendedToOriginalDecorator`` instead. (Andrew Bennetts)
567
* ``known_hooks_key_to_parent_and_attribute`` in ``bzrlib.hooks`` has been
568
deprecated in favour of ``known_hooks.key_to_parent_and_attribute`` in
569
the same module. (Andrew Bennetts)
574
* ``tools/fixed-in.py`` find a bug in NEWS from its number or a regexp
575
matching the news entry and display the corresponding release, date, fix
576
authors and the news entry itself. (Vincent Ladeuil)
581
* Blank output section in scriptrunner tests no longer match any output.
582
Instead, use '...' as a wildcard if you don't care about the output.
583
(Martin Pool, #637830)
585
* ``bzr test-script script`` is a new command that runs a shell-like script
586
from an the ``script`` file. (Vincent Ladeuil)
588
* Fix spurious test failures on babune related to the http pipe cleanup and
589
get rid of some 'bytes left on the HTTP socket' useless log messages.
590
(Vincent Ladeuil, #655557)
592
* ``bzrlib.tests.per_workingtree.TestCaseWithWorkingTree.make_branch_builder``
593
respects its ``relpath`` parameter. (Vincent Ladeuil)
600
External Compatibility Breaks
601
*****************************
603
* The ``bzr tags`` command sorts tag names using a natural sort by
604
default (so tag2 sorts before tag10). The previous default was
605
strictly "asciibetical". That behavior is still available as ``bzr tags
606
--sort=alpha``. (Neil Martinsen-Burrell, #640760)
608
* ``BzrDir.generate_backup_name`` has been deprecated and replaced by a
609
private method. ``osutils.available_backup_name`` provides an extensible
610
replacement. This allowed the deprecation of
611
``bzrlib.transform.get_backup_name``,
612
``bzrlib.transform._get_backup_name`` and
613
``bzrlib.transform.TreeTransformBase.has_named_child``.
619
* Add ``mainline`` revision specifier, which selects the revision that
620
merged a specified revision into the mainline. (Aaron Bentley)
622
* Add ``annotate`` revision specifier, which selects the revision that
623
introduced a specified line of a file. (Aaron Bentley)
625
* Add ``-Dmem_dump`` debug flag, which uses meliae to dump memory to
626
a file upon an out of memory error.
627
(Karl Bielefeldt, #551391)
629
* ``bzr status`` now displays a summary of existing shelves after
630
the other status information. This is done using a ``post_status``
632
(Parth Malwankar, #403687)
634
* GNU lsh is now a supported lsh client; just set BZR_SSH to 'lsh'.
635
Also, bzr will recognize if the 'ssh' comand is a symlink to lsh.
636
(Matthew Gordon, #374700)
638
* The ``pull`` and ``update`` commands now take a ``--show-base``
639
option that, in the case of conflicts, shows the base revision text.
640
(Rory Yorke, #202374)
645
* ``bzr break-lock --force`` breaks the lock without prompting. (Before
646
using this, make sure the process holding the lock really is dead.)
647
(Martin Pool, #397315)
649
* ``bzr remove`` now takes a ``--no-backup`` option for when you don't want it
650
to backup anything, just delete it. This option used to be called ``--force``
651
which is now deprecated.
652
(Marius Kruger, #400554)
654
* When using the pycurl client module, Bazaar shows some of the text from
655
HTTP server error messages.
656
(Martin Pool, #656667)
661
* Don't force openssh to use protocol=2, since that is now the default.
662
(Neil Martinsen-Burrell, #561061)
664
* Fix signature of RemoteBzrDir.create_workingtree to match that of its
665
superclass. (Neil Martinsen-Burrell, Martin Pool, #524627)
667
* Fix traceback with python-2.7's xmlrpclib
668
(Toshio Kuratomi, #612096)
670
* Print junk rather than throwing a UnicodeDecodeError from ``bzr version-info``
671
when using the rio format (with non-ascii information) on a non-utf-8
672
terminal. (Andrej A Antonov, #518609)
674
* Treat all IO, OS, and socket errors consistently when establishing
675
SSH/SFTP connections via a subprocess. (Andrew Bennetts)
677
* ``unshelve --preview`` now can show diff in a non-ascii encoding.
678
(Andrej A Antonov, #518916)
680
* Deleting a versioned directory can leave orphans: unversioned files that
681
were present don't have a parent anymore. The
682
``bzr.transform.orphan_policy`` configuration option controls the ``bzr``
683
behaviour: ``conflict`` (the default) leave the orphans in place and
684
create a conflict for the directory, ``move`` create orphans named
685
``<file>.~#~`` in a ``bzr-orphans`` directory at the root of the working
686
tree. (Vincent Ladeuil, #323111)
694
* Correct the documentation for setting up the smart server with Apache.
695
(Neil Martinsen-Burrell, #311518)
697
* Fix rst typos in bzrlib/help_topics/en/conflict-types.txt.
698
(Vincent Ladeuil, #660943)
700
* Provide more detailed help on the Launchpad plugin at "bzr help
701
plugins/launchpad". (Neil Martinsen-Burrell, #589379)
703
* Suggest ``bzr revert`` for restoring locally deleted files in help text
704
for ``bzr update``. (John C Barstow, #191466)
709
* ``WorkingTree`` methods ``pull``, ``update``, and ``_update_tree``
710
now have an optional argument, ``show_base``, which is by default
711
False. This is flag is ultimately passed to ``merge.merge_inner``
712
in each case. (Rory Yorke, #202374)
717
* Small change to GroupCompressBlock to work more in terms of 'chunks'
718
rather than 'content' for its compressed storage. (John Arbash Meinel)
720
* When running ``bzr selftest --subunit`` the subunit stream will no
721
longer include the "log" information for tests which are considered to
722
be 'successes' (success, xfail, skip, etc) (John Arbash Meinel)
727
* Add a new simpler way to generate multiple test variations, by setting
728
the `scenarios` attribute of a test class to a list of scenarios
729
descriptions, then using `load_tests_apply_scenarios`. (See the testing
730
guide and `bzrlib.tests.scenarios`.) Simplify `test_http` using this.
731
(Martin Pool, #597791)
733
* Add ``tests/ssl_certs/ca.crt`` to the required test files list. Test
734
involving the pycurl https test server fail otherwise when running
735
selftest from an installed version. (Vincent Ladeuil, #651706)
737
* Fix tests that failed when run under ``LANG=C``.
738
(Andrew Bennetts, #632387)
740
* Skip tests that needs a bzr source tree when there isn't one. This is
741
needed to successfully run the test suite for installed versions.
742
(Vincent Ladeuil, #644855).
744
* Skip the tests that requires respecting the chmod bits when running as root.
745
(Vincent Ladeuil, #646133)
747
* Suppress the "maximum recursion depth exceeded in __subclasscheck__"
748
warning on stderr emitted during ``test_dict_deepnested`` in
749
``bzrlib/tests/test__bencode.py``. (Andrew Bennetts)
751
* Use tests.TestCaseInTempDir for tests that requires disk resources.
752
(Vincent Ladeuil, #650001)
759
This is the first beta of the 2.3 series, leading up to a 2.3.0
760
release in January or February. Beta releases are suitable for everyday use
761
but may cause some incompatibilities with plugins. Some plugins may need
762
small updates to work with 2.3b1.
764
2.3b1 includes some performance improvements in both speed and memory
765
consumption, some preliminary support for generating a texinfo version of
766
the doc and better support for launchpad. Many changes were made to make
767
our test suite more robust as well as numerous documentation fixes. It
768
improves the common infrastructure for dealing with colocated named
769
branches and foreign branches. We plan to continue with these themes
770
through the 2.3 series.
772
It also includes bug fixes for 2.0.6, 2.1.3 and 2.2.1 and over 40 fixes of
776
External Compatibility Breaks
777
*****************************
784
* Added ``pre_status`` and ``post_status`` hooks. This allows plugins
785
to register custom handlers which will be invoked before/after the
786
standard status output is displayed. (Parth Malwankar)
788
* ``bzr break-lock --config [location]`` can now break config files
789
locks. (Vincent Ladeuil, #525571)
791
* ``bzrlib.config.LockableConfig`` is a base class for config files that
792
needs to be protected against multiple writers. All methods that
793
change a configuration variable value must be decorated with
794
@needs_write_lock (set_option() for example).
795
(Vincent Ladeuil, #525571)
797
* The ``lp:`` prefix will now use your known username (from
798
``bzr launchpad-login``) to expand ``~`` to your username. For example:
799
``bzr launchpad-login user && bzr push lp:~/project/branch`` will now
800
push to ``lp:~user/project/branch``. (John Arbash Meinel)
802
* New development format ``development8-subtree`` which is similar to the
803
``2a`` format and adds subtree support. (Jelmer Vernooij)
808
* Allow using both ``--using`` and ``--diff-options``.
809
(Matthäus G. Chajdas, #234708)
811
* Allow using non-integer bug ID with generic bug trackers.
812
(Alexandre Garnier, #440472)
814
* ``bzr remove`` now just backs up changed files instead of exiting,
815
forcing you to choose to either keep or delete them. Bazaar will now delete
816
the files if they can easily be recovered using revert, otherwise they
817
will be backed up (adding an extension of the form .~#~).
818
(Marius Kruger, #400554)
820
* ``bzr revert`` and ``bzr status`` are up to 15% faster on large trees
821
with many changes by not repeatedly building a list of all file-ids.
824
* Decrease memory consumption when many chk index pages are loaded. (Such
825
as during ``bzr co`` or ``bzr ls -R`` of a large tree.) Often we need to
826
read many chk pages because the individual chk map nodes will be spread
827
randomly. Peak memory for 'bzr ls -R' on a large tree dropped from 396MB
828
down to 247MB, expect even more significant savings on 64-bit platforms.
831
* Decrease peak memory during ``bzr send``. The old code was caching all
832
text content and all inventory strings for all revisions before
833
computing the diffs. Now we only cache as long as there is a child that
834
will need them. Sending 2000 bzr revisions drops from 1.2GB peak to
835
256MB peak. (John Arbash Meinel, #614576)
837
* ``DirState`` internals use a little bit less memory. For bzr.dev it
838
drops the memory from 1MB down to about 800kB. And replaces a few
839
thousand tuples and sets with StaticTuple. (John Arbash Meinel)
841
* Inventory entries now consume less memory (on 32-bit Ubuntu file entries
842
have dropped from 68 bytes to 40, and directory entries from 120 bytes
843
to 48). (Andrew Bennetts)
845
* Reduce peak memory by one copy of compressed text when writing to pack
847
(John Arbash Meinel, #566940)
849
* When building new working trees, default to reading from the repository
850
rather than the source tree unless explicitly requested. (via
851
``--files-from`` and ``--hardlink`` for ``bzr branch`` and
852
``bzr checkout``. Generally, 2a format repositories extract
853
content faster than seeking and reading content from another tree,
854
especially in cold-cache situations. (John Arbash Meinel, #607298)
856
* Add ``__pycache__`` to the default ``ignores`` file. Future releases of
857
Python will use this directory to store bytecodes.
858
(Andrea Corbellini, #626687)
863
* Additional merges after an unrelated branch has been merged with its
864
history no longer crash when deleted files are involved.
865
(Vincent Ladeuil, John Arbash Meinel, #375898)
867
* ``bzr add SYMLINK/FILE`` now works properly when the symlink points to a
868
previously-unversioned directory within the tree: the directory is
869
marked versioned too.
870
(Martin Pool, #192859)
872
* ``bzr clean-tree`` issues a warning if it is unable to delete a file
873
due to ``errno.EACCES`` instead of exiting with an error on Windows.
874
(Parth Malwankar, #430785)
876
* ``bzr commit SYMLINK`` now works, rather than trying to commit the
877
target of the symlink.
878
(Martin Pool, John Arbash Meinel, #128562)
880
* ``bzr ignore PATTERNS`` exits with error if a bad pattern is supplied.
881
``InvalidPattern`` exception error message now shows faulting
883
(Parth Malwankar #300062)
885
* ``bzr upgrade`` now creates the ``backup.bzr`` directory with the same
886
permissions as ``.bzr`` directory on a POSIX OS.
887
(Parth Malwankar, #262450)
889
* CommitBuilder now uses the committer instead of _config.username to generate
890
the revision-id. (Aaron Bentley, #614404)
892
* Configuration files in ``${BZR_HOME}`` are now written in an atomic
893
way which should help avoid problems with concurrent writers.
894
(Vincent Ladeuil, #525571)
896
* CommitBuilder now uses the committer instead of _config.username to generate
897
the revision-id. (Aaron Bentley, #614404)
899
* Configuration files in ``${BZR_HOME}`` are now protected against
900
concurrent writers by using a lock. (Vincent Ladeuil, #525571)
902
* Cope with Microsoft FTP Server and VSFTPd that return reply '250
903
Directory created' when mkdir succeeds. (Martin Pool, #224373)
905
* `decode` parameter to get() method in FtpTransport and GioTransport classes
906
is deprecated. (Alexander Belchenko)
908
* Don't print internal object name when print an invalid revision spec
909
error. (Neil Martinsen-Burrell, #598701)
911
* Don't traceback when a lockdir's ``held/info`` file is corrupt (e.g.
912
contains only NUL bytes). Instead warn the user, and allow ``bzr
913
break-lock`` to remove it. (Andrew Bennetts, #619872)
915
* ``EPIPE`` can be raised during test server shutdown. This happened on
916
gentoo only so far. (Vincent Ladeuil, #627277)
918
* Errors occurring during HTTP(S) test server starts should now be
919
handled cleanly. (Vincent Ladeuil, #392402)
921
* Fix ``AttributeError on parent.children`` when adding a file under a
922
directory that was a symlink in the previous commit.
923
(Martin Pool, #192859)
925
* Fix ``AttributeError: 'NoneType' object has no attribute 'close'`` in
926
``_close_ssh_proc`` when using ``bzr+ssh://``. This was causing
927
connections to pre-1.6 bzr+ssh servers to fail, and causing warnings on
928
stderr in some other circumstances. (Andrew Bennetts, #633745)
930
* Fix spurious paramiko warning on hardy by ensuring that ``selftest``
931
properly remove its warning filter. (Vincent Ladeuil, #625686)
933
* Fix ``AttributeError on parent.children`` when adding a file under a
934
directory that was a symlink in the previous commit.
935
(Martin Pool, #192859)
937
* Fix ``AttributeError: 'NoneType' object has no attribute 'close'`` in
938
``_close_ssh_proc`` when using ``bzr+ssh://``. This was causing
939
connections to pre-1.6 bzr+ssh servers to fail, and causing warnings on
940
stderr in some other circumstances. (Andrew Bennetts, #633745)
942
* Fix a problem in bzr's ``Makefile`` that meant syntax errors in some
943
parts of bzr's source code could cause ``make check-nodocs`` to
944
incorrectly return an exit code of 0.
945
(Vincent Ladeuil, #626667)
947
* ``HTTP/1.1`` test servers now set a ``Content-Length`` header to comply
948
with pedantic ``HTTP/1.1`` clients. (Vincent Ladeuil, #568421)
950
* Most of the leaked threads during selftest are now fixed, allowing the
951
full test suite to pass on gentoo.
952
(Vincent Ladeuil, #392127)
954
* Only call ``setlocale`` in the bzr startup script on posix systems. This
955
avoids an issue with the newer windows C runtimes used by Python 2.6 and
956
later which can mangle bytestrings printed to the console.
957
(Martin [gz], #631350)
959
* `PathNotChild` should not give a traceback.
960
(Martin Pool, #98735)
962
* Prevent ``CHKMap.apply_delta`` from generating non-canonical CHK maps,
963
which can result in "missing referenced chk root keys" errors when
964
fetching from repositories with affected revisions.
965
(Andrew Bennetts, #522637)
967
* Raise ValueError instead of a string exception.
968
(John Arbash Meinel, #586926)
970
* Repositories accessed via a smart server now reject being stacked on a
971
repository in an incompatible format, as is the case when accessing them
972
via other methods. This was causing fetches from those repositories via
973
a smart server (e.g. using ``bzr branch``) to receive invalid data.
974
(Andrew Bennetts, #562380)
976
* Selftest with versions of subunit that support ``stopTestRun`` will no longer
977
error. This error was caused by 2.0 not being updated when upstream
978
python merged the end of run patch, which chose ``stopTestRun`` rather than
979
``done``. (Robert Collins, #571437)
981
* Stop ``AttributeError: 'module' object has no attribute 'ElementTree'``
982
being thrown from ``xml_serializer`` on certain cElementTree setups.
983
(Martin [gz], #254278)
985
* strace test-helper tests cope with the new Ubuntu policy of not allowing
986
users to attach to their own processes by default.
987
(Martin Pool, #626679)
989
* Test classes like ``TestCase``, ``TestLoader``, and ``TestSuite`` should
990
be available from ``bzrlib.tests.*``. They used to be, but were
991
accidentally removed. (John Arbash Meinel, #627438)
993
* ``Transport.stat`` on a symlink, including a transport pointing directly
994
to a symlink, now returns information about the symlink.
997
* Upgrading or fetching from a non-rich-root repository to a rich-root
998
repository (e.g. from pack-0.92 to 2a) no longer fails with
999
``'Inter1and2Helper' object has no attribute 'source_repo'``. This was
1000
a regression from Bazaar 2.1. (Andrew Bennetts, #636930)
1005
* Added a builder/writer sphinx extension that can generate texinfo files. The
1006
generated files are syntactically correct but the info navigation nodes
1007
needs more work. (Vincent Ladeuil, #219334)
1009
* First tests defined for sphinx, including a new bzrlib.tests.features.sphinx
1010
to make the tests conditional.
1013
* Fix a lot of references in the docs to the old http://bazaar-vcs.org to
1014
the new http://bazaar.canonical.com or http://wiki.bazaar.canonical.com
1015
(John Arbash Meinel, #617503)
1020
* When passing a file to ``UTF8DirReader`` make sure to close the current
1021
directory file handle after the chdir fails. Otherwise when passing many
1022
filenames into a command line ``bzr status`` we would leak descriptors.
1023
(John Arbash Meinel, #583486)
1025
* `ControlDirFormat` and `ControlDir` have been split out of `BzrDirFormat`
1026
and `BzrDir`, respectively. `ControlDirFormat`
1027
and `ControlDir` should be used as the base classes for new non-.bzr
1030
`BzrDirFormat.register_control_format` has been renamed to
1031
`ControlDirFormat.register_format`.
1033
`BzrDirFormat.register_server_control_format` has been removed.
1035
Probing for control directories is now done by separate objects derived
1036
from `bzrlib.controldir.Prober` and registered using
1037
`bzrlib.controldir.ControlDirFormat.register_prober` or
1038
`bzrlib.controldir.ControlDirFormat.register_server_prober`.
1039
`BzrDirFormat.probe_transport` has been moved onto `Prober`.
1041
`BzrDirFormat.register_format` has been renamed to
1042
`BzrProber.register_bzrdir_format`.
1044
`bzrlib.bzrdir.network_format_registry` has been moved to
1045
`bzrlib.controldir`.
1049
* ``bzrlib.transform.TreeTransformBase.final_kind``,
1050
``bzrlib.transform.TreeTransform.tree_kind`` and
1051
``bzrlib.transform.TransformPreview.tree_kind`` now return None instead
1052
of raising NoSuchFile. (Vincent Ladeuil)
1054
* BzrError subclasses no longer support the name "message" to be used
1055
as an argument for __init__ or in _fmt format specification as this
1056
breaks in some Python versions. errors.LockError.__init__ argument
1057
is now named "msg" instead of earlier "message".
1058
(Parth Malwankar, #603461)
1060
* Configuration files should now use the ``from_string`` constructor rather
1061
than the ``file`` parameter of the ``_get_parser`` method. The later has
1062
been deprecated. ``from_string`` also accept a ``save=True`` parameter to
1063
have the configuration file immediately written to disk.
1066
* Deprecate treating a `PushResult` and `PullResult` as an integer for the
1067
relative change in revno.
1070
* `FileInWrongBranch` is deprecated in favour of `PathNotChild` and no
1074
* ``IniBaseConfig`` objects should now use the ``from_string`` constructor
1075
the rather than the ``file`` parameter of the ``_get_parser`` method. The
1076
later has been deprecated. (Vincent Ladeuil)
1078
* InventoryEntry instances now raise AttributeError if you try to assign
1079
to attributes that are irrelevant to that kind of entry. e.g. setting
1080
``symlink_target`` on an InventoryFile will fail. It is still okay to
1081
read those attributes on any kind of InventoryEntry. The complete list
1082
of affected attributes is: ``executable``, ``text_id``, ``text_sha1``,
1083
``text_size`` (only valid for kind == file); ``symlink_target`` (only
1084
valid for kind == link); and ``reference_revision`` (only valid for kind
1085
== tree-reference). (Andrew Bennetts)
1087
* InventoryEntry objects no longer have ``_put_in_tar`` or
1088
``_put_on_disk`` methods. (Andrew Bennetts)
1090
* The ``get_filename`` parameter in the ``config.IniBaseConfig``
1091
constructor has been deprecated, use the ``file_name`` parameter instead.
1094
* `tree_files` and `internal_tree_files` are now deprecated in favor of
1095
`WorkingTree.open_containing_paths`.
1101
* Remove used and broken code path in ``BranchInitHookParams.__repr__``.
1107
* Avoid spurious failures in ssh tests: wait for the SSH server to
1108
actually finish, rather than just waiting for it to negotiate the key
1109
exchange. (John Arbash Meinel, #626876)
1111
* ``build_tree_contents`` can create symlinks.
1112
(Martin Pool, John Arbash Meinel)
1114
* Catch socket errors to avoid
1115
bt.test_sftp_transport.SSHVendorBadConnection.test_bad_connection_ssh
1116
random failures. (Vincent Ladeuil, #601804)
1118
* HTTP test servers will leak less threads (and sockets) and will not hang on
1119
AIX anymore. (Vincent Ladeuil, #405745)
1121
* On platforms that don't support forking give a nice error message saying so
1122
when ``bzr selftest --parallel=fork`` is used. (Martin [gz], #528730)
1124
* Rearrange thread leak detection code to eliminate global state and make it
1125
possible to extend the reporting. (Martin [gz], #633462)
1127
* The old ``bzr selftest --benchmark`` option has been removed.
1128
<https://launchpad.net/bzr-usertest> is an actively-maintained
1129
macrobenchmark suite.
1132
* The test suite now simply holds log files in memory, rather than writing them
1133
out to disk and then reading them back in and deleting them.
1136
* The way ``bzr selftest --parallel`` generates N partitions of tests to
1137
run in parallel has changed. Instead of splitting the list of tests at
1138
N-1 points, it distributes the tests one-by-one into the partitions in a
1139
round robin fashion. This reduces the total time to run the tests in
1140
parallel because a series of slow tests in the test suite will be
1141
distributed evenly among the parallel test suites, rather than slowing
1142
down just one suite. (Andrew Bennetts)
1144
* Tracebacks from a parameterized test are no longer reported against every
1145
parameterization of that test. This was done by adding a hack to
1146
``bzrlib.tests.clone_test`` so that it no longer causes
1147
testtools.TestCase instances to share a details dict.
1148
(Andrew Bennetts, #625574)
1152
vim: tw=74 ft=rst ff=unix