5462.5.1
by Andrew Bennetts
Split NEWS into per-release doc/en/release-notes/bzr-*.txt |
1 |
#################### |
2 |
Bazaar Release Notes |
|
3 |
#################### |
|
4 |
||
5 |
.. toctree:: |
|
6 |
:maxdepth: 1 |
|
7 |
||
8 |
bzr 0.9.0 |
|
9 |
######### |
|
10 |
||
11 |
:Released: 2006-08-11 |
|
12 |
||
13 |
Surprises |
|
14 |
********* |
|
15 |
||
16 |
* The hard-coded built-in ignore rules have been removed. There are |
|
17 |
now two rulesets which are enforced. A user global one in |
|
18 |
``~/.bazaar/ignore`` which will apply to every tree, and the tree |
|
19 |
specific one '.bzrignore'. |
|
20 |
``~/.bazaar/ignore`` will be created if it does not exist, but with |
|
21 |
a more conservative list than the old default. |
|
22 |
This fixes bugs with default rules being enforced no matter what. |
|
23 |
The old list of ignore rules from bzr is available by |
|
24 |
running 'bzr ignore --old-default-rules'. |
|
25 |
(Robert Collins, Martin Pool, John Arbash Meinel) |
|
26 |
||
27 |
* 'branches.conf' has been changed to 'locations.conf', since it can apply |
|
28 |
to more locations than just branch locations. |
|
29 |
(Aaron Bentley) |
|
30 |
||
31 |
Improvements |
|
32 |
************ |
|
33 |
||
34 |
* The revision specifier "revno:" is extended to accept the syntax |
|
35 |
revno:N:branch. For example, |
|
36 |
revno:42:http://bazaar-vcs.org/bzr/bzr.dev/ means revision 42 in |
|
37 |
bzr.dev. (Matthieu Moy) |
|
38 |
||
39 |
* Tests updates to ensure proper URL handling, UNICODE support, and |
|
40 |
proper printing when the user's terminal encoding cannot display |
|
41 |
the path of a file that has been versioned. |
|
42 |
``bzr branch`` can take a target URL rather than only a local directory. |
|
43 |
``Branch.get_parent()/set_parent()`` now save a relative path if possible, |
|
44 |
and normalize the parent based on root, allowing access across |
|
45 |
different transports. (John Arbash Meinel, Wouter van Heyst, Martin Pool) |
|
46 |
(Malone #48906, #42699, #40675, #5281, #3980, #36363, #43689, |
|
47 |
#42517, #42514) |
|
48 |
||
49 |
* On Unix, detect terminal width using an ioctl not just $COLUMNS. |
|
50 |
Use terminal width for single-line logs from ``bzr log --line`` and |
|
51 |
pending-merge display. (Robert Widhopf-Fenk, Gustavo Niemeyer) |
|
52 |
(Malone #3507) |
|
53 |
||
54 |
* On Windows, detect terminal width using GetConsoleScreenBufferInfo. |
|
55 |
(Alexander Belchenko) |
|
56 |
||
57 |
* Speedup improvement for 'date:'-revision search. (Guillaume Pinot). |
|
58 |
||
59 |
* Show the correct number of revisions pushed when pushing a new branch. |
|
60 |
(Robert Collins). |
|
61 |
||
62 |
* 'bzr selftest' now shows a progress bar with the number of tests, and |
|
63 |
progress made. 'make check' shows tests in -v mode, to be more useful |
|
64 |
for the PQM status window. (Robert Collins). |
|
65 |
When using a progress bar, failed tests are printed out, rather than |
|
66 |
being overwritten by the progress bar until the suite finishes. |
|
67 |
(John Arbash Meinel) |
|
68 |
||
69 |
* 'bzr selftest --benchmark' will run a new benchmarking selftest. |
|
70 |
'bzr selftest --benchmark --lsprof-timed' will use lsprofile to generate |
|
71 |
profile data for the individual profiled calls, allowing for fine |
|
72 |
grained analysis of performance. |
|
73 |
(Robert Collins, Martin Pool). |
|
74 |
||
75 |
* 'bzr commit' shows a progress bar. This is useful for commits over sftp |
|
76 |
where commit can take an appreciable time. (Robert Collins) |
|
77 |
||
78 |
* 'bzr add' is now less verbose in telling you what ignore globs were |
|
79 |
matched by files being ignored. Instead it just tells you how many |
|
80 |
were ignored (because you might reasonably be expecting none to be |
|
81 |
ignored). 'bzr add -v' is unchanged and will report every ignored |
|
82 |
file. (Robert Collins). |
|
83 |
||
84 |
* ftp now has a test server if medusa is installed. As part of testing, |
|
85 |
ftp support has been improved, including support for supplying a |
|
86 |
non-standard port. (John Arbash Meinel). |
|
87 |
||
88 |
* 'bzr log --line' shows the revision number, and uses only the |
|
89 |
first line of the log message (#5162, Alexander Belchenko; |
|
90 |
Matthieu Moy) |
|
91 |
||
92 |
* 'bzr status' has had the --all option removed. The 'bzr ls' command |
|
93 |
should be used to retrieve all versioned files. (Robert Collins) |
|
94 |
||
95 |
* 'bzr bundle OTHER/BRANCH' will create a bundle which can be sent |
|
96 |
over email, and applied on the other end, while maintaining ancestry. |
|
97 |
This bundle can be applied with either 'bzr merge' or 'bzr pull', |
|
98 |
the same way you would apply another branch. |
|
99 |
(John Arbash Meinel, Aaron Bentley) |
|
100 |
||
101 |
* 'bzr whoami' can now be used to set your identity from the command line, |
|
102 |
for a branch or globally. (Robey Pointer) |
|
103 |
||
104 |
* 'bzr checkout' now aliased to 'bzr co', and 'bzr annotate' to 'bzr ann'. |
|
105 |
(Michael Ellerman) |
|
106 |
||
107 |
* 'bzr revert DIRECTORY' now reverts the contents of the directory as well. |
|
108 |
(Aaron Bentley) |
|
109 |
||
110 |
* 'bzr get sftp://foo' gives a better error when paramiko is not present. |
|
111 |
Also updates things like 'http+pycurl://' if pycurl is not present. |
|
112 |
(John Arbash Meinel) (Malone #47821, #52204) |
|
113 |
||
114 |
* New env variable ``BZR_PROGRESS_BAR``, sets the default progress bar type. |
|
115 |
Can be set to 'none' or 'dummy' to disable the progress bar, 'dots' or |
|
116 |
'tty' to create the respective type. (John Arbash Meinel, #42197, #51107) |
|
117 |
||
118 |
* Improve the help text for 'bzr diff' to explain what various options do. |
|
119 |
(John Arbash Meinel, #6391) |
|
120 |
||
121 |
* 'bzr uncommit -r 10' now uncommits revisions 11.. rather than uncommitting |
|
122 |
revision 10. This makes -r10 more in line with what other commands do. |
|
123 |
'bzr uncommit' also now saves the pending merges of the revisions that |
|
124 |
were removed. So it is safe to uncommit after a merge, fix something, |
|
125 |
and commit again. (John Arbash Meinel, #32526, #31426) |
|
126 |
||
127 |
* 'bzr init' now also works on remote locations. |
|
128 |
(Wouter van Heyst, #48904) |
|
129 |
||
130 |
* HTTP support has been updated. When using pycurl we now support |
|
131 |
connection keep-alive, which reduces dns requests and round trips. |
|
132 |
And for both urllib and pycurl we support multi-range requests, |
|
133 |
which decreases the number of round-trips. Performance results for |
|
134 |
``bzr branch http://bazaar-vcs.org/bzr/bzr.dev/`` indicate |
|
135 |
http branching is now 2-3x faster, and ``bzr pull`` in an existing |
|
136 |
branch is as much as 4x faster. |
|
137 |
(Michael Ellerman, Johan Rydberg, John Arbash Meinel, #46768) |
|
138 |
||
139 |
* Performance improvements for sftp. Branching and pulling are now up to |
|
140 |
2x faster. Utilize paramiko.readv() support for async requests if it |
|
141 |
is available (paramiko > 1.6) (John Arbash Meinel) |
|
142 |
||
143 |
Bug Fixes |
|
144 |
********* |
|
145 |
||
146 |
* Fix shadowed definition of TestLocationConfig that caused some |
|
147 |
tests not to run. |
|
148 |
(Erik Bågfors, Michael Ellerman, Martin Pool, #32587) |
|
149 |
||
150 |
* Fix unnecessary requirement of sign-my-commits that it be run from |
|
151 |
a working directory. (Martin Pool, Robert Collins) |
|
152 |
||
153 |
* 'bzr push location' will only remember the push location if it succeeds |
|
154 |
in connecting to the remote location. (John Arbash Meinel, #49742) |
|
155 |
||
156 |
* 'bzr revert' no longer toggles the executable bit on win32 |
|
157 |
(John Arbash Meinel, #45010) |
|
158 |
||
159 |
* Handle broken pipe under win32 correctly. (John Arbash Meinel) |
|
160 |
||
161 |
* sftp tests now work correctly on win32 if you have a newer paramiko |
|
162 |
(John Arbash Meinel) |
|
163 |
||
164 |
* Cleanup win32 test suite, and general cleanup of places where |
|
165 |
file handles were being held open. (John Arbash Meinel) |
|
166 |
||
167 |
* When specifying filenames for 'diff -r x..y', the name of the file in the |
|
168 |
working directory can be used, even if its name is different in both x |
|
169 |
and y. |
|
170 |
||
171 |
* File-ids containing single- or double-quotes are handled correctly by |
|
172 |
push. (Aaron Bentley, #52227) |
|
173 |
||
174 |
* Normalize unicode filenames to ensure cross-platform consistency. |
|
175 |
(John Arbash Meinel, #43689) |
|
176 |
||
177 |
* The argument parser can now handle '-' as an argument. Currently |
|
178 |
no code interprets it specially (it is mostly handled as a file named |
|
179 |
'-'). But plugins, and future operations can use it. |
|
180 |
(John Arbash meinel, #50984) |
|
181 |
||
182 |
* Bundles can properly read binary files with a plain '\r' in them. |
|
183 |
(John Arbash Meinel, #51927) |
|
184 |
||
185 |
* Tuning ``iter_entries()`` to be more efficient (John Arbash Meinel, #5444) |
|
186 |
||
187 |
* Lots of win32 fixes (the test suite passes again). |
|
188 |
(John Arbash Meinel, #50155) |
|
189 |
||
190 |
* Handle openbsd returning None for sys.getfilesystemencoding() (#41183) |
|
191 |
||
192 |
* Support ftp APPE (append) to allow Knits to be used over ftp (#42592) |
|
193 |
||
194 |
* Removals are only committed if they match the filespec (or if there is |
|
195 |
no filespec). (#46635, Aaron Bentley) |
|
196 |
||
197 |
* smart-add recurses through all supplied directories |
|
198 |
(John Arbash Meinel, #52578) |
|
199 |
||
200 |
* Make the bundle reader extra lines before and after the bundle text. |
|
201 |
This allows you to parse an email with the bundle inline. |
|
202 |
(John Arbash Meinel, #49182) |
|
203 |
||
204 |
* Change the file id generator to squash a little bit more. Helps when |
|
205 |
working with long filenames on windows. (Also helps for unicode filenames |
|
206 |
not generating hidden files). (John Arbash Meinel, #43801) |
|
207 |
||
208 |
* Restore terminal mode on C-c while reading sftp password. (#48923, |
|
209 |
Nicholas Allen, Martin Pool) |
|
210 |
||
211 |
* Timestamps are rounded to 1ms, and revision entries can be recreated |
|
212 |
exactly. (John Arbash Meinel, Jamie Wilkinson, #40693) |
|
213 |
||
214 |
* Branch.base has changed to a URL, but ~/.bazaar/locations.conf should |
|
215 |
use local paths, since it is user visible (John Arbash Meinel, #53653) |
|
216 |
||
217 |
* ``bzr status foo`` when foo was unversioned used to cause a full delta |
|
218 |
to be generated (John Arbash Meinel, #53638) |
|
219 |
||
220 |
* When reading revision properties, an empty value should be considered |
|
221 |
the empty string, not None (John Arbash Meinel, #47782) |
|
222 |
||
223 |
* ``bzr diff --diff-options`` can now handle binary files being changed. |
|
224 |
Also, the output is consistent when --diff-options is not supplied. |
|
225 |
(John Arbash Meinel, #54651, #52930) |
|
226 |
||
227 |
* Use the right suffixes for loading plugins (John Arbash Meinel, #51810) |
|
228 |
||
229 |
* Fix ``Branch.get_parent()`` to handle the case when the parent is not |
|
230 |
accessible (John Arbash Meinel, #52976) |
|
231 |
||
232 |
Internals |
|
233 |
********* |
|
234 |
||
235 |
* Combine the ignore rules into a single regex rather than looping over |
|
236 |
them to reduce the threshold where N^2 behaviour occurs in operations |
|
237 |
like status. (Jan Hudec, Robert Collins). |
|
238 |
||
239 |
* Appending to ``bzrlib.DEFAULT_IGNORE`` is now deprecated. Instead, use |
|
240 |
one of the add functions in bzrlib.ignores. (John Arbash Meinel) |
|
241 |
||
242 |
* 'bzr push' should only push the ancestry of the current revision, not |
|
243 |
all of the history in the repository. This is especially important for |
|
244 |
shared repositories. (John Arbash Meinel) |
|
245 |
||
246 |
* ``bzrlib.delta.compare_trees`` now iterates in alphabetically sorted order, |
|
247 |
rather than randomly walking the inventories. (John Arbash Meinel) |
|
248 |
||
249 |
* Doctests are now run in temporary directories which are cleaned up when |
|
250 |
they finish, rather than using special ScratchDir/ScratchBranch objects. |
|
251 |
(Martin Pool) |
|
252 |
||
253 |
* Split ``check`` into separate methods on the branch and on the repository, |
|
254 |
so that it can be specialized in ways that are useful or efficient for |
|
255 |
different formats. (Martin Pool, Robert Collins) |
|
256 |
||
257 |
* Deprecate ``Repository.all_revision_ids``; most methods don't really need |
|
258 |
the global revision graph but only that part leading up to a particular |
|
259 |
revision. (Martin Pool, Robert Collins) |
|
260 |
||
261 |
* Add a BzrDirFormat ``control_formats`` list which allows for control formats |
|
262 |
that do not use '.bzr' to store their data - i.e. '.svn', '.hg' etc. |
|
263 |
(Robert Collins, Jelmer Vernooij). |
|
264 |
||
265 |
* ``bzrlib.diff.external_diff`` can be redirected to any file-like object. |
|
266 |
Uses subprocess instead of spawnvp. |
|
267 |
(James Henstridge, John Arbash Meinel, #4047, #48914) |
|
268 |
||
269 |
* New command line option '--profile-imports', which will install a custom |
|
270 |
importer to log time to import modules and regex compilation time to |
|
271 |
sys.stderr (John Arbash Meinel) |
|
272 |
||
273 |
* 'EmptyTree' is now deprecated, please use ``repository.revision_tree(None)`` |
|
274 |
instead. (Robert Collins) |
|
275 |
||
276 |
* "RevisionTree" is now in bzrlib/revisiontree.py. (Robert Collins) |
|
277 |
||
278 |
||
279 |
.. |
|
280 |
vim: tw=74 ft=rst ff=unix |