~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to NEWS

  • Committer: Alexander Belchenko
  • Date: 2006-07-31 16:12:57 UTC
  • mto: (1711.2.111 jam-integration)
  • mto: This revision was merged to the branch mainline in revision 1906.
  • Revision ID: bialix@ukr.net-20060731161257-91a231523255332c
new official bzr.ico

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
IN DEVELOPMENT
2
2
 
3
3
  IMPROVEMENTS:
4
 
    * ``bzr help commands`` output is now shorter (Aaron Bentley)
5
 
 
6
 
  INTERNALS:
7
 
 
8
 
    * ``TestCase.run_bzr``, ``run_bzr_captured``, and ``run_bzr_subprocess``
9
 
      can take a ``working_dir='foo'`` parameter, which will change directory 
10
 
      for the command. (John Arbash Meinel)
11
 
 
12
 
  BUG FIXES:
13
 
 
14
 
    * bzr branch/pull no longer complain about progress bar cleanup when
15
 
      interrupted during fetch.  (Aaron Bentley, #54000)
16
 
 
17
 
    * ``WorkingTree.set_parent_trees()`` uses the trees to directly write
18
 
      the basis inventory, rather than going through the repository. This
19
 
      allows us to have 1 inventory read, and 2 inventory writes when
20
 
      committing a new tree. (John Arbash Meinel)
21
 
 
22
 
    * When reverting, files that are not locally modified that do not exist
23
 
      in the target are deleted, not just unversioned (Aaron Bentley)
24
 
 
25
 
bzr 0.11rc2  2006-09-27
26
 
 
27
 
  BUG FIXES:
28
 
 
29
 
    * Test suite hangs on windows fixed. (Andrew Bennets, Alexander Belchenko).
30
 
    
31
 
    * Commit performance regression fixed. (Aaron Bentley, Robert Collins, John
32
 
      Arbash Meinel).
33
 
 
34
 
bzr 0.11rc1  2006-09-25
35
 
 
36
 
  IMPROVEMENTS:
37
 
 
38
 
    * Knit files now wait to create their contents until the first data is
39
 
      added. The old code used to create an empty .knit and a .kndx with just
40
 
      the header. However, this caused a lot of extra round trips over sftp.
41
 
      This can change the time for ``bzr push`` to create a new remote branch
42
 
      from 160s down to 100s. This also affects ``bzr commit`` performance when
43
 
      adding new files, ``bzr commit`` on a new kernel-like tree drops from 50s
44
 
      down to 40s (John Arbash Meinel, #44692)
45
 
 
46
 
    * When an entire subtree has been deleted, commit will now report that
47
 
      just the top of the subtree has been deleted, rather than reporting
48
 
      all the individual items. (Robert Collins)
49
 
 
50
 
    * Commit performs one less XML parse. (Robert Collins)
51
 
 
52
 
    * ``bzr checkout`` now operates on readonly branches as well
53
 
      as readwrite branches. This fixes bug #39542. (Robert Collins)
54
 
 
55
 
    * ``bzr bind`` no longer synchronises history with the master branch.
56
 
      Binding should be followed by an update or push to synchronise the 
57
 
      two branches. This is closely related to the fix for bug #39542.
58
 
      (Robert Collins)
59
 
 
60
 
    * ``bzrlib.lazy_import.lazy_import`` function to create on-demand 
61
 
      objects.  This allows all imports to stay at the global scope, but
62
 
      modules will not actually be imported if they are not used.
63
 
      (John Arbash Meinel)
64
 
 
65
 
    * Support bzr:// and bzr+ssh:// urls to work with the new RPC-based
66
 
      transport which will be used with the upcoming high-performance smart
67
 
      server. The new command ``bzr serve`` will invoke bzr in server mode,
68
 
      which processes these requests. (Andrew Bennetts, Robert Collins, Martin
69
 
      Pool)
70
 
 
71
 
    * New command ``bzr version-info`` which can be used to get a summary
72
 
      of the current state of the tree. This is especially useful as part
73
 
      of a build commands. See ``doc/version_info.txt`` for more information 
74
 
      (John Arbash Meinel)
75
 
 
76
 
  BUG FIXES:
77
 
 
78
 
    * 'bzr inventory [FILE...]' allows restricting the file list to a
79
 
      specific set of files. (John Arbash Meinel, #3631)
80
 
 
81
 
    * Don't abort when annotating empty files (John Arbash Meinel, #56814)
82
 
 
83
 
    * Add ``Stanza.to_unicode()`` which can be passed to another Stanza
84
 
      when nesting stanzas. Also, add ``read_stanza_unicode`` to handle when
85
 
      reading a nested Stanza. (John Arbash Meinel)
86
 
 
87
 
    * Transform._set_mode() needs to stat the right file. 
88
 
      (John Arbash Meinel, #56549)
89
 
 
90
 
    * Raise WeaveFormatError rather than StopIteration when trying to read
91
 
      an empty Weave file. (John Arbash Meinel, #46871)
92
 
 
93
 
    * Don't access e.code for generic URLErrors, only HTTPErrors have .code.
94
 
      (Vincent Ladeuil, #59835)
95
 
 
96
 
    * Handle boundary="" lines properly to allow access through a Squid proxy.
97
 
      (John Arbash Meinel, #57723)
98
 
 
99
 
    * revert now removes newly-added directories (Aaron Bentley, #54172)
100
 
 
101
 
    * ``bzr upgrade sftp://`` shouldn't fail to upgrade v6 branches if there 
102
 
      isn't a working tree. (David Allouche, #40679)
103
 
 
104
 
    * Give nicer error messages when a user supplies an invalid --revision
105
 
      parameter. (John Arbash Meinel, #55420)
106
 
 
107
 
    * Handle when LANG is not recognized by python. Emit a warning, but
108
 
      just revert to using 'ascii'. (John Arbash Meinel, #35392)
109
 
 
110
 
    * Don't use preexec_fn on win32, as it is not supported by subprocess.
111
 
      (John Arbash Meinel)
112
 
 
113
 
    * Skip specific tests when the dependencies aren't met. This includes
114
 
      some ``setup.py`` tests when ``python-dev`` is not available, and
115
 
      some tests that depend on paramiko. (John Arbash Meinel, Mattheiu Moy)
116
 
 
117
 
    * Fallback to Paramiko properly, if no ``ssh`` executable exists on
118
 
      the system. (Andrew Bennetts, John Arbash Meinel)
119
 
 
120
 
    * ``Branch.bind(other_branch)`` no longer takes a write lock on the
121
 
      other branch, and will not push or pull between the two branches.
122
 
      API users will need to perform a push or pull or update operation if they
123
 
      require branch synchronisation to take place. (Robert Collins, #47344)
124
 
 
125
 
    * When creating a tarball or zipfile export, export unicode names as utf-8
126
 
      paths. This may not work perfectly on all platforms, but has the best
127
 
      chance of working in the common case. (John Arbash Meinel, #56816)
128
 
 
129
 
    * When committing, only files that exist in working tree or basis tree
130
 
      may be specified (Aaron Bentley, #50793)
131
 
 
132
 
  PORTABILITY:
133
 
 
134
 
    * Fixes to run on Python 2.5 (Brian M. Carlson, Martin Pool, Marien Zwart)
135
 
 
136
 
  INTERNALS:
137
 
 
138
 
    * TestCaseInTempDir now creates a separate directory for HOME, rather
139
 
      than having HOME set to the same location as the working directory.
140
 
      (John Arbash Meinel)
141
 
 
142
 
    * run_bzr_subprocess() can take an optional 'env_changes={}' parameter,
143
 
      which will update os.environ inside the spawned child. It also can
144
 
      take a 'universal_newlines=True', which helps when checking the output
145
 
      of the command. (John Arbash Meinel)
146
 
 
147
 
    * Refactor SFTP vendors to allow easier re-use when ssh is used. 
148
 
      (Andrew Bennetts)
149
 
 
150
 
    * Transport.list_dir() and Transport.iter_files_recursive() should always
151
 
      return urlescaped paths. This is now tested (there were bugs in a few
152
 
      of the transports) (Andrew Bennetts, David Allouche, John Arbash Meinel)
153
 
 
154
 
    * New utility function symbol_versioning.deprecation_string. Returns the
155
 
      formatted string for a callable, deprecation format pair. (Robert Collins)
156
 
 
157
 
    * New TestCase helper applyDeprecated. This allows you to call a callable
158
 
      which is deprecated without it spewing to the screen, just by supplying
159
 
      the deprecation format string issued for it. (Robert Collins)
160
 
 
161
 
    * Transport.append and Transport.put have been deprecated in favor of
162
 
      .append_bytes, .append_file, .put_bytes, and .put_file. This removes the
163
 
      ambiguity in what type of object the functions take.
164
 
      Transport.non_atomic_put_{bytes,file} has also been added. Which works
165
 
      similarly to Transport.append() except for SFTP, it doesn't have a round
166
 
      trip when opening the file. Also, it provides functionality for creating
167
 
      a parent directory when trying to create a file, rather than raise
168
 
      NoSuchFile and forcing the caller to repeat their request.
169
 
      (John Arbash Meinel)
170
 
 
171
 
    * WorkingTree has a new api ``unversion`` which allow the unversioning of
172
 
      entries by their file id. (Robert Collins)
173
 
 
174
 
    * WorkingTree.pending_merges is deprecated.  Please use the get_parent_ids
175
 
      (introduced in 0.10) method instead. (Robert Collins)
176
 
 
177
 
    * WorkingTree has a new lock_tree_write method which locks the branch for
178
 
      read rather than write. This is appropriate for actions which only need
179
 
      the branch data for reference rather than mutation. A new decorator
180
 
      needs_tree_write_lock is provided in the workingtree module. Like the
181
 
      needs_read_lock and needs_write_lock decorators this allows static 
182
 
      declaration of the locking requirements of a function to ensure that
183
 
      a lock is taken out for casual scripts. (Robert Collins, #54107)
184
 
 
185
 
    * All WorkingTree methods which write to the tree, but not to the branch
186
 
      have been converted to use ``needs_tree_write_lock`` rather than 
187
 
      ``needs_write_lock``. Also converted is the revert, conflicts and tree
188
 
      transform modules. This provides a modest performance improvement on 
189
 
      metadir style trees, due to the reduce lock-acquisition, and a more
190
 
      significant performance improvement on lightweight checkouts from 
191
 
      remote branches, where trivial operations used to pay a significant 
192
 
      penalty. It also provides the basis for allowing readonly checkouts.
193
 
      (Robert Collins)
194
 
 
195
 
    * Special case importing the standard library 'copy' module. This shaves
196
 
      off 40ms of startup time, while retaining compatibility. See:
197
 
      ``bzrlib/inspect_for_copy.py`` for more details. (John Arbash Meinel)
198
 
 
199
 
    * WorkingTree has a new parent class MutableTree which represents the 
200
 
      specialisations of Tree which are able to be altered. (Robert Collins)
201
 
 
202
 
    * New methods mkdir and put_file_bytes_non_atomic on MutableTree that
203
 
      mutate the tree and its contents. (Robert Collins)
204
 
 
205
 
    * Transport behaviour at the root of the URL is now defined and tested.
206
 
      (Andrew Bennetts, Robert Collins)
207
 
 
208
 
  TESTING:
209
 
 
210
 
    * New test helper classs MemoryTree. This is typically accessed via
211
 
      ``self.make_branch_and_memory_tree()`` in test cases. (Robert Collins)
212
 
      
213
 
    * Add start_bzr_subprocess and stop_bzr_subprocess to allow test code to
214
 
      continue running concurrently with a subprocess of bzr. (Andrew Bennetts,
215
 
      Robert Collins)
216
 
 
217
 
    * Add a new method ``Transport.get_smart_client()``. This is provided to
218
 
      allow upgrades to a richer interface than the VFS one provided by
219
 
      Transport. (Andrew Bennetts, Martin Pool)
220
 
 
221
 
bzr 0.10  2006-08-29
222
 
  
223
 
  IMPROVEMENTS:
224
 
    * 'merge' now takes --uncommitted, to apply uncommitted changes from a
225
 
      tree.  (Aaron Bentley)
226
 
  
227
 
    * 'bzr add --file-ids-from' can be used to specify another path to use
228
 
      for creating file ids, rather than generating all new ones. Internally,
229
 
      the 'action' passed to smart_add_tree() can return file_ids that
230
 
      will be used, rather than having bzrlib generate new ones.
231
 
      (John Arbash Meinel, #55781)
232
 
 
233
 
    * ``bzr selftest --benchmark`` now allows a ``--cache-dir`` parameter.
234
 
      This will cache some of the intermediate trees, and decrease the
235
 
      setup time for benchmark tests. (John Arbash Meinel)
236
 
 
237
 
    * Inverse forms are provided for all boolean options.  For example,
238
 
      --strict has --no-strict, --no-recurse has --recurse (Aaron Bentley)
239
 
 
240
 
    * Serialize out Inventories directly, rather than using ElementTree.
241
 
      Writing out a kernel sized inventory drops from 2s down to ~350ms.
242
 
      (Robert Collins, John Arbash Meinel)
243
 
 
244
 
  BUG FIXES:
245
 
 
246
 
    * Help diffutils 2.8.4 get along with binary tests (Marien Zwart: #57614)
247
 
 
248
 
    * Change LockDir so that if the lock directory doesn't exist when
249
 
      lock_write() is called, an attempt will be made to create it.
250
 
      (John Arbash Meinel, #56974)
251
 
 
252
 
    * ``bzr uncommit`` preserves pending merges. (John Arbash Meinel, #57660)
253
 
 
254
 
    * Active FTP transport now works as intended. (ghozzy, #56472)
255
 
 
256
 
    * Really fix mutter() so that it won't ever raise a UnicodeError.
257
 
      It means it is possible for ~/.bzr.log to contain non UTF-8 characters.
258
 
      But it is a debugging log, not a real user file.
259
 
      (John Arbash Meinel, #56947, #53880)
260
 
 
261
 
    * Change Command handle to allow Unicode command and options.
262
 
      At present we cannot register Unicode command names, so we will get
263
 
      BzrCommandError('unknown command'), or BzrCommandError('unknown option')
264
 
      But that is better than a UnicodeError + a traceback.
265
 
      (John Arbash Meinel, #57123)
266
 
 
267
 
    * Handle TZ=UTC properly when reading/writing revisions.
268
 
      (John Arbash Meinel, #55783, #56290)
269
 
 
270
 
    * Use GPG_TTY to allow gpg --cl to work with gpg-agent in a pipeline,
271
 
      (passing text to sign in on stdin). (John Arbash Meinel, #54468)
272
 
 
273
 
    * External diff does the right thing for binaries even in foreign 
274
 
      languages. (John Arbash Meinel, #56307)
275
 
 
276
 
    * Testament handles more cases when content is unicode. Specific bug was
277
 
      in handling of revision properties. (John Arbash Meinel, Holger Krekel,
278
 
      #54723)
279
 
 
280
 
    * The bzr selftest was failing on installed versions due to a bug in a new
281
 
      test helper. (John Arbash Meinel, Robert Collins, #58057)
282
 
 
283
 
  INTERNALS:
284
 
 
285
 
    * ``bzrlib.cache_utf8`` contains ``encode()`` and ``decode()`` functions
286
 
      which can be used to cache the conversion between utf8 and Unicode.
287
 
      Especially helpful for some of the knit annotation code, which has to
288
 
      convert revision ids to utf8 to annotate lines in storage.
289
 
      (John Arbash Meinel)
290
 
 
291
 
    * ``setup.py`` now searches the filesystem to find all packages which
292
 
      need to be installed. This should help make the life of packagers
293
 
      easier. (John Arbash Meinel)
294
 
 
295
 
bzr 0.9.0  2006-08-11
296
 
 
297
 
  SURPRISES:
 
4
 
 
5
   * The revision specifier "revno:" is extended to accept the syntax
 
6
     revno:N:branch. For example,
 
7
     revno:42:http://bazaar-vcs.org/bzr/bzr.dev/ means revision 42 in
 
8
     bzr.dev.  (Matthieu Moy)
298
9
 
299
10
   * The hard-coded built-in ignore rules have been removed. There are
300
11
     now two rulesets which are enforced. A user global one in 
307
18
     running 'bzr ignore --old-default-rules'.
308
19
     (Robert Collins, Martin Pool, John Arbash Meinel)
309
20
 
310
 
   * 'branches.conf' has been changed to 'locations.conf', since it can apply
311
 
     to more locations than just branch locations.
312
 
     (Aaron Bentley)
313
 
   
314
 
  IMPROVEMENTS:
315
 
 
316
 
   * The revision specifier "revno:" is extended to accept the syntax
317
 
     revno:N:branch. For example,
318
 
     revno:42:http://bazaar-vcs.org/bzr/bzr.dev/ means revision 42 in
319
 
     bzr.dev.  (Matthieu Moy)
320
 
 
321
21
   * Tests updates to ensure proper URL handling, UNICODE support, and
322
22
     proper printing when the user's terminal encoding cannot display 
323
23
     the path of a file that has been versioned.
380
80
     the same way you would apply another branch.
381
81
     (John Arbash Meinel, Aaron Bentley)
382
82
  
 
83
   * 'branches.conf' has been changed to 'locations.conf', since it can apply
 
84
     to more locations than just branch locations.
 
85
     (Aaron Bentley)
 
86
   
383
87
   * 'bzr whoami' can now be used to set your identity from the command line,
384
88
     for a branch or globally.  (Robey Pointer)
385
89
 
498
202
    * ``bzr status foo`` when foo was unversioned used to cause a full delta
499
203
      to be generated (John Arbash Meinel, #53638)
500
204
 
501
 
    * When reading revision properties, an empty value should be considered
502
 
      the empty string, not None (John Arbash Meinel, #47782)
503
 
 
504
 
    * ``bzr diff --diff-options`` can now handle binary files being changed.
505
 
      Also, the output is consistent when --diff-options is not supplied.
506
 
      (John Arbash Meinel, #54651, #52930)
507
 
 
508
 
    * Use the right suffixes for loading plugins (John Arbash Meinel, #51810)
509
 
 
510
 
    * Fix Branch.get_parent() to handle the case when the parent is not 
511
 
      accessible (John Arbash Meinel, #52976)
512
 
 
513
205
  INTERNALS:
514
206
 
515
207
    * Combine the ignore rules into a single regex rather than looping over