5
* Support for OS Windows 98. Also .bzr.log on any windows system
6
saved in My Documents folder. (Alexander Belchenko)
8
* ``bzr mv`` enhanced to support already moved files.
9
In the past the mv command would have failed if the source file doesn't
10
exist. In this situation ``bzr mv`` would now detect that the file has
11
already moved and update the repository accordingly, if the target file
13
A new option ``--after`` has been added so that if two files already
14
exist, you could notify Bazaar that you have moved a (versioned) file and
15
replaced it with another. Thus in this case ``bzr move --after`` will
16
only update the Bazaar identifier.
17
(Steffen Eichenberg, Marius Kruger)
19
* ``ls`` now works on treeless branches and remote branches.
22
* ``bzr help global-options`` describes the global options.
27
* Reserved ids (any revision-id ending in a colon) are rejected by
28
versionedfiles, repositories, branches, and working trees
31
* New Branch hooks facility, with one initial hook 'set_rh' which triggers
32
whenever the revision history is set. This allows triggering on e.g.
33
push, pull, commit, and so on. Developed for use with the branchrss
34
plugin. See bzrlib.branch.BranchHooks for more details. (Robert Collins)
36
* New method ``Branch.push()`` which should be used when pushing from a
37
branch as it makes performance and policy decisions to match the UI
38
level command ``push``. (Robert Collins).
40
* New Branch.last_revision_info method, this is being done to allow
41
optimization of requests for both the number of revisions and the last
42
revision of a branch with smartservers and potentially future branch
43
formats. (Wouter van Heyst, Robert Collins)
45
* Allow 'import bzrlib.plugins.NAME' to work when the plugin NAME has not
46
yet been loaded by load_plugins(). This allows plugins to depend on each
47
other for code reuse without requiring users to perform file-renaming
48
gymnastics. (Robert Collins)
50
* New Repository method 'gather_stats' for statistic data collection.
51
This is expected to grow to cover a number of related uses mainly
52
related to bzr info. (Robert Collins)
56
* ``bzr annotate`` now uses dotted revnos from the viewpoint of the
57
branch, rather than the last changed revision of the file.
58
(John Arbash Meinel, #82158)
60
* Lock operations no longer hang if they encounter a permission problem.
65
* New ``--first`` option to ``bzr selftest`` to run specified tests
66
before the rest of the suite. (Martin Pool)
73
* ``bzr help global-options`` describes the global options. (Aaron Bentley)
77
* Skip documentation generation tests if the tools to do so are not
78
available. Fixes running selftest for installled copies of bzr.
79
(John Arbash Meinel, #80330)
81
* Fix the code that discovers whether bzr is being run from it's
82
working tree to handle the case when it isn't but the directory
83
it is in is below a repository. (James Westby, #77306)
86
bzr 0.14rc1 2007-01-16
90
* New connection: ``bzr+http://`` which supports tunnelling the smart
91
protocol over an HTTP connection. If writing is enabled on the bzr
92
server, then you can write over the http connection.
93
(Andrew Bennetts, John Arbash Meinel)
95
* Aliases now support quotation marks, so they can contain whitespace
98
* PyCurlTransport now use a single curl object. By specifying explicitly
99
the 'Range' header, we avoid the need to use two different curl objects
100
(and two connections to the same server). (Vincent Ladeuil)
102
* ``bzr commit`` does not prompt for a message until it is very likely to
103
succeed. (Aaron Bentley)
105
* ``bzr conflicts`` now takes --text to list pathnames of text conflicts
108
* Fix ``iter_lines_added_or_present_in_versions`` to use a set instead
109
of a list while checking if a revision id was requested. Takes 10s
110
off of the ``fileids_affected_by_revision_ids`` time, which is 10s
111
of the ``bzr branch`` time. Also improve ``fileids_...`` time by
112
filtering lines with a regex rather than multiple ``str.find()``
113
calls. (saves another 300ms) (John Arbash Meinel)
115
* Policy can be set for each configuration key. This allows keys to be
116
inherited properly across configuration entries. For example, this
117
should enable you to do::
120
push_location = sftp://host/srv/project/
121
push_location:policy = appendpath
123
And then a branch like ``/home/user/project/mybranch`` should get an
124
automatic push location of ``sftp://host/srv/project/mybranch``.
127
* Added ``bzr status --short`` to make status report svn style flags
128
for each file. For example::
136
* 'bzr selftest --clean-output' allows easily clean temporary tests
137
directories without running tests. (Alexander Belchenko)
139
* ``bzr help hidden-commands`` lists all hidden commands. (Aaron Bentley)
141
* ``bzr merge`` now has an option ``--pull`` to fall back to pull if
142
local is fully merged into remote. (Jan Hudec)
144
* ``bzr help formats`` describes available directory formats. (Aaron Bentley)
148
* A few tweaks directly to ``fileids_affected_by_revision_ids`` to
149
help speed up processing, as well allowing to extract unannotated
150
lines. Between the two ``fileids_affected_by_revision_ids`` is
151
improved by approx 10%. (John Arbash Meinel)
153
* Change Revision serialization to only write out millisecond
154
resolution. Rather than expecting floating point serialization to
155
preserve more resolution than we need. (Henri Weichers, Martin Pool)
157
* Test suite ends cleanly on Windows. (Vincent Ladeuil)
159
* When 'encoding_type' attribute of class Command is equal to 'exact',
160
force sys.stdout to be a binary stream on Windows, and therefore
161
keep exact line-endings (without LF -> CRLF conversion).
162
(Alexander Belchenko)
164
* Single-letter short options are no longer globally declared. (Martin
167
* Before using detected user/terminal encoding bzr should check
168
that Python has corresponding codec. (Alexander Belchenko)
170
* Formats for end-user selection are provided via a FormatRegistry (Aaron Bentley)
174
* ``bzr missing --verbose`` was showing adds/removals in the wrong
175
direction. (John Arbash Meinel)
177
* ``bzr annotate`` now defaults to showing dotted revnos for merged
178
revisions. It cuts them off at a depth of 12 characters, but you can
179
supply ``--long`` to see the full number. You can also use
180
``--show-ids`` to display the original revision ids, rather than
181
revision numbers and committer names. (John Arbash Meinel, #75637)
183
* bzr now supports Win32 UNC path (e.g. \\HOST\path).
184
(Alexander Belchenko, #57869)
186
* Win32-specific: output of cat, bundle and diff commands don't mangle
187
line-endings (Alexander Belchenko, #55276)
189
* Replace broken fnmatch based ignore pattern matching with custom pattern
191
(Kent Gibson, Jan Hudec #57637)
193
* pycurl and urllib can detect short reads at different places. Update
194
the test suite to test more cases. Also detect http error code 416
195
which was raised for that specific bug. Also enhance the urllib
196
robustness by detecting invalid ranges (and pycurl's one by detecting
197
short reads during the initial GET). (Vincent Ladeuil, #73948)
199
* The urllib connection sharing interacts badly with urllib2
200
proxy setting (the connections didn't go thru the proxy
201
anymore). Defining a proper ProxyHandler solves the
202
problem. (Vincent Ladeuil, #74759)
204
* Use urlutils to generate relative URLs, not osutils
205
(Aaron Bentley, #76229)
207
* ``bzr status`` in a readonly directory should work without giving
208
lots of errors. (John Arbash Meinel, #76299)
210
* Mention the revisionspec topic for the revision option help.
211
(Wouter van Heyst, #31663)
213
* Allow plugins import from zip archives.
214
(Alexander Belchenko, #68124)
219
No changes from 0.13rc1
221
bzr 0.13rc1 2006-11-27
225
* New command ``bzr remove-tree`` allows the removal of the working
229
* urllib uses shared keep-alive connections, so http
230
operations are substantially faster.
231
(Vincent Ladeuil, #53654)
233
* ``bzr export`` allows an optional branch parameter, to export a bzr
234
tree from some other url. For example:
235
``bzr export bzr.tar.gz http://bazaar-vcs.org/bzr/bzr.dev``
238
* Added ``bzr help topics`` to the bzr help system. This gives a
239
location for general information, outside of a specific command.
240
This includes updates for ``bzr help revisionspec`` the first topic
241
included. (Goffredo Baroncelli, John Arbash Meinel, #42714)
243
* WSGI-compatible HTTP smart server. See ``doc/http_smart_server.txt``.
246
* Knit files will now cache full texts only when the size of the
247
deltas is as large as the size of the fulltext. (Or after 200
248
deltas, whichever comes first). This has the most benefit on large
249
files with small changes, such as the inventory for a large project.
250
(eg For a project with 2500 files, and 7500 revisions, it changes
251
the size of inventory.knit from 11MB to 5.4MB) (John Arbash Meinel)
255
* New -D option given before the command line turns on debugging output
256
for particular areas. -Derror shows tracebacks on all errors.
259
* Clean up ``bzr selftest --benchmark bundle`` to correct an import,
260
and remove benchmarks that take longer than 10min to run.
263
* Use ``time.time()`` instead of ``time.clock()`` to decide on
264
progress throttling. Because ``time.clock()`` is actually CPU time,
265
so over a high-latency connection, too many updates get throttled.
268
* ``MemoryTransport.list_dir()`` would strip the first character for
269
files or directories in root directory. (John Arbash Meinel)
271
* New ``ChrootTransportDecorator``, accessible via the ``chroot+`` url
272
prefix. It disallows any access to locations above a set URL. (Andrew
277
* Now _KnitIndex properly decode revision ids when loading index data.
278
And optimize the knit index parsing code. (Dmitry Vasiliev, John
281
* ``bzrlib/bzrdir.py`` was directly referencing ``bzrlib.workingtree``,
282
without importing it. This prevented ``bzr upgrade`` from working
283
unless a plugin already imported ``bzrlib.workingtree``
284
(John Arbash Meinel, #70716)
286
* Suppress the traceback on invalid URLs (Vincent Ladeuil, #70803).
288
* Give nicer error message when an http server returns a 403
289
error code. (Vincent Ladeuil, #57644).
291
* When a multi-range http GET request fails, try a single
292
range one. If it fails too, forget about ranges. Remember that until
293
the death of the transport and propagates that to the clones.
294
(Vincent Ladeuil, #62276, #62029).
296
* Handles user/passwords supplied in url from command
297
line (for the urllib implementation). Don't request already
298
known passwords (Vincent Ladeuil, #42383, #44647, #48527)
300
* _KnitIndex.add_versions() dictionary compresses revision ids as they
301
are added. This fixes bug where fetching remote revisions records
302
them as full references rather than integers. (John Arbash Meinel,
305
* ``bzr ignore`` strips trailing slashes in patterns.
306
Also ``bzr ignore`` rejects absolute paths. (Kent Gibson, #4559)
308
* ``bzr ignore`` takes multiple arguments. (Cheuksan Edward Wang, #29488)
310
* mv correctly handles paths that traverse symlinks.
311
(Aaron Bentley, #66964)
313
* Give nicer looking error messages when failing to connect over ssh.
314
(John Arbash Meinel, #49172)
316
* Pushing to a remote branch does not currently update the remote working
317
tree. After a remote push, ``bzr status`` and ``bzr diff`` on the remote
318
machine now show that the working tree is out of date.
319
(Cheuksan Edward Wang #48136)
321
* Use patiencediff instead of difflib for determining deltas to insert
322
into knits. This avoids the O(N^3) behavior of difflib. Patience
323
diff should be O(N^2). (Cheuksan Edward Wang, #65714)
325
* Running ``bzr log`` on nonexistent file gives an error instead of the
326
entire log history. (Cheuksan Edward Wang #50793)
328
* ``bzr cat`` can look up contents of removed or renamed files. If the
329
pathname is ambiguous, i.e. the files in the old and new trees have
330
different id's, the default is the file in the new tree. The user can
331
use "--name-from-revision" to select the file in the old tree.
332
(Cheuksan Edward Wang, #30190)
336
* TestingHTTPRequestHandler really handles the Range header
337
(previously it was ignoring it and returning the whole file,).
343
* Clean up ``bzr selftest --benchmark bundle`` to correct an import,
344
and remove benchmarks that take longer than 10min to run.
347
bzr 0.12rc1 2006-10-23
351
* ``bzr log`` now shows dotted-decimal revision numbers for all revisions,
352
rather than just showing a decimal revision number for revisions on the
353
mainline. These revision numbers are not yet accepted as input into bzr
354
commands such as log, diff etc. (Robert Collins)
356
* revisions can now be specified using dotted-decimal revision numbers.
357
For instance, ``bzr diff -r 1.2.1..1.2.3. (Robert Collins)
4
359
* ``bzr help commands`` output is now shorter (Aaron Bentley)
361
* ``bzr`` now uses lazy importing to reduce the startup time. This has
362
a moderate effect on lots of actions, especially ones that have
363
little to do. For example ``bzr rocks`` time is down to 116ms from
364
283ms. (John Arbash Meinel)
366
* New Registry class to provide name-to-object registry-like support,
367
for example for schemes where plugins can register new classes to
368
do certain tasks (e.g. log formatters). Also provides lazy registration
369
to allow modules to be loaded on request. (John Arbash Meinel, Adeodato
374
* LogFormatter subclasses show now expect the 'revno' parameter to
375
show() to be a string rather than an int. (Robert Collins)
8
379
* ``TestCase.run_bzr``, ``run_bzr_captured``, and ``run_bzr_subprocess``
9
380
can take a ``working_dir='foo'`` parameter, which will change directory
10
381
for the command. (John Arbash Meinel)
383
* ``bzrlib.lazy_regex.lazy_compile`` can be used to create a proxy
384
around a regex, which defers compilation until first use.
387
* ``TestCase.run_bzr_subprocess`` defaults to supplying the
388
``--no-plugins`` parameter to ensure test reproducability, and avoid
389
problems with system-wide installed plugins. (John Arbash Meinel)
391
* Unique tree root ids are now supported. Newly created trees still
392
use the common root id for compatibility with bzr versions before 0.12.
395
* ``WorkingTree.set_root_id(None)`` is now deprecated. Please
396
pass in inventory.ROOT_ID if you want the default root id value.
397
(Robert Collins, John Arbash Meinel)
399
* New method ``WorkingTree.flush()`` which will write the current memory
400
inventory out to disk. At the same time, read_working_inventory will
401
no longer trash the current tree inventory if it has been modified within
402
the current lock, and the tree will now ``flush()`` automatically on
403
``unlock()``. ``WorkingTree.set_root_id()`` has been updated to take
404
advantage of this functionality. (Robert Collins, John Arbash Meinel)
406
* ``bzrlib.tsort.merge_sorted`` now accepts ``generate_revnos``. This
407
parameter will cause it to add another column to its output, which
408
contains the dotted-decimal revno for each revision, as a tuple.
411
* ``LogFormatter.show_merge`` is deprecated in favour of
412
``LogFormatter.show_merge_revno``. (Robert Collins)
416
* Avoid circular imports by creating a deprecated function for
417
``bzrlib.tree.RevisionTree``. Callers should have been using
418
``bzrlib.revisontree.RevisionTree`` anyway. (John Arbash Meinel,
421
* Don't use ``socket.MSG_WAITALL`` as it doesn't exist on all
422
platforms. (Martin Pool, #66356)
424
* Don't require ``Content-Type`` in range responses. Assume they are a
425
single range if ``Content-Type`` does not exist.
426
(John Arbash Meinel, #62473)
14
428
* bzr branch/pull no longer complain about progress bar cleanup when
15
429
interrupted during fetch. (Aaron Bentley, #54000)