Status: | Merged | ||||
---|---|---|---|---|---|
Merge reported by: | Martin Pool | ||||
Merged at revision: | not available | ||||
Proposed branch: | lp:~geoff.bache/bzr/trunk | ||||
Merge into: | lp:bzr | ||||
Diff against target: |
571 lines (+501/-0) (has conflicts) 3 files modified
NEWS (+453/-0) bzrlib/osutils.py (+19/-0) bzrlib/tests/blackbox/test_add.py (+29/-0) Text conflict in NEWS Text conflict in bzrlib/osutils.py Text conflict in bzrlib/tests/blackbox/test_add.py |
||||
To merge this branch: | bzr merge lp:~geoff.bache/bzr/trunk | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
John A Meinel | Needs Fixing | ||
Robert Collins (community) | Needs Information | ||
Review via email: mp+28463@code.launchpad.net |
Commit message
Behave better when adding symlinks or things found via symlinks.
Description of the change
Handle 'bzr add symlink' (adds the symlink) and 'bzr add symlink/something' (adds something in the tree that something is actually contained in).
John A Meinel (jameinel) wrote : | # |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Robert Collins wrote:
> Robert Collins has proposed merging lp:~geoff.bache/bzr/trunk into lp:bzr.
>
> Requested reviews:
> bzr-core (bzr-core)
> Related bugs:
> #183831 bzr add <symlink> follows the link
> https:/
>
>
> Handle 'bzr add symlink' (adds the symlink) and 'bzr add symlink/something' (adds something in the tree that something is actually contained in).
>
review: needsfixing
Quite a few things here.
1) It applies to a very old NEWS, before it was reformatted. So that
needs to be cleaned up and put in the new area.
2) + def test_add_
+ if not hasattr(os, "symlink"):
+ raise TestNotApplicab
We have a feature for symlinks that should be used.
3) I don't understand why this is getting added:
+ def test_add_
4) The core loop is all confused because the patch is out-of-date.
5) The core loop is calling a function that will raise an exception for
every piece of the path processed.
To do it correctly, we should probably pull 'samepath()' into osutils.
And do:
def _samefile(f1, f2):
return f1 == f2
samefile = getattr(os.path, 'samefile', _samefile)
Or something along those lines.
I don't really understand why samefile(head, base) is getting called,
nor why that would actually fix the symlink issues.
John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://
iEYEARECAAYFAkw
bLoAnif5CgEntdR
=3ABk
-----END PGP SIGNATURE-----
John A Meinel (jameinel) wrote : | # |
I'll poke at this and see if I can get it cleaned up.
Martin Pool (mbp) wrote : | # |
John merged the equivalent of this. Thanks for the branch.
Preview Diff
1 | === modified file 'NEWS' |
2 | --- NEWS 2010-06-23 08:14:21 +0000 |
3 | +++ NEWS 2010-06-24 20:53:32 +0000 |
4 | @@ -1,5 +1,6 @@ |
5 | #################### |
6 | Bazaar Release Notes |
7 | +<<<<<<< TREE |
8 | #################### |
9 | |
10 | .. contents:: List of Releases |
11 | @@ -4548,6 +4549,458 @@ |
12 | :Codename: 1234567890 |
13 | :1.12: 2009-02-13 |
14 | :1.12rc1: 2009-02-10 |
15 | +======= |
16 | +-------------------- |
17 | + |
18 | +.. contents:: |
19 | + |
20 | + |
21 | + |
22 | +IN DEVELOPMENT |
23 | +-------------- |
24 | + |
25 | + COMPATIBILITY BREAKS: |
26 | + |
27 | + * bzr no longer autodetects nested trees as 'tree-references'. They |
28 | + must now be explicitly added tree references. At the commandline, use |
29 | + join --reference instead of add. (Aaron Bentley) |
30 | + |
31 | + NEW FEATURES: |
32 | + |
33 | + * shelve can now apply changes without storing anything on the shelf, via |
34 | + the new --destroy option. (Aaron Bentley) |
35 | + |
36 | + * ``bzr send`` now accepts --body to specify an initial message body. |
37 | + (Aaron bentley) |
38 | + |
39 | + IMPROVEMENTS: |
40 | + |
41 | + * Branching from a stacked branch using ``bzr*://`` will now stream |
42 | + the data when the target repository does not need topological |
43 | + ordering, reducing round trips and network overhead. This uses the |
44 | + existing smart server methods added in 1.13, so will work on any |
45 | + 1.13 or newer server. (Robert Collins, Andrew Bennetts) |
46 | + |
47 | + * ``bzr ignore`` gives a more informative message when existing |
48 | + version controlled files match the ignore pattern. (Neil |
49 | + Martinsen-Burrell, #248895) |
50 | + |
51 | + * Progress bars now show the rate of network activity for |
52 | + ``bzr+ssh://`` and ``bzr://`` connections. (Andrew Bennetts) |
53 | + |
54 | + * Streaming push can be done to older repository formats. This is |
55 | + implemented using a new ``Repository.insert_stream_locked`` RPC. |
56 | + (Andrew Bennetts, Robert Collins) |
57 | + |
58 | + * Tildes are no longer escaped. No more %7Euser/project/branch! |
59 | + (Jonathan Lange) |
60 | + |
61 | + BUG FIXES: |
62 | + |
63 | + * Authentication plugins now receive all the parameters from the request |
64 | + itself (aka host, port, realm, path, etc). Previously, only the |
65 | + authentication section name, username and encoded password were |
66 | + provided. (Jean-Francois Roy) |
67 | + |
68 | + * Fix "is not a stackable format" error when pushing a |
69 | + stackable-format branch with an unstackable-format repository to a |
70 | + destination with a default stacking policy. (Andrew Bennetts) |
71 | + |
72 | + * Fixed incorrect "Source format does not support stacking" warning |
73 | + when pushing to a smart server. (Andrew Bennetts, #334114) |
74 | + |
75 | + * It is no longer possible to fetch between repositories while the |
76 | + target repository is in a write group. This prevents race conditions |
77 | + that prevent the use of RPC's to perform fetch, and thus allows |
78 | + optimising more operations. (Robert Collins, Andrew Bennetts) |
79 | + |
80 | + * ``merge --force`` works again. (Robert Collins, #342105) |
81 | + |
82 | + * The GNU Changelog formatter is slightly improved in the case where |
83 | + the delta is empty, and now correctly claims not to support tags. |
84 | + (Andrea Bolognani) |
85 | + |
86 | + * Shelve can now shelve changes to a symlink target. |
87 | + (James Westby, #341558) |
88 | + |
89 | + * 'add' now works if there is a symlink in the path to the repository |
90 | + (Geoff Bache, #183831) |
91 | + |
92 | + DOCUMENTATION: |
93 | + |
94 | + * New topic `bzr help debug-flags`. (Martin Pool) |
95 | + |
96 | + * The generated manpage now explicitly lists aliases as commands. |
97 | + (James Westby, #336998) |
98 | + |
99 | + API CHANGES: |
100 | + |
101 | + * New sort order for ``get_record_stream`` ``groupcompress`` which |
102 | + sorts optimally for use with groupcompress compressors. (John Arbash |
103 | + Meinel, Robert Collins) |
104 | + |
105 | + * The ``get_credentials`` and ``set_credentials`` methods of |
106 | + ``AuthenticationConfig`` now accept an optional realm argument. |
107 | + (Jean-Francois Roy) |
108 | + |
109 | + * The ``pb`` argument to ``fetch()`` is deprecated. |
110 | + (Martin Pool) |
111 | + |
112 | + TESTING: |
113 | + |
114 | + * ``bzrlib.tests.TestCase`` now fails the test if its own ``setUp`` |
115 | + and ``tearDown`` weren't called. This catches faulty tests that |
116 | + forget to upcall when overriding ``setUp`` and ``tearDown``. Those |
117 | + faulty tests were not properly isolated. |
118 | + (Andrew Bennetts, Robert Collins) |
119 | + |
120 | + INTERNALS: |
121 | + |
122 | + * New ``assertLength`` method based on one Martin has squirreled away |
123 | + somewhere. (Robert Collins, Martin Pool) |
124 | + |
125 | + * New repository method ``refresh_data`` to cause any repository to |
126 | + make visible data inserted into the repository by a smart server |
127 | + fetch operation. (Robert Collins, Andrew Bennetts) |
128 | + |
129 | + * Removed ``InterRemoteToOther``, ``InterOtherToRemote`` and |
130 | + ``InterPackToRemotePack`` classes, as they are now unnecessary. |
131 | + (Andrew Bennetts) |
132 | + |
133 | + * ``_walk_to_common_revisions`` will now batch up at least 50 |
134 | + revisions before calling ``get_parent_map`` on the target, |
135 | + regardless of ``InterRepository``. |
136 | + (Andrew Bennetts, Robert Collins) |
137 | + |
138 | + |
139 | +bzr 1.13rc1 "paraskavedekatriaphobia" 2009-03-10 |
140 | +------------------------------------------------ |
141 | +This release includes bug fixes and a few performance and feature improvements. |
142 | +GNU Changelog output can now be produced by ``bzr log --format gnu-changelog``. |
143 | +Debug flags can now be set in ``~/.bazaar/bazaar.conf``. Lightweight Checkouts |
144 | +and Stacked Branches should both be much faster over remote connections. |
145 | + |
146 | + COMPATIBILITY BREAKS: |
147 | + |
148 | + * ``bzr log --line`` now indicates which revisions are merges with |
149 | + `[merge]` after the date. Scripts which parse the output of this |
150 | + command may need to be adjusted. |
151 | + (Neil Martinsen-Burrell) |
152 | + |
153 | + NEW FEATURES: |
154 | + |
155 | + * ``bzr reconfigure`` now supports --with-trees and --with-no-trees |
156 | + options to change the default tree-creation policy of shared |
157 | + repositories. (Matthew Fuller, Marius Kruger, #145033) |
158 | + |
159 | + * Debug flags can now be set in ``~/.bazaar/bazaar.conf``. |
160 | + (Martin Pool) |
161 | + |
162 | + * Filtered views provide a mask over the tree so that users can focus |
163 | + on a subset of a tree when doing their work. See ``Filtered views`` |
164 | + in chapter 7 of the User Guide and ``bzr help view`` for details. |
165 | + (Ian Clatworthy) |
166 | + |
167 | + * GNU Changelog output can now be produced by ``bzr log --format |
168 | + gnu-changelog``. (Andrea Bolognani, Martin Pool) |
169 | + |
170 | + * The ``-Dmemory`` flag now gives memory information on Windows. |
171 | + (John Arbash Meinel) |
172 | + |
173 | + * Multiple authors for a commit can now be recorded by using the "--author" |
174 | + option multiple times. (James Westby, #185772) |
175 | + |
176 | + * New clean-tree command, from bzrtools. (Aaron Bentley, Jelmer Vernoij) |
177 | + |
178 | + * New command ``bzr launchpad-open`` opens a Launchpad web page for that |
179 | + branch in your web browser, as long as the branch is on Launchpad at all. |
180 | + (Jonathan Lange) |
181 | + |
182 | + * New API for getting bugs fixed by a revision: Revision.iter_bugs(). |
183 | + (Jonathan Lange) |
184 | + |
185 | + IMPROVEMENTS: |
186 | + |
187 | + * All bzr ``Hooks`` classes are now registered in |
188 | + ``bzrlib.hooks.known_hooks``. This removes the separate list from |
189 | + ``bzrlib.tests`` and ensures that all hooks registered there are |
190 | + correctly isolated by the test suite (previously |
191 | + ``MutableTreeHooks`` were not being isolated correctly). Further, |
192 | + documentation for hooks is now dynamically generated from the |
193 | + present HookPoints. ``bzr hooks`` will now also report on all the |
194 | + hooks present in the ``bzrlib.hooks.known_hooks`` registry. |
195 | + (Robert Collins) |
196 | + |
197 | + * ``bzr add`` no longer prints ``add completed`` on success. Failure |
198 | + still prints an error message. (Robert Collins) |
199 | + |
200 | + * ``bzr branch`` now has a ``--no-tree`` option which turns off the |
201 | + generation of a working tree in the new branch. |
202 | + (Daniel Watkins, John Klinger, #273993) |
203 | + |
204 | + * Bazaar will now point out ``bzr+ssh://`` to the user when they |
205 | + use ssh://. (Jelmer Vernooij, #330535) |
206 | + |
207 | + * ``bzr -v info`` now omits the number of committers branch statistic, |
208 | + making it many times faster for large projects. To include that |
209 | + statistic in the output, use ``bzr -vv info``. |
210 | + (Ian Clatworthy) |
211 | + |
212 | + * ``bzr push`` to a ``bzr`` url (``bzr://``, ``bzr+ssh://`` etc) will |
213 | + stream if the server is version 1.13 or greater, reducing roundtrips |
214 | + significantly. (Andrew Bennetts, Robert Collins) |
215 | + |
216 | + * Lightweight Checkouts and Stacked Branches should both be much |
217 | + faster over remote connections. Building the working tree now |
218 | + batches up requests into approx 5MB requests, rather than a separate |
219 | + request for each file. (John Arbash Meinel) |
220 | + |
221 | + * Support for GSSAPI authentication when using HTTP or HTTPS. |
222 | + (Jelmer Vernooij) |
223 | + |
224 | + * The ``bzr shelve`` prompt now includes a '?' help option to explain the |
225 | + short options better. (Daniel Watkins, #327429) |
226 | + |
227 | + * ``bzr lp-open`` now falls back to the push location if it cannot find a |
228 | + public location. (Jonathan Lange, #332372) |
229 | + |
230 | + * ``bzr lp-open`` will try to find the Launchpad URL for the location |
231 | + passed on the command line. This makes ``bzr lp-open lp:foo`` work as |
232 | + expected. (Jonathan Lange, #332705) |
233 | + |
234 | + * ``bzr send`` now supports MH-E via ``emacsclient``. (Eric Gillespie) |
235 | + |
236 | + BUG FIXES: |
237 | + |
238 | + * Bazaar now gives a better message including the filename if it's |
239 | + unable to read a file in the working directory, for example because |
240 | + of a permission error. (Martin Pool, #338653) |
241 | + |
242 | + * ``bzr cat -r<old> <path>`` doesn't traceback anymore when <path> has a |
243 | + file id in the working tree different from the one in revision <old>. |
244 | + (Vincent Ladeuil, #341517, #253806) |
245 | + |
246 | + * ``bzr send`` help is more specific about how to apply merge |
247 | + directives. (Neil Martinsen-Burrell, #253470) |
248 | + |
249 | + * ``bzr missing`` now uses ``Repository.get_revision_delta()`` rather |
250 | + than fetching trees and determining a delta itself. (Jelmer |
251 | + Vernooij, #315048) |
252 | + |
253 | + * ``bzr push`` to a smart server no longer causes "Revision |
254 | + {set([('null:',)])} not present ..." errors when the branch has |
255 | + multiple root revisions. (Andrew Bennetts, #317654) |
256 | + |
257 | + * ``bzr shelve`` now properly handle patches with no terminating newline. |
258 | + (Benoît PIERRE, #303569) |
259 | + |
260 | + * ``bzr unshelve`` gives a more palatable error if passed a non-integer |
261 | + shelf id. (Daniel Watkins) |
262 | + |
263 | + * Export now handles files that are not present in the tree. |
264 | + (James Westby, #174539) |
265 | + |
266 | + * Fixed incorrect "Source format does not support stacking" warning |
267 | + when pushing to a smart server. (Andrew Bennetts, #334114) |
268 | + |
269 | + * Fixed "sprout() got an unexpected keyword argument 'source_branch'" |
270 | + error branching from old repositories. |
271 | + (Martin Pool, #321695) |
272 | + |
273 | + * Make ``bzr push --quiet <non-local location>`` less chatty. |
274 | + (Kent Gibson, #221461) |
275 | + |
276 | + * Many Branch hooks would not fire with ``bzr://`` and ``bzr+ssh://`` |
277 | + branches, and this was not noticed due to a bug in the test logic |
278 | + for branches. This is now fixed and a test added to prevent it |
279 | + reoccuring. (Robert Collins, Andrew Bennetts) |
280 | + |
281 | + * Restore the progress bar on Windows. We were disabling it when TERM |
282 | + wasn't set, but Windows doesn't set TERM. (Alexander Belchenko) |
283 | + |
284 | + * ``setup.py build_ext`` now gives a proper error when an extension |
285 | + fails to build. (John Arbash Meinel) |
286 | + |
287 | + * Symlinks to non ascii file names are now supported. |
288 | + (Robert Collins, Vincent Ladeuil, #339055, #272444) |
289 | + |
290 | + * Under rare circumstances (aka nobody reported a bug about it), the ftp |
291 | + transport could revert to ascii mode. It now stays in binary mode except |
292 | + when needed. |
293 | + (Vincent Ladeuil) |
294 | + |
295 | + * Unshelve does not generate warnings about progress bars. |
296 | + (Aaron Bentley, #328148) |
297 | + |
298 | + * shelve cleans up properly when unversioned files are specified. |
299 | + (Benoît Pierre, Aaron Bentley) |
300 | + |
301 | + DOCUMENTATION: |
302 | + |
303 | + * Added ``Organizing your workspace`` to the User Guide appendices, |
304 | + summarizing some common ways of organizing trees, branches and |
305 | + repositories and the processes/workflows implied/enabled by each. |
306 | + (Ian Clatworthy) |
307 | + |
308 | + * Hooks can now be self documenting. ``bzrlib.hooks.Hooks.create_hook`` |
309 | + is the entry point for this feature. (Robert Collins) |
310 | + |
311 | + * The documentation for ``shelve`` and ``unshelve`` has been clarified. |
312 | + (Daniel Watkins, #327421, #327425) |
313 | + |
314 | + API CHANGES: |
315 | + |
316 | + * ``bzr selftest`` now fails if the bazaar sources contain trailing |
317 | + whitespace, non-unix style line endings and files not ending in a |
318 | + newline. About 372 files and 3243 lines with trailing whitespace was |
319 | + updated to comply with this. The code already complied with the other |
320 | + criteria, but now it is enforced. (Marius Kruger) |
321 | + |
322 | + ``bzrlib.branch.PushResult`` was renamed to |
323 | + ``bzrlib.branch.BranchPushResult``. (Jelmer Vernooij) |
324 | + |
325 | + * ``Branch.fetch`` and ``Repository.fetch`` now return None rather |
326 | + than a count of copied revisions and failed revisions. A while back |
327 | + we stopped ever reporting failed revisions because we started |
328 | + erroring instead, and the copied revisions count is not used in the |
329 | + UI at all - indeed it only reflects the repository status not |
330 | + changes to the branch itself. (Robert Collins) |
331 | + |
332 | + * ``Inventory.apply_delta`` now raises an AssertionError if a file-id |
333 | + appears multiple times within the delta. (Ian Clatworthy) |
334 | + |
335 | + * MutableTree.commit now favours the "authors" argument, with the old |
336 | + "author" argument being deprecated. |
337 | + |
338 | + * Remove deprecated EmptyTree. (Martin Pool) |
339 | + |
340 | + * ``Repository.fetch`` now accepts an optional ``fetch_spec`` |
341 | + parameter. A ``SearchResult`` or ``MiniSearchResult`` may be passed |
342 | + to ``fetch_spec`` instead of a ``last_revision`` to specify exactly |
343 | + which revisions to fetch. (Andrew Bennetts) |
344 | + |
345 | + * ``RepositoryAcquisitionPolicy.acquire_repository`` now returns a |
346 | + tuple of ``(repository, is_new_flag)``, rather than just the |
347 | + repository. (Andrew Bennetts) |
348 | + |
349 | + * Revision.get_apparent_author() is now deprecated, replaced by |
350 | + Revision.get_apparent_authors(), which returns a list. The former |
351 | + now returns the first item that would be returned from the second. |
352 | + |
353 | + * The ``BranchBuilder`` test helper now accepts a ``timestamp`` |
354 | + parameter to ``build_commit`` and ``build_snapshot``. (Martin Pool) |
355 | + |
356 | + * The ``_fetch_*`` attributes on ``Repository`` are now on |
357 | + ``RepositoryFormat``, more accurately reflecting their intent (they |
358 | + describe a disk format capability, not state of a particular |
359 | + repository of that format). (Robert Collins) |
360 | + |
361 | + INTERNALS: |
362 | + |
363 | + * Branching from a non-stacked branch on a smart protocol is now |
364 | + free of virtual file system methods. |
365 | + (Robert Collins, Andrew Bennetts) |
366 | + |
367 | + * Branch and Repository creation on a bzr+ssh://server are now done |
368 | + via RPC calls rather than VFS calls, reducing round trips for |
369 | + pushing new branches substantially. (Robert Collins) |
370 | + |
371 | + * ``Branch.clone`` now takes the ``repository_policy`` formerly used |
372 | + inside ``BzrDir.clone_on_transport``, allowing stacking to be |
373 | + configured before the branch tags and revision tip are set. This |
374 | + fixes a race condition cloning stacked branches that would cause |
375 | + plugins to have hooks called on non-stacked instances. |
376 | + (Robert Collins, #334187) |
377 | + |
378 | + * ``BzrDir.cloning_metadir`` now has a RPC call. (Robert Collins) |
379 | + |
380 | + * ``BzrDirFormat.__str__`` now uses the human readable description |
381 | + rather than the sometimes-absent disk label. (Robert Collins) |
382 | + |
383 | + * ``bzrlib.fetch`` is now composed of a sender and a sink component |
384 | + allowing for decoupling over a network connection. Fetching from |
385 | + or into a RemoteRepository with a 1.13 server will use this to |
386 | + stream the operation. |
387 | + (Andrew Bennetts, Robert Collins) |
388 | + |
389 | + * ``bzrlib.tests.run_suite`` accepts a runner_class parameter |
390 | + supporting the use of different runners. (Robert Collins) |
391 | + |
392 | + * Change how file_ids and revision_ids are interned as part of |
393 | + inventory deserialization. Now we use the real ``intern()``, rather |
394 | + than our own workaround that would also cache a Unicode copy of the |
395 | + string, and never emptied the cache. This should slightly reduce |
396 | + memory consumption. (John Arbash Meinel) |
397 | + |
398 | + * New branch method ``create_clone_on_transport`` that returns a |
399 | + branch object. (Robert Collins) |
400 | + |
401 | + * New hook Commands['extend_command'] to allow plugins to access a |
402 | + command object before the command is run (or help generated from |
403 | + it), without overriding the command. (Robert Collins) |
404 | + |
405 | + * New version of the ``BzrDir.find_repository`` verb supporting |
406 | + ``_network_name`` to support removing more _ensure_real calls. |
407 | + (Robert Collins) |
408 | + |
409 | + * ``RemoteBranchFormat`` no longer claims to have a disk format string. |
410 | + (Robert Collins) |
411 | + |
412 | + * ``Repository`` objects now have ``suspend_write_group`` and |
413 | + ``resume_write_group`` methods. These are currently only useful |
414 | + with pack repositories. (Andrew Bennetts, Robert Collins) |
415 | + |
416 | + * ``BzrDirFormat``, ``BranchFormat`` and ``RepositoryFormat`` objects |
417 | + now have a ``network_name`` for passing the format across RPC calls. |
418 | + (Robert Collins, Andrew Bennetts) |
419 | + |
420 | + * ``RepositoryFormat`` objects now all have a new attribute |
421 | + ``_serializer`` used by fetch when reserialising is required. |
422 | + (Robert Collins, Andrew Bennetts) |
423 | + |
424 | + * Some methods have been pulled up from ``BzrBranch`` to ``Branch`` |
425 | + to aid branch types that are not bzr branch objects (like |
426 | + RemoteBranch). (Robert Collins, Andrew Bennetts) |
427 | + |
428 | + * Test adaptation has been made consistent throughout the built in |
429 | + tests. ``TestScenarioApplier``, ``multiply_tests_from_modules``, |
430 | + ``adapt_tests``, ``adapt_modules`` have all been deleted. Please |
431 | + use ``multiply_tests``, or for lower level needs ``apply_scenarios`` |
432 | + and ``apply_scenario``. (Robert Collins) |
433 | + |
434 | + * ``TestSkipped`` is now detected by TestCase and passed to the |
435 | + ``TestResult`` by calling ``addSkip``. For older TestResult objects, |
436 | + where ``addSkip`` is not available, ``addError`` is still called. |
437 | + This permits test filtering in subunit to strip out skipped tests |
438 | + resulting in a faster fix-shrink-list-run cycle. This is compatible |
439 | + with the testtools protocol for skips. (Robert Collins) |
440 | + |
441 | + * The ``_index`` of ``KnitVersionedFiles`` now supports the ability |
442 | + to scan an underlying index that is going to be incorporated into |
443 | + the ``KnitVersionedFiles`` object, to determine if it has missing |
444 | + delta references. The method is ``scan_unvalidated_index``. |
445 | + (Andrew Bennetts, Robert Collins) |
446 | + |
447 | + * There is a RemoteSink object which handles pushing to smart servers. |
448 | + (Andrew Bennetts, Robert Collins) |
449 | + |
450 | + * ``TransportTraceDecorator`` now logs ``put_bytes_non_atomic`` and |
451 | + ``rmdir`` calls. (Robert Collins) |
452 | + |
453 | + * ``VersionedFiles`` record adapters have had their signature change |
454 | + from ``(record, record.get_bytes_as(record.storage_kind))`` to |
455 | + ``(record)`` reducing excess duplication and allowing adapters |
456 | + to access private data in record to obtain content more |
457 | + efficiently. (Robert Collins) |
458 | + |
459 | + * We no longer probe to see if we should create a working tree during |
460 | + clone if we cannot get a local_abspath for the new bzrdir. |
461 | + (Robert Collins) |
462 | + |
463 | + |
464 | +bzr 1.12 "1234567890" 2009-02-13 |
465 | +-------------------------------- |
466 | +>>>>>>> MERGE-SOURCE |
467 | |
468 | This release of Bazaar contains many improvements to the speed, |
469 | documentation and functionality of ``bzr log`` and the display of logged |
470 | |
471 | === modified file 'bzrlib/osutils.py' |
472 | --- bzrlib/osutils.py 2010-06-18 10:57:20 +0000 |
473 | +++ bzrlib/osutils.py 2010-06-24 20:53:32 +0000 |
474 | @@ -1128,6 +1128,14 @@ |
475 | else: |
476 | return False |
477 | |
478 | +def samefile(f1, f2): |
479 | + """ Just a patch for os.path.samefile which would probably be more helpful |
480 | + if it existed and did this on Windows... |
481 | + """ |
482 | + try: |
483 | + return os.path.samefile(f1, f2) |
484 | + except (AttributeError, OSError): |
485 | + return f1 == f2 |
486 | |
487 | def relpath(base, path): |
488 | """Return path relative to base, or raise PathNotChild exception. |
489 | @@ -1152,14 +1160,25 @@ |
490 | |
491 | s = [] |
492 | head = rp |
493 | +<<<<<<< TREE |
494 | while True: |
495 | if len(head) <= len(base) and head != base: |
496 | raise errors.PathNotChild(rp, base) |
497 | if head == base: |
498 | break |
499 | head, tail = split(head) |
500 | +======= |
501 | + while not samefile(head, base): |
502 | + head, tail = os.path.split(head) |
503 | +>>>>>>> MERGE-SOURCE |
504 | if tail: |
505 | +<<<<<<< TREE |
506 | s.append(tail) |
507 | +======= |
508 | + s.insert(0, tail) |
509 | + else: |
510 | + raise errors.PathNotChild(rp, base) |
511 | +>>>>>>> MERGE-SOURCE |
512 | |
513 | if s: |
514 | return pathjoin(*reversed(s)) |
515 | |
516 | === modified file 'bzrlib/tests/blackbox/test_add.py' |
517 | --- bzrlib/tests/blackbox/test_add.py 2010-02-23 07:43:11 +0000 |
518 | +++ bzrlib/tests/blackbox/test_add.py 2010-06-24 20:53:32 +0000 |
519 | @@ -19,6 +19,7 @@ |
520 | |
521 | import os |
522 | |
523 | +<<<<<<< TREE |
524 | from bzrlib import ( |
525 | osutils, |
526 | tests, |
527 | @@ -41,6 +42,14 @@ |
528 | def make_branch_and_tree(self, dir): |
529 | return super(TestAdd, self).make_branch_and_tree( |
530 | dir, format=self.branch_tree_format) |
531 | +======= |
532 | +from bzrlib.tests.blackbox import ExternalBase |
533 | +from bzrlib.tests.test_win32utils import NeedsGlobExpansionFeature |
534 | +from bzrlib.tests import TestNotApplicable |
535 | + |
536 | + |
537 | +class TestAdd(ExternalBase): |
538 | +>>>>>>> MERGE-SOURCE |
539 | |
540 | def test_add_reports(self): |
541 | """add command prints the names of added files.""" |
542 | @@ -211,9 +220,29 @@ |
543 | out = self.run_bzr(['add', 'link/top.txt'])[0] |
544 | self.assertEquals(out, 'adding top.txt\n') |
545 | |
546 | +<<<<<<< TREE |
547 | def test_add_symlink_to_abspath(self): |
548 | self.requireFeature(tests.SymlinkFeature) |
549 | self.make_branch_and_tree('tree') |
550 | os.symlink(osutils.abspath('target'), 'tree/link') |
551 | out = self.run_bzr(['add', 'tree/link'])[0] |
552 | self.assertEquals(out, 'adding link\n') |
553 | +======= |
554 | + def test_add_with_wildcards_unicode(self): |
555 | + self.requireFeature(NeedsGlobExpansionFeature) |
556 | + self.make_branch_and_tree('.') |
557 | + self.build_tree([u'\u1234A', u'\u1235A', u'\u1235AA', 'cc']) |
558 | + self.run_bzr(['add', u'\u1234?', u'\u1235*']) |
559 | + self.assertEquals(self.run_bzr('unknowns')[0], 'cc\n') |
560 | + |
561 | + def test_add_with_symlink(self): |
562 | + if not hasattr(os, "symlink"): |
563 | + raise TestNotApplicable("Symbolic links not present") |
564 | + |
565 | + self.make_branch_and_tree('source') |
566 | + self.build_tree(['source/top.txt']) |
567 | + os.symlink('source', 'link') |
568 | + out = self.run_bzr(['add', 'link/top.txt'])[0] |
569 | + self.assertEquals(out, 'adding top.txt\n') |
570 | + |
571 | +>>>>>>> MERGE-SOURCE |
Need to audit this; we've clearly got *some* code in a similar direction merged from elsewhere already.