Merge lp:~jameinel/bzr/2.3-commit-to-stacked into lp:bzr
- 2.3-commit-to-stacked
- Merge into bzr.dev
| Status: | Merged | ||||
|---|---|---|---|---|---|
| Approved by: | Vincent Ladeuil on 2011-01-11 | ||||
| Approved revision: | 5571 | ||||
| Merged at revision: | 5599 | ||||
| Proposed branch: | lp:~jameinel/bzr/2.3-commit-to-stacked | ||||
| Merge into: | lp:bzr | ||||
| Diff against target: |
2161 lines (+511/-206) 170 files modified
bzrlib/bzrdir.py (+1/-1) bzrlib/commit.py (+1/-1) bzrlib/conflicts.py (+1/-1) bzrlib/controldir.py (+1/-1) bzrlib/errors.py (+1/-1) bzrlib/fetch.py (+1/-1) bzrlib/graph.py (+1/-1) bzrlib/mutabletree.py (+1/-1) bzrlib/plugins/launchpad/__init__.py (+1/-1) bzrlib/plugins/launchpad/test_lp_directory.py (+1/-1) bzrlib/plugins/launchpad/test_lp_service.py (+1/-1) bzrlib/remote.py (+1/-1) bzrlib/repository.py (+74/-19) bzrlib/tag.py (+1/-1) bzrlib/tests/EncodingAdapter.py (+1/-1) bzrlib/tests/TestUtil.py (+1/-1) bzrlib/tests/__init__.py (+1/-1) bzrlib/tests/blackbox/test_add.py (+1/-1) bzrlib/tests/blackbox/test_branch.py (+1/-1) bzrlib/tests/blackbox/test_commit.py (+1/-1) bzrlib/tests/blackbox/test_diff.py (+1/-1) bzrlib/tests/blackbox/test_dpush.py (+1/-1) bzrlib/tests/blackbox/test_exceptions.py (+1/-1) bzrlib/tests/blackbox/test_init.py (+1/-1) bzrlib/tests/blackbox/test_non_ascii.py (+1/-1) bzrlib/tests/blackbox/test_push.py (+1/-1) bzrlib/tests/blackbox/test_resolve.py (+1/-1) bzrlib/tests/blackbox/test_send.py (+1/-1) bzrlib/tests/blackbox/test_serve.py (+1/-1) bzrlib/tests/blackbox/test_shared_repository.py (+1/-1) bzrlib/tests/blackbox/test_tags.py (+1/-1) bzrlib/tests/blackbox/test_too_much.py (+1/-1) bzrlib/tests/blackbox/test_upgrade.py (+1/-1) bzrlib/tests/blackbox/test_version.py (+1/-1) bzrlib/tests/blackbox/test_whoami.py (+1/-1) bzrlib/tests/doc_generate/__init__.py (+1/-1) bzrlib/tests/doc_generate/builders/test_texinfo.py (+1/-1) bzrlib/tests/doc_generate/writers/test_texinfo.py (+1/-1) bzrlib/tests/features.py (+1/-1) bzrlib/tests/http_server.py (+1/-1) bzrlib/tests/http_utils.py (+1/-1) bzrlib/tests/https_server.py (+1/-1) bzrlib/tests/per_branch/test_branch.py (+1/-1) bzrlib/tests/per_branch/test_parent.py (+1/-1) bzrlib/tests/per_controldir/test_controldir.py (+1/-1) bzrlib/tests/per_interrepository/test_interrepository.py (+1/-1) bzrlib/tests/per_merger.py (+1/-1) bzrlib/tests/per_pack_repository.py (+1/-1) bzrlib/tests/per_repository/test_check.py (+1/-1) bzrlib/tests/per_repository/test_commit_builder.py (+11/-7) bzrlib/tests/per_repository/test_repository.py (+1/-1) bzrlib/tests/per_repository/test_write_group.py (+30/-1) bzrlib/tests/per_repository_reference/__init__.py (+4/-16) bzrlib/tests/per_repository_reference/test_commit_with_stacking.py (+220/-0) bzrlib/tests/per_transport.py (+1/-1) bzrlib/tests/per_uifactory/__init__.py (+1/-1) bzrlib/tests/per_workingtree/test_add_reference.py (+1/-1) bzrlib/tests/per_workingtree/test_workingtree.py (+1/-1) bzrlib/tests/script.py (+1/-1) bzrlib/tests/stub_sftp.py (+1/-1) bzrlib/tests/test__annotator.py (+1/-1) bzrlib/tests/test__chk_map.py (+1/-1) bzrlib/tests/test__dirstate_helpers.py (+1/-1) bzrlib/tests/test__groupcompress.py (+1/-1) bzrlib/tests/test__known_graph.py (+1/-1) bzrlib/tests/test__simple_set.py (+1/-1) bzrlib/tests/test__static_tuple.py (+1/-1) bzrlib/tests/test_ancestry.py (+1/-1) bzrlib/tests/test_annotate.py (+1/-1) bzrlib/tests/test_bad_files.py (+1/-1) bzrlib/tests/test_bisect_multi.py (+1/-1) bzrlib/tests/test_branch.py (+1/-1) bzrlib/tests/test_branchbuilder.py (+1/-1) bzrlib/tests/test_btree_index.py (+1/-1) bzrlib/tests/test_bundle.py (+1/-1) bzrlib/tests/test_bzrdir.py (+1/-1) bzrlib/tests/test_chk_serializer.py (+1/-1) bzrlib/tests/test_clean_tree.py (+1/-1) bzrlib/tests/test_commands.py (+1/-1) bzrlib/tests/test_commit.py (+1/-1) bzrlib/tests/test_commit_merge.py (+1/-1) bzrlib/tests/test_config.py (+1/-1) bzrlib/tests/test_conflicts.py (+1/-1) bzrlib/tests/test_crash.py (+1/-1) bzrlib/tests/test_diff.py (+1/-1) bzrlib/tests/test_dirstate.py (+1/-1) bzrlib/tests/test_eol_filters.py (+1/-1) bzrlib/tests/test_errors.py (+1/-1) bzrlib/tests/test_extract.py (+1/-1) bzrlib/tests/test_fetch.py (+1/-1) bzrlib/tests/test_foreign.py (+1/-1) bzrlib/tests/test_ftp_transport.py (+1/-1) bzrlib/tests/test_generate_docs.py (+1/-1) bzrlib/tests/test_generate_ids.py (+1/-1) bzrlib/tests/test_globbing.py (+1/-1) bzrlib/tests/test_gpg.py (+1/-1) bzrlib/tests/test_graph.py (+1/-1) bzrlib/tests/test_groupcompress.py (+1/-1) bzrlib/tests/test_hashcache.py (+1/-1) bzrlib/tests/test_help.py (+1/-1) bzrlib/tests/test_http.py (+1/-1) bzrlib/tests/test_https_ca_bundle.py (+1/-1) bzrlib/tests/test_ignores.py (+1/-1) bzrlib/tests/test_import_tariff.py (+1/-1) bzrlib/tests/test_info.py (+1/-1) bzrlib/tests/test_inv.py (+1/-1) bzrlib/tests/test_inventory_delta.py (+1/-1) bzrlib/tests/test_lazy_import.py (+1/-1) bzrlib/tests/test_library_state.py (+1/-1) bzrlib/tests/test_lock.py (+1/-1) bzrlib/tests/test_lockable_files.py (+1/-1) bzrlib/tests/test_lockdir.py (+1/-1) bzrlib/tests/test_lsprof.py (+1/-1) bzrlib/tests/test_merge3.py (+1/-1) bzrlib/tests/test_merge_core.py (+1/-1) bzrlib/tests/test_missing.py (+1/-1) bzrlib/tests/test_msgeditor.py (+1/-1) bzrlib/tests/test_multiparent.py (+1/-1) bzrlib/tests/test_nonascii.py (+1/-1) bzrlib/tests/test_options.py (+1/-1) bzrlib/tests/test_osutils_encodings.py (+1/-1) bzrlib/tests/test_permissions.py (+1/-1) bzrlib/tests/test_plugins.py (+1/-1) bzrlib/tests/test_progress.py (+1/-1) bzrlib/tests/test_read_bundle.py (+1/-1) bzrlib/tests/test_reconcile.py (+1/-1) bzrlib/tests/test_registry.py (+1/-1) bzrlib/tests/test_remote.py (+1/-1) bzrlib/tests/test_revision.py (+1/-1) bzrlib/tests/test_revisionspec.py (+1/-1) bzrlib/tests/test_revisiontree.py (+1/-1) bzrlib/tests/test_rio.py (+1/-1) bzrlib/tests/test_rules.py (+1/-1) bzrlib/tests/test_selftest.py (+1/-1) bzrlib/tests/test_server.py (+1/-1) bzrlib/tests/test_setup.py (+1/-1) bzrlib/tests/test_sftp_transport.py (+1/-1) bzrlib/tests/test_smart.py (+1/-1) bzrlib/tests/test_smart_transport.py (+1/-1) bzrlib/tests/test_smtp_connection.py (+1/-1) bzrlib/tests/test_store.py (+1/-1) bzrlib/tests/test_strace.py (+1/-1) bzrlib/tests/test_subsume.py (+1/-1) bzrlib/tests/test_switch.py (+1/-1) bzrlib/tests/test_symbol_versioning.py (+1/-1) bzrlib/tests/test_test_server.py (+1/-1) bzrlib/tests/test_timestamp.py (+1/-1) bzrlib/tests/test_trace.py (+1/-1) bzrlib/tests/test_transactions.py (+1/-1) bzrlib/tests/test_transform.py (+1/-1) bzrlib/tests/test_transport.py (+1/-1) bzrlib/tests/test_transport_log.py (+1/-1) bzrlib/tests/test_tree.py (+1/-1) bzrlib/tests/test_ui.py (+1/-1) bzrlib/tests/test_upgrade.py (+1/-1) bzrlib/tests/test_upgrade_stacked.py (+1/-1) bzrlib/tests/test_version.py (+1/-1) bzrlib/tests/test_version_info.py (+1/-1) bzrlib/tests/test_weave.py (+1/-1) bzrlib/tests/test_whitebox.py (+1/-1) bzrlib/tests/test_win32utils.py (+1/-1) bzrlib/tests/test_workingtree.py (+1/-1) bzrlib/tests/test_wsgi.py (+1/-1) bzrlib/tests/test_xml.py (+1/-1) bzrlib/timestamp.py (+1/-1) bzrlib/transform.py (+1/-1) bzrlib/transport/http/_urllib2_wrappers.py (+1/-1) bzrlib/upgrade.py (+1/-1) doc/en/release-notes/bzr-2.3.txt (+4/-0) doc/en/whats-new/whats-new-in-2.3.txt (+5/-0) |
||||
| To merge this branch: | bzr merge lp:~jameinel/bzr/2.3-commit-to-stacked | ||||
| Related bugs: |
|
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| Andrew Bennetts | 2010-12-03 | Approve on 2011-01-11 | |
|
Review via email:
|
|||
Commit Message
Allow commits to stacked branches
Description of the Change
This is mostly a proposal for intermediate review. I'd like to get some feedback on how this is turning out. I think the code needs a few more test cases to check for how it handles failures, etc.
This implements commit-
This doesn't handle delta chains for file content, so we may want to restrict this support to only 2a formats.
The one thing I don't really like is the write-group handling. StreamSink.
start a write group
fill out the new inventory
fill in new texts
stage it into the repo
suspend the write group
start a new independent write group **
fill in the basis inventories
commit write group ##
resume original write group
add revision info
commit write group
I could change ** to resume the current write group, the problem is ##. Specifically, insert_stream() will commit its current write group, forcing the temporary content to go live, before we have the associated inventory or revision added.
What I think would be nicer would be to add a StreamSink.
This would
a) Not take out a new write group
b) Not commit the write group
This would allow me to add more data into the current commit, all of which would be atomically added or rolled back.
Then again, worst case we just filled in some basis inventories, which should be ok to have around. You're likely to want them anyway, and it isn't a more cruft. (It is the same data you would have had if you committed to a non-stacked branch, and then pushed to the stacked branch.) It is only 'cruft' if the commit aborts and you change the branch tip before the next commit. (could happen if you were committing to a stacked-and-bound branch.)
I also think I need to add specific permutations of committing when the stacked branch, and/or its fallback is remote, just to guard against interactions of stacking + remote. Especially in the fallback-
I'd also like someone to look at my test cases, and see if there are any other obvious ones that come to mind.
| Andrew Bennetts (spiv) wrote : | # |
| John A Meinel (jameinel) wrote : | # |
Many updates. commit-to-stacked is now forbidden against older format repositories (mostly we didn't audit that it works correct with text deltas, etc.).
It now also doesn't create an intermediate suspended write group just to commit the one that is active.
And it checks that you don't create a new ghost in commit when you are in a stacked branch.
| Andrew Bennetts (spiv) wrote : | # |
The copyright year updates look unrelated to this feature, if not entirely spurious...
Otherwise I'm happy.
| Vincent Ladeuil (vila) wrote : | # |
sent to pqm by email
| John A Meinel (jameinel) wrote : | # |
sent to pqm by email
- 5572. By John A Meinel on 2011-01-12
-
Merge bzr.dev 5597 to resolve NEWS, aka bzr-2.3.txt
- 5573. By John A Meinel on 2011-01-12
-
Merge bzr.dev 5598 for NEWS/bzr-2.3.txt
| John A Meinel (jameinel) wrote : | # |
sent to pqm by email
| John A Meinel (jameinel) wrote : | # |
sent to pqm by email
- 5574. By John A Meinel on 2011-01-12
-
Fix the test case that was checking we refused to create a commit_builder
for specific formats. - 5575. By John A Meinel on 2011-01-12
-
Add to What's New
Preview Diff
| 1 | === modified file 'bzrlib/bzrdir.py' |
| 2 | --- bzrlib/bzrdir.py 2010-12-20 12:01:56 +0000 |
| 3 | +++ bzrlib/bzrdir.py 2011-01-12 16:51:15 +0000 |
| 4 | @@ -1,4 +1,4 @@ |
| 5 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 6 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 7 | # |
| 8 | # This program is free software; you can redistribute it and/or modify |
| 9 | # it under the terms of the GNU General Public License as published by |
| 10 | |
| 11 | === modified file 'bzrlib/commit.py' |
| 12 | --- bzrlib/commit.py 2010-11-10 02:01:33 +0000 |
| 13 | +++ bzrlib/commit.py 2011-01-12 16:51:15 +0000 |
| 14 | @@ -1,4 +1,4 @@ |
| 15 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 16 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 17 | # |
| 18 | # This program is free software; you can redistribute it and/or modify |
| 19 | # it under the terms of the GNU General Public License as published by |
| 20 | |
| 21 | === modified file 'bzrlib/conflicts.py' |
| 22 | --- bzrlib/conflicts.py 2010-11-10 16:24:31 +0000 |
| 23 | +++ bzrlib/conflicts.py 2011-01-12 16:51:15 +0000 |
| 24 | @@ -1,4 +1,4 @@ |
| 25 | -# Copyright (C) 2005, 2006, 2007, 2009, 2010 Canonical Ltd |
| 26 | +# Copyright (C) 2005, 2006, 2007, 2009, 2010, 2011 Canonical Ltd |
| 27 | # |
| 28 | # This program is free software; you can redistribute it and/or modify |
| 29 | # it under the terms of the GNU General Public License as published by |
| 30 | |
| 31 | === modified file 'bzrlib/controldir.py' |
| 32 | --- bzrlib/controldir.py 2010-12-14 00:41:05 +0000 |
| 33 | +++ bzrlib/controldir.py 2011-01-12 16:51:15 +0000 |
| 34 | @@ -1,4 +1,4 @@ |
| 35 | -# Copyright (C) 2010 Canonical Ltd |
| 36 | +# Copyright (C) 2010, 2011 Canonical Ltd |
| 37 | # |
| 38 | # This program is free software; you can redistribute it and/or modify |
| 39 | # it under the terms of the GNU General Public License as published by |
| 40 | |
| 41 | === modified file 'bzrlib/errors.py' |
| 42 | --- bzrlib/errors.py 2010-12-16 20:41:47 +0000 |
| 43 | +++ bzrlib/errors.py 2011-01-12 16:51:15 +0000 |
| 44 | @@ -1,4 +1,4 @@ |
| 45 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 46 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 47 | # |
| 48 | # This program is free software; you can redistribute it and/or modify |
| 49 | # it under the terms of the GNU General Public License as published by |
| 50 | |
| 51 | === modified file 'bzrlib/fetch.py' |
| 52 | --- bzrlib/fetch.py 2010-12-14 09:21:14 +0000 |
| 53 | +++ bzrlib/fetch.py 2011-01-12 16:51:15 +0000 |
| 54 | @@ -1,4 +1,4 @@ |
| 55 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 56 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 57 | # |
| 58 | # This program is free software; you can redistribute it and/or modify |
| 59 | # it under the terms of the GNU General Public License as published by |
| 60 | |
| 61 | === modified file 'bzrlib/graph.py' |
| 62 | --- bzrlib/graph.py 2010-12-11 22:06:52 +0000 |
| 63 | +++ bzrlib/graph.py 2011-01-12 16:51:15 +0000 |
| 64 | @@ -1,4 +1,4 @@ |
| 65 | -# Copyright (C) 2007-2010 Canonical Ltd |
| 66 | +# Copyright (C) 2007-2011 Canonical Ltd |
| 67 | # |
| 68 | # This program is free software; you can redistribute it and/or modify |
| 69 | # it under the terms of the GNU General Public License as published by |
| 70 | |
| 71 | === modified file 'bzrlib/mutabletree.py' |
| 72 | --- bzrlib/mutabletree.py 2010-12-16 20:41:47 +0000 |
| 73 | +++ bzrlib/mutabletree.py 2011-01-12 16:51:15 +0000 |
| 74 | @@ -1,4 +1,4 @@ |
| 75 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 76 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 77 | # |
| 78 | # This program is free software; you can redistribute it and/or modify |
| 79 | # it under the terms of the GNU General Public License as published by |
| 80 | |
| 81 | === modified file 'bzrlib/plugins/launchpad/__init__.py' |
| 82 | --- bzrlib/plugins/launchpad/__init__.py 2010-12-07 09:06:39 +0000 |
| 83 | +++ bzrlib/plugins/launchpad/__init__.py 2011-01-12 16:51:15 +0000 |
| 84 | @@ -1,4 +1,4 @@ |
| 85 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 86 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 87 | # |
| 88 | # This program is free software; you can redistribute it and/or modify |
| 89 | # it under the terms of the GNU General Public License as published by |
| 90 | |
| 91 | === modified file 'bzrlib/plugins/launchpad/test_lp_directory.py' |
| 92 | --- bzrlib/plugins/launchpad/test_lp_directory.py 2010-12-16 11:31:14 +0000 |
| 93 | +++ bzrlib/plugins/launchpad/test_lp_directory.py 2011-01-12 16:51:15 +0000 |
| 94 | @@ -1,4 +1,4 @@ |
| 95 | -# Copyright (C) 2007-2010 Canonical Ltd |
| 96 | +# Copyright (C) 2007-2011 Canonical Ltd |
| 97 | # |
| 98 | # This program is free software; you can redistribute it and/or modify |
| 99 | # it under the terms of the GNU General Public License as published by |
| 100 | |
| 101 | === modified file 'bzrlib/plugins/launchpad/test_lp_service.py' |
| 102 | --- bzrlib/plugins/launchpad/test_lp_service.py 2010-12-16 11:31:14 +0000 |
| 103 | +++ bzrlib/plugins/launchpad/test_lp_service.py 2011-01-12 16:51:15 +0000 |
| 104 | @@ -1,4 +1,4 @@ |
| 105 | -# Copyright (C) 2008 Canonical Ltd |
| 106 | +# Copyright (C) 2008-2011 Canonical Ltd |
| 107 | # |
| 108 | # This program is free software; you can redistribute it and/or modify |
| 109 | # it under the terms of the GNU General Public License as published by |
| 110 | |
| 111 | === modified file 'bzrlib/remote.py' |
| 112 | --- bzrlib/remote.py 2010-12-14 23:14:44 +0000 |
| 113 | +++ bzrlib/remote.py 2011-01-12 16:51:15 +0000 |
| 114 | @@ -1,4 +1,4 @@ |
| 115 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 116 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 117 | # |
| 118 | # This program is free software; you can redistribute it and/or modify |
| 119 | # it under the terms of the GNU General Public License as published by |
| 120 | |
| 121 | === modified file 'bzrlib/repository.py' |
| 122 | --- bzrlib/repository.py 2011-01-11 20:21:53 +0000 |
| 123 | +++ bzrlib/repository.py 2011-01-12 16:51:15 +0000 |
| 124 | @@ -176,6 +176,41 @@ |
| 125 | self._validate_unicode_text(value, |
| 126 | 'revision property (%s)' % (key,)) |
| 127 | |
| 128 | + def _ensure_fallback_inventories(self): |
| 129 | + """Ensure that appropriate inventories are available. |
| 130 | + |
| 131 | + This only applies to repositories that are stacked, and is about |
| 132 | + enusring the stacking invariants. Namely, that for any revision that is |
| 133 | + present, we either have all of the file content, or we have the parent |
| 134 | + inventory and the delta file content. |
| 135 | + """ |
| 136 | + if not self.repository._fallback_repositories: |
| 137 | + return |
| 138 | + if not self.repository._format.supports_chks: |
| 139 | + raise errors.BzrError("Cannot commit directly to a stacked branch" |
| 140 | + " in pre-2a formats. See " |
| 141 | + "https://bugs.launchpad.net/bzr/+bug/375013 for details.") |
| 142 | + # This is a stacked repo, we need to make sure we have the parent |
| 143 | + # inventories for the parents. |
| 144 | + parent_keys = [(p,) for p in self.parents] |
| 145 | + parent_map = self.repository.inventories._index.get_parent_map(parent_keys) |
| 146 | + missing_parent_keys = set([pk for pk in parent_keys |
| 147 | + if pk not in parent_map]) |
| 148 | + fallback_repos = list(reversed(self.repository._fallback_repositories)) |
| 149 | + missing_keys = [('inventories', pk[0]) |
| 150 | + for pk in missing_parent_keys] |
| 151 | + resume_tokens = [] |
| 152 | + while missing_keys and fallback_repos: |
| 153 | + fallback_repo = fallback_repos.pop() |
| 154 | + source = fallback_repo._get_source(self.repository._format) |
| 155 | + sink = self.repository._get_sink() |
| 156 | + stream = source.get_stream_for_missing_keys(missing_keys) |
| 157 | + missing_keys = sink.insert_stream_without_locking(stream, |
| 158 | + self.repository._format) |
| 159 | + if missing_keys: |
| 160 | + raise errors.BzrError('Unable to fill in parent inventories for a' |
| 161 | + ' stacked branch') |
| 162 | + |
| 163 | def commit(self, message): |
| 164 | """Make the actual commit. |
| 165 | |
| 166 | @@ -193,6 +228,7 @@ |
| 167 | rev.parent_ids = self.parents |
| 168 | self.repository.add_revision(self._new_revision_id, rev, |
| 169 | self.new_inventory, self._config) |
| 170 | + self._ensure_fallback_inventories() |
| 171 | self.repository.commit_write_group() |
| 172 | return self._new_revision_id |
| 173 | |
| 174 | @@ -1761,9 +1797,9 @@ |
| 175 | :param revprops: Optional dictionary of revision properties. |
| 176 | :param revision_id: Optional revision id. |
| 177 | """ |
| 178 | - if self._fallback_repositories: |
| 179 | - raise errors.BzrError("Cannot commit from a lightweight checkout " |
| 180 | - "to a stacked branch. See " |
| 181 | + if self._fallback_repositories and not self._format.supports_chks: |
| 182 | + raise errors.BzrError("Cannot commit directly to a stacked branch" |
| 183 | + " in pre-2a formats. See " |
| 184 | "https://bugs.launchpad.net/bzr/+bug/375013 for details.") |
| 185 | result = self._commit_builder_class(self, parents, config, |
| 186 | timestamp, timezone, committer, revprops, revision_id) |
| 187 | @@ -4054,15 +4090,46 @@ |
| 188 | is_resume = False |
| 189 | try: |
| 190 | # locked_insert_stream performs a commit|suspend. |
| 191 | - return self._locked_insert_stream(stream, src_format, |
| 192 | - is_resume) |
| 193 | + missing_keys = self.insert_stream_without_locking(stream, |
| 194 | + src_format, is_resume) |
| 195 | + if missing_keys: |
| 196 | + # suspend the write group and tell the caller what we is |
| 197 | + # missing. We know we can suspend or else we would not have |
| 198 | + # entered this code path. (All repositories that can handle |
| 199 | + # missing keys can handle suspending a write group). |
| 200 | + write_group_tokens = self.target_repo.suspend_write_group() |
| 201 | + return write_group_tokens, missing_keys |
| 202 | + hint = self.target_repo.commit_write_group() |
| 203 | + to_serializer = self.target_repo._format._serializer |
| 204 | + src_serializer = src_format._serializer |
| 205 | + if (to_serializer != src_serializer and |
| 206 | + self.target_repo._format.pack_compresses): |
| 207 | + self.target_repo.pack(hint=hint) |
| 208 | + return [], set() |
| 209 | except: |
| 210 | self.target_repo.abort_write_group(suppress_errors=True) |
| 211 | raise |
| 212 | finally: |
| 213 | self.target_repo.unlock() |
| 214 | |
| 215 | - def _locked_insert_stream(self, stream, src_format, is_resume): |
| 216 | + def insert_stream_without_locking(self, stream, src_format, |
| 217 | + is_resume=False): |
| 218 | + """Insert a stream's content into the target repository. |
| 219 | + |
| 220 | + This assumes that you already have a locked repository and an active |
| 221 | + write group. |
| 222 | + |
| 223 | + :param src_format: a bzr repository format. |
| 224 | + :param is_resume: Passed down to get_missing_parent_inventories to |
| 225 | + indicate if we should be checking for missing texts at the same |
| 226 | + time. |
| 227 | + |
| 228 | + :return: A set of keys that are missing. |
| 229 | + """ |
| 230 | + if not self.target_repo.is_write_locked(): |
| 231 | + raise errors.ObjectNotLocked(self) |
| 232 | + if not self.target_repo.is_in_write_group(): |
| 233 | + raise errors.BzrError('you must already be in a write group') |
| 234 | to_serializer = self.target_repo._format._serializer |
| 235 | src_serializer = src_format._serializer |
| 236 | new_pack = None |
| 237 | @@ -4147,19 +4214,7 @@ |
| 238 | # cannot even attempt suspending, and missing would have failed |
| 239 | # during stream insertion. |
| 240 | missing_keys = set() |
| 241 | - else: |
| 242 | - if missing_keys: |
| 243 | - # suspend the write group and tell the caller what we is |
| 244 | - # missing. We know we can suspend or else we would not have |
| 245 | - # entered this code path. (All repositories that can handle |
| 246 | - # missing keys can handle suspending a write group). |
| 247 | - write_group_tokens = self.target_repo.suspend_write_group() |
| 248 | - return write_group_tokens, missing_keys |
| 249 | - hint = self.target_repo.commit_write_group() |
| 250 | - if (to_serializer != src_serializer and |
| 251 | - self.target_repo._format.pack_compresses): |
| 252 | - self.target_repo.pack(hint=hint) |
| 253 | - return [], set() |
| 254 | + return missing_keys |
| 255 | |
| 256 | def _extract_and_insert_inventory_deltas(self, substream, serializer): |
| 257 | target_rich_root = self.target_repo._format.rich_root_data |
| 258 | |
| 259 | === modified file 'bzrlib/tag.py' |
| 260 | --- bzrlib/tag.py 2011-01-10 21:49:51 +0000 |
| 261 | +++ bzrlib/tag.py 2011-01-12 16:51:15 +0000 |
| 262 | @@ -1,4 +1,4 @@ |
| 263 | -# Copyright (C) 2007-2010 Canonical Ltd |
| 264 | +# Copyright (C) 2007-2011 Canonical Ltd |
| 265 | # |
| 266 | # This program is free software; you can redistribute it and/or modify |
| 267 | # it under the terms of the GNU General Public License as published by |
| 268 | |
| 269 | === modified file 'bzrlib/tests/EncodingAdapter.py' |
| 270 | --- bzrlib/tests/EncodingAdapter.py 2010-12-24 22:40:27 +0000 |
| 271 | +++ bzrlib/tests/EncodingAdapter.py 2011-01-12 16:51:15 +0000 |
| 272 | @@ -1,4 +1,4 @@ |
| 273 | -# Copyright (C) 2006, 2009, 2010 Canonical Ltd |
| 274 | +# Copyright (C) 2006, 2009, 2010, 2011 Canonical Ltd |
| 275 | # -*- coding: utf-8 -*- |
| 276 | # |
| 277 | # This program is free software; you can redistribute it and/or modify |
| 278 | |
| 279 | === modified file 'bzrlib/tests/TestUtil.py' |
| 280 | --- bzrlib/tests/TestUtil.py 2010-12-18 10:21:52 +0000 |
| 281 | +++ bzrlib/tests/TestUtil.py 2011-01-12 16:51:15 +0000 |
| 282 | @@ -1,4 +1,4 @@ |
| 283 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 284 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 285 | # Author: Robert Collins <robert.collins@canonical.com> |
| 286 | # |
| 287 | # This program is free software; you can redistribute it and/or modify |
| 288 | |
| 289 | === modified file 'bzrlib/tests/__init__.py' |
| 290 | --- bzrlib/tests/__init__.py 2011-01-07 11:13:50 +0000 |
| 291 | +++ bzrlib/tests/__init__.py 2011-01-12 16:51:15 +0000 |
| 292 | @@ -1,4 +1,4 @@ |
| 293 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 294 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 295 | # |
| 296 | # This program is free software; you can redistribute it and/or modify |
| 297 | # it under the terms of the GNU General Public License as published by |
| 298 | |
| 299 | === modified file 'bzrlib/tests/blackbox/test_add.py' |
| 300 | --- bzrlib/tests/blackbox/test_add.py 2010-12-16 20:41:47 +0000 |
| 301 | +++ bzrlib/tests/blackbox/test_add.py 2011-01-12 16:51:15 +0000 |
| 302 | @@ -1,4 +1,4 @@ |
| 303 | -# Copyright (C) 2006, 2007, 2009, 2010 Canonical Ltd |
| 304 | +# Copyright (C) 2006, 2007, 2009, 2010, 2011 Canonical Ltd |
| 305 | # |
| 306 | # This program is free software; you can redistribute it and/or modify |
| 307 | # it under the terms of the GNU General Public License as published by |
| 308 | |
| 309 | === modified file 'bzrlib/tests/blackbox/test_branch.py' |
| 310 | --- bzrlib/tests/blackbox/test_branch.py 2010-12-14 23:14:44 +0000 |
| 311 | +++ bzrlib/tests/blackbox/test_branch.py 2011-01-12 16:51:15 +0000 |
| 312 | @@ -1,4 +1,4 @@ |
| 313 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 314 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 315 | # |
| 316 | # This program is free software; you can redistribute it and/or modify |
| 317 | # it under the terms of the GNU General Public License as published by |
| 318 | |
| 319 | === modified file 'bzrlib/tests/blackbox/test_commit.py' |
| 320 | --- bzrlib/tests/blackbox/test_commit.py 2010-12-16 15:29:10 +0000 |
| 321 | +++ bzrlib/tests/blackbox/test_commit.py 2011-01-12 16:51:15 +0000 |
| 322 | @@ -1,4 +1,4 @@ |
| 323 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 324 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 325 | # |
| 326 | # This program is free software; you can redistribute it and/or modify |
| 327 | # it under the terms of the GNU General Public License as published by |
| 328 | |
| 329 | === modified file 'bzrlib/tests/blackbox/test_diff.py' |
| 330 | --- bzrlib/tests/blackbox/test_diff.py 2010-12-16 13:15:42 +0000 |
| 331 | +++ bzrlib/tests/blackbox/test_diff.py 2011-01-12 16:51:15 +0000 |
| 332 | @@ -1,4 +1,4 @@ |
| 333 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 334 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 335 | # |
| 336 | # This program is free software; you can redistribute it and/or modify |
| 337 | # it under the terms of the GNU General Public License as published by |
| 338 | |
| 339 | === modified file 'bzrlib/tests/blackbox/test_dpush.py' |
| 340 | --- bzrlib/tests/blackbox/test_dpush.py 2010-12-09 04:26:53 +0000 |
| 341 | +++ bzrlib/tests/blackbox/test_dpush.py 2011-01-12 16:51:15 +0000 |
| 342 | @@ -1,4 +1,4 @@ |
| 343 | -# Copyright (C) 2009, 2010 Canonical Ltd |
| 344 | +# Copyright (C) 2009, 2010, 2011 Canonical Ltd |
| 345 | # |
| 346 | # This program is free software; you can redistribute it and/or modify |
| 347 | # it under the terms of the GNU General Public License as published by |
| 348 | |
| 349 | === modified file 'bzrlib/tests/blackbox/test_exceptions.py' |
| 350 | --- bzrlib/tests/blackbox/test_exceptions.py 2011-01-11 21:27:02 +0000 |
| 351 | +++ bzrlib/tests/blackbox/test_exceptions.py 2011-01-12 16:51:15 +0000 |
| 352 | @@ -1,4 +1,4 @@ |
| 353 | -# Copyright (C) 2006, 2007, 2009, 2010 Canonical Ltd |
| 354 | +# Copyright (C) 2006, 2007, 2009, 2010, 2011 Canonical Ltd |
| 355 | # |
| 356 | # This program is free software; you can redistribute it and/or modify |
| 357 | # it under the terms of the GNU General Public License as published by |
| 358 | |
| 359 | === modified file 'bzrlib/tests/blackbox/test_init.py' |
| 360 | --- bzrlib/tests/blackbox/test_init.py 2010-12-16 15:29:10 +0000 |
| 361 | +++ bzrlib/tests/blackbox/test_init.py 2011-01-12 16:51:15 +0000 |
| 362 | @@ -1,4 +1,4 @@ |
| 363 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 364 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 365 | # |
| 366 | # This program is free software; you can redistribute it and/or modify |
| 367 | # it under the terms of the GNU General Public License as published by |
| 368 | |
| 369 | === modified file 'bzrlib/tests/blackbox/test_non_ascii.py' |
| 370 | --- bzrlib/tests/blackbox/test_non_ascii.py 2010-12-16 13:15:42 +0000 |
| 371 | +++ bzrlib/tests/blackbox/test_non_ascii.py 2011-01-12 16:51:15 +0000 |
| 372 | @@ -1,4 +1,4 @@ |
| 373 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 374 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 375 | # |
| 376 | # This program is free software; you can redistribute it and/or modify |
| 377 | # it under the terms of the GNU General Public License as published by |
| 378 | |
| 379 | === modified file 'bzrlib/tests/blackbox/test_push.py' |
| 380 | --- bzrlib/tests/blackbox/test_push.py 2010-12-14 09:21:14 +0000 |
| 381 | +++ bzrlib/tests/blackbox/test_push.py 2011-01-12 16:51:15 +0000 |
| 382 | @@ -1,4 +1,4 @@ |
| 383 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 384 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 385 | # |
| 386 | # This program is free software; you can redistribute it and/or modify |
| 387 | # it under the terms of the GNU General Public License as published by |
| 388 | |
| 389 | === modified file 'bzrlib/tests/blackbox/test_resolve.py' |
| 390 | --- bzrlib/tests/blackbox/test_resolve.py 2010-11-10 18:17:06 +0000 |
| 391 | +++ bzrlib/tests/blackbox/test_resolve.py 2011-01-12 16:51:15 +0000 |
| 392 | @@ -1,4 +1,4 @@ |
| 393 | -# Copyright (C) 2010 Canonical Ltd |
| 394 | +# Copyright (C) 2010, 2011 Canonical Ltd |
| 395 | # |
| 396 | # This program is free software; you can redistribute it and/or modify |
| 397 | # it under the terms of the GNU General Public License as published by |
| 398 | |
| 399 | === modified file 'bzrlib/tests/blackbox/test_send.py' |
| 400 | --- bzrlib/tests/blackbox/test_send.py 2010-12-09 04:26:53 +0000 |
| 401 | +++ bzrlib/tests/blackbox/test_send.py 2011-01-12 16:51:15 +0000 |
| 402 | @@ -1,4 +1,4 @@ |
| 403 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 404 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 405 | # Authors: Aaron Bentley |
| 406 | # |
| 407 | # This program is free software; you can redistribute it and/or modify |
| 408 | |
| 409 | === modified file 'bzrlib/tests/blackbox/test_serve.py' |
| 410 | --- bzrlib/tests/blackbox/test_serve.py 2010-12-16 11:31:14 +0000 |
| 411 | +++ bzrlib/tests/blackbox/test_serve.py 2011-01-12 16:51:15 +0000 |
| 412 | @@ -1,4 +1,4 @@ |
| 413 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 414 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 415 | # |
| 416 | # This program is free software; you can redistribute it and/or modify |
| 417 | # it under the terms of the GNU General Public License as published by |
| 418 | |
| 419 | === modified file 'bzrlib/tests/blackbox/test_shared_repository.py' |
| 420 | --- bzrlib/tests/blackbox/test_shared_repository.py 2010-12-16 15:29:10 +0000 |
| 421 | +++ bzrlib/tests/blackbox/test_shared_repository.py 2011-01-12 16:51:15 +0000 |
| 422 | @@ -1,4 +1,4 @@ |
| 423 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 424 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 425 | # |
| 426 | # This program is free software; you can redistribute it and/or modify |
| 427 | # it under the terms of the GNU General Public License as published by |
| 428 | |
| 429 | === modified file 'bzrlib/tests/blackbox/test_tags.py' |
| 430 | --- bzrlib/tests/blackbox/test_tags.py 2011-01-10 21:49:51 +0000 |
| 431 | +++ bzrlib/tests/blackbox/test_tags.py 2011-01-12 16:51:15 +0000 |
| 432 | @@ -1,4 +1,4 @@ |
| 433 | -# Copyright (C) 2007-2010 Canonical Ltd |
| 434 | +# Copyright (C) 2007-2011 Canonical Ltd |
| 435 | # |
| 436 | # This program is free software; you can redistribute it and/or modify |
| 437 | # it under the terms of the GNU General Public License as published by |
| 438 | |
| 439 | === modified file 'bzrlib/tests/blackbox/test_too_much.py' |
| 440 | --- bzrlib/tests/blackbox/test_too_much.py 2010-12-16 13:15:42 +0000 |
| 441 | +++ bzrlib/tests/blackbox/test_too_much.py 2011-01-12 16:51:15 +0000 |
| 442 | @@ -1,4 +1,4 @@ |
| 443 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 444 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 445 | # |
| 446 | # This program is free software; you can redistribute it and/or modify |
| 447 | # it under the terms of the GNU General Public License as published by |
| 448 | |
| 449 | === modified file 'bzrlib/tests/blackbox/test_upgrade.py' |
| 450 | --- bzrlib/tests/blackbox/test_upgrade.py 2010-12-17 11:35:28 +0000 |
| 451 | +++ bzrlib/tests/blackbox/test_upgrade.py 2011-01-12 16:51:15 +0000 |
| 452 | @@ -1,4 +1,4 @@ |
| 453 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 454 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 455 | # |
| 456 | # This program is free software; you can redistribute it and/or modify |
| 457 | # it under the terms of the GNU General Public License as published by |
| 458 | |
| 459 | === modified file 'bzrlib/tests/blackbox/test_version.py' |
| 460 | --- bzrlib/tests/blackbox/test_version.py 2010-12-16 12:13:32 +0000 |
| 461 | +++ bzrlib/tests/blackbox/test_version.py 2011-01-12 16:51:15 +0000 |
| 462 | @@ -1,4 +1,4 @@ |
| 463 | -# Copyright (C) 2007, 2008 Canonical Ltd |
| 464 | +# Copyright (C) 2007, 2008, 2009, 2011 Canonical Ltd |
| 465 | # |
| 466 | # This program is free software; you can redistribute it and/or modify |
| 467 | # it under the terms of the GNU General Public License as published by |
| 468 | |
| 469 | === modified file 'bzrlib/tests/blackbox/test_whoami.py' |
| 470 | --- bzrlib/tests/blackbox/test_whoami.py 2010-12-16 15:29:10 +0000 |
| 471 | +++ bzrlib/tests/blackbox/test_whoami.py 2011-01-12 16:51:15 +0000 |
| 472 | @@ -1,4 +1,4 @@ |
| 473 | -# Copyright (C) 2006, 2007, 2009, 2010 Canonical Ltd |
| 474 | +# Copyright (C) 2006, 2007, 2009, 2010, 2011 Canonical Ltd |
| 475 | # |
| 476 | # This program is free software; you can redistribute it and/or modify |
| 477 | # it under the terms of the GNU General Public License as published by |
| 478 | |
| 479 | === modified file 'bzrlib/tests/doc_generate/__init__.py' |
| 480 | --- bzrlib/tests/doc_generate/__init__.py 2010-12-09 21:34:01 +0000 |
| 481 | +++ bzrlib/tests/doc_generate/__init__.py 2011-01-12 16:51:15 +0000 |
| 482 | @@ -1,4 +1,4 @@ |
| 483 | -# Copyright (C) 2010 Canonical Ltd |
| 484 | +# Copyright (C) 2010, 2011 Canonical Ltd |
| 485 | # |
| 486 | # This program is free software; you can redistribute it and/or modify |
| 487 | # it under the terms of the GNU General Public License as published by |
| 488 | |
| 489 | === modified file 'bzrlib/tests/doc_generate/builders/test_texinfo.py' |
| 490 | --- bzrlib/tests/doc_generate/builders/test_texinfo.py 2010-12-09 15:04:24 +0000 |
| 491 | +++ bzrlib/tests/doc_generate/builders/test_texinfo.py 2011-01-12 16:51:15 +0000 |
| 492 | @@ -1,4 +1,4 @@ |
| 493 | -# Copyright (C) 2010 Canonical Ltd |
| 494 | +# Copyright (C) 2010, 2011 Canonical Ltd |
| 495 | # |
| 496 | # This program is free software; you can redistribute it and/or modify |
| 497 | # it under the terms of the GNU General Public License as published by |
| 498 | |
| 499 | === modified file 'bzrlib/tests/doc_generate/writers/test_texinfo.py' |
| 500 | --- bzrlib/tests/doc_generate/writers/test_texinfo.py 2010-12-09 15:04:24 +0000 |
| 501 | +++ bzrlib/tests/doc_generate/writers/test_texinfo.py 2011-01-12 16:51:15 +0000 |
| 502 | @@ -1,4 +1,4 @@ |
| 503 | -# Copyright (C) 2010 Canonical Ltd |
| 504 | +# Copyright (C) 2010, 2011 Canonical Ltd |
| 505 | # |
| 506 | # This program is free software; you can redistribute it and/or modify |
| 507 | # it under the terms of the GNU General Public License as published by |
| 508 | |
| 509 | === modified file 'bzrlib/tests/features.py' |
| 510 | --- bzrlib/tests/features.py 2010-12-24 22:40:27 +0000 |
| 511 | +++ bzrlib/tests/features.py 2011-01-12 16:51:15 +0000 |
| 512 | @@ -1,4 +1,4 @@ |
| 513 | -# Copyright (C) 2009, 2010 Canonical Ltd |
| 514 | +# Copyright (C) 2009, 2010, 2011 Canonical Ltd |
| 515 | # |
| 516 | # This program is free software; you can redistribute it and/or modify |
| 517 | # it under the terms of the GNU General Public License as published by |
| 518 | |
| 519 | === modified file 'bzrlib/tests/http_server.py' |
| 520 | --- bzrlib/tests/http_server.py 2010-12-24 22:40:27 +0000 |
| 521 | +++ bzrlib/tests/http_server.py 2011-01-12 16:51:15 +0000 |
| 522 | @@ -1,4 +1,4 @@ |
| 523 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 524 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 525 | # |
| 526 | # This program is free software; you can redistribute it and/or modify |
| 527 | # it under the terms of the GNU General Public License as published by |
| 528 | |
| 529 | === modified file 'bzrlib/tests/http_utils.py' |
| 530 | --- bzrlib/tests/http_utils.py 2010-12-24 22:40:27 +0000 |
| 531 | +++ bzrlib/tests/http_utils.py 2011-01-12 16:51:15 +0000 |
| 532 | @@ -1,4 +1,4 @@ |
| 533 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 534 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 535 | # |
| 536 | # This program is free software; you can redistribute it and/or modify |
| 537 | # it under the terms of the GNU General Public License as published by |
| 538 | |
| 539 | === modified file 'bzrlib/tests/https_server.py' |
| 540 | --- bzrlib/tests/https_server.py 2010-12-07 16:18:50 +0000 |
| 541 | +++ bzrlib/tests/https_server.py 2011-01-12 16:51:15 +0000 |
| 542 | @@ -1,4 +1,4 @@ |
| 543 | -# Copyright (C) 2007-2010 Canonical Ltd |
| 544 | +# Copyright (C) 2007-2011 Canonical Ltd |
| 545 | # |
| 546 | # This program is free software; you can redistribute it and/or modify |
| 547 | # it under the terms of the GNU General Public License as published by |
| 548 | |
| 549 | === modified file 'bzrlib/tests/per_branch/test_branch.py' |
| 550 | --- bzrlib/tests/per_branch/test_branch.py 2010-12-07 09:06:39 +0000 |
| 551 | +++ bzrlib/tests/per_branch/test_branch.py 2011-01-12 16:51:15 +0000 |
| 552 | @@ -1,4 +1,4 @@ |
| 553 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 554 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 555 | # |
| 556 | # This program is free software; you can redistribute it and/or modify |
| 557 | # it under the terms of the GNU General Public License as published by |
| 558 | |
| 559 | === modified file 'bzrlib/tests/per_branch/test_parent.py' |
| 560 | --- bzrlib/tests/per_branch/test_parent.py 2010-12-07 09:06:39 +0000 |
| 561 | +++ bzrlib/tests/per_branch/test_parent.py 2011-01-12 16:51:15 +0000 |
| 562 | @@ -1,4 +1,4 @@ |
| 563 | -# Copyright (C) 2005, 2006, 2007, 2009, 2010 Canonical Ltd |
| 564 | +# Copyright (C) 2005, 2006, 2007, 2009, 2010, 2011 Canonical Ltd |
| 565 | # |
| 566 | # This program is free software; you can redistribute it and/or modify |
| 567 | # it under the terms of the GNU General Public License as published by |
| 568 | |
| 569 | === modified file 'bzrlib/tests/per_controldir/test_controldir.py' |
| 570 | --- bzrlib/tests/per_controldir/test_controldir.py 2010-12-24 22:40:27 +0000 |
| 571 | +++ bzrlib/tests/per_controldir/test_controldir.py 2011-01-12 16:51:15 +0000 |
| 572 | @@ -1,4 +1,4 @@ |
| 573 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 574 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 575 | # |
| 576 | # This program is free software; you can redistribute it and/or modify |
| 577 | # it under the terms of the GNU General Public License as published by |
| 578 | |
| 579 | === modified file 'bzrlib/tests/per_interrepository/test_interrepository.py' |
| 580 | --- bzrlib/tests/per_interrepository/test_interrepository.py 2011-01-11 21:27:02 +0000 |
| 581 | +++ bzrlib/tests/per_interrepository/test_interrepository.py 2011-01-12 16:51:15 +0000 |
| 582 | @@ -1,4 +1,4 @@ |
| 583 | -# Copyright (C) 2005, 2006, 2007, 2008 Canonical Ltd |
| 584 | +# Copyright (C) 2006-2009, 2011 Canonical Ltd |
| 585 | # |
| 586 | # This program is free software; you can redistribute it and/or modify |
| 587 | # it under the terms of the GNU General Public License as published by |
| 588 | |
| 589 | === modified file 'bzrlib/tests/per_merger.py' |
| 590 | --- bzrlib/tests/per_merger.py 2010-12-24 22:40:27 +0000 |
| 591 | +++ bzrlib/tests/per_merger.py 2011-01-12 16:51:15 +0000 |
| 592 | @@ -1,4 +1,4 @@ |
| 593 | -# Copyright (C) 2009, 2010 Canonical Ltd |
| 594 | +# Copyright (C) 2009, 2010, 2011 Canonical Ltd |
| 595 | # |
| 596 | # This program is free software; you can redistribute it and/or modify |
| 597 | # it under the terms of the GNU General Public License as published by |
| 598 | |
| 599 | === modified file 'bzrlib/tests/per_pack_repository.py' |
| 600 | --- bzrlib/tests/per_pack_repository.py 2010-12-24 22:40:27 +0000 |
| 601 | +++ bzrlib/tests/per_pack_repository.py 2011-01-12 16:51:15 +0000 |
| 602 | @@ -1,4 +1,4 @@ |
| 603 | -# Copyright (C) 2008, 2009, 2010 Canonical Ltd |
| 604 | +# Copyright (C) 2008-2011 Canonical Ltd |
| 605 | # |
| 606 | # This program is free software; you can redistribute it and/or modify |
| 607 | # it under the terms of the GNU General Public License as published by |
| 608 | |
| 609 | === modified file 'bzrlib/tests/per_repository/test_check.py' |
| 610 | --- bzrlib/tests/per_repository/test_check.py 2010-12-16 13:15:42 +0000 |
| 611 | +++ bzrlib/tests/per_repository/test_check.py 2011-01-12 16:51:15 +0000 |
| 612 | @@ -1,4 +1,4 @@ |
| 613 | -# Copyright (C) 2007-2010 Canonical Ltd |
| 614 | +# Copyright (C) 2007-2011 Canonical Ltd |
| 615 | # |
| 616 | # This program is free software; you can redistribute it and/or modify |
| 617 | # it under the terms of the GNU General Public License as published by |
| 618 | |
| 619 | === modified file 'bzrlib/tests/per_repository/test_commit_builder.py' |
| 620 | --- bzrlib/tests/per_repository/test_commit_builder.py 2010-12-16 13:15:42 +0000 |
| 621 | +++ bzrlib/tests/per_repository/test_commit_builder.py 2011-01-12 16:51:15 +0000 |
| 622 | @@ -1,4 +1,4 @@ |
| 623 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 624 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 625 | # |
| 626 | # This program is free software; you can redistribute it and/or modify |
| 627 | # it under the terms of the GNU General Public License as published by |
| 628 | @@ -1300,8 +1300,8 @@ |
| 629 | |
| 630 | def test_stacked_repositories_reject_commit_builder(self): |
| 631 | # As per bug 375013, committing to stacked repositories is currently |
| 632 | - # broken, so repositories with fallbacks refuse to hand out a commit |
| 633 | - # builder. |
| 634 | + # broken if we aren't in a chk repository. So old repositories with |
| 635 | + # fallbacks refuse to hand out a commit builder. |
| 636 | repo_basis = self.make_repository('basis') |
| 637 | branch = self.make_branch('local') |
| 638 | repo_local = branch.repository |
| 639 | @@ -1309,10 +1309,14 @@ |
| 640 | repo_local.add_fallback_repository(repo_basis) |
| 641 | except errors.UnstackableRepositoryFormat: |
| 642 | raise tests.TestNotApplicable("not a stackable format.") |
| 643 | - repo_local.lock_write() |
| 644 | - self.addCleanup(repo_local.unlock) |
| 645 | - self.assertRaises(errors.BzrError, repo_local.get_commit_builder, |
| 646 | - branch, [], branch.get_config()) |
| 647 | + self.addCleanup(repo_local.lock_write().unlock) |
| 648 | + if not repo_local._format.supports_chks: |
| 649 | + self.assertRaises(errors.BzrError, repo_local.get_commit_builder, |
| 650 | + branch, [], branch.get_config()) |
| 651 | + else: |
| 652 | + builder = repo_local.get_commit_builder(branch, [], |
| 653 | + branch.get_config()) |
| 654 | + builder.abort() |
| 655 | |
| 656 | def test_committer_no_username(self): |
| 657 | # Ensure that when no username is available but a committer is |
| 658 | |
| 659 | === modified file 'bzrlib/tests/per_repository/test_repository.py' |
| 660 | --- bzrlib/tests/per_repository/test_repository.py 2011-01-11 21:27:02 +0000 |
| 661 | +++ bzrlib/tests/per_repository/test_repository.py 2011-01-12 16:51:15 +0000 |
| 662 | @@ -1,4 +1,4 @@ |
| 663 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 664 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 665 | # |
| 666 | # This program is free software; you can redistribute it and/or modify |
| 667 | # it under the terms of the GNU General Public License as published by |
| 668 | |
| 669 | === modified file 'bzrlib/tests/per_repository/test_write_group.py' |
| 670 | --- bzrlib/tests/per_repository/test_write_group.py 2010-02-11 09:27:55 +0000 |
| 671 | +++ bzrlib/tests/per_repository/test_write_group.py 2011-01-12 16:51:15 +0000 |
| 672 | @@ -1,4 +1,4 @@ |
| 673 | -# Copyright (C) 2007-2010 Canonical Ltd |
| 674 | +# Copyright (C) 2007-2011 Canonical Ltd |
| 675 | # |
| 676 | # This program is free software; you can redistribute it and/or modify |
| 677 | # it under the terms of the GNU General Public License as published by |
| 678 | @@ -363,6 +363,35 @@ |
| 679 | sink.insert_stream((), repo._format, tokens) |
| 680 | self.assertEqual([True], call_log) |
| 681 | |
| 682 | + def test_insert_stream_without_locking_fails_without_lock(self): |
| 683 | + repo = self.make_repository('test-repo') |
| 684 | + sink = repo._get_sink() |
| 685 | + stream = [('texts', [versionedfile.FulltextContentFactory( |
| 686 | + ('file-id', 'rev-id'), (), None, 'lines\n')])] |
| 687 | + self.assertRaises(errors.ObjectNotLocked, |
| 688 | + sink.insert_stream_without_locking, stream, repo._format) |
| 689 | + |
| 690 | + def test_insert_stream_without_locking_fails_without_write_group(self): |
| 691 | + repo = self.make_repository('test-repo') |
| 692 | + self.addCleanup(repo.lock_write().unlock) |
| 693 | + sink = repo._get_sink() |
| 694 | + stream = [('texts', [versionedfile.FulltextContentFactory( |
| 695 | + ('file-id', 'rev-id'), (), None, 'lines\n')])] |
| 696 | + self.assertRaises(errors.BzrError, |
| 697 | + sink.insert_stream_without_locking, stream, repo._format) |
| 698 | + |
| 699 | + def test_insert_stream_without_locking(self): |
| 700 | + repo = self.make_repository('test-repo') |
| 701 | + self.addCleanup(repo.lock_write().unlock) |
| 702 | + repo.start_write_group() |
| 703 | + sink = repo._get_sink() |
| 704 | + stream = [('texts', [versionedfile.FulltextContentFactory( |
| 705 | + ('file-id', 'rev-id'), (), None, 'lines\n')])] |
| 706 | + missing_keys = sink.insert_stream_without_locking(stream, repo._format) |
| 707 | + repo.commit_write_group() |
| 708 | + self.assertEqual(set(), missing_keys) |
| 709 | + |
| 710 | + |
| 711 | |
| 712 | class TestResumeableWriteGroup(per_repository.TestCaseWithRepository): |
| 713 | |
| 714 | |
| 715 | === modified file 'bzrlib/tests/per_repository_reference/__init__.py' |
| 716 | --- bzrlib/tests/per_repository_reference/__init__.py 2010-08-25 10:20:41 +0000 |
| 717 | +++ bzrlib/tests/per_repository_reference/__init__.py 2011-01-12 16:51:15 +0000 |
| 718 | @@ -1,4 +1,4 @@ |
| 719 | -# Copyright (C) 2008, 2009, 2010 Canonical Ltd |
| 720 | +# Copyright (C) 2008-2011 Canonical Ltd |
| 721 | # |
| 722 | # This program is free software; you can redistribute it and/or modify |
| 723 | # it under the terms of the GNU General Public License as published by |
| 724 | @@ -24,12 +24,9 @@ |
| 725 | |
| 726 | from bzrlib import ( |
| 727 | errors, |
| 728 | - repository, |
| 729 | remote, |
| 730 | ) |
| 731 | -from bzrlib.branch import BzrBranchFormat7 |
| 732 | from bzrlib.bzrdir import BzrDir |
| 733 | -from bzrlib.repofmt.pack_repo import RepositoryFormatKnitPack6 |
| 734 | from bzrlib.tests import multiply_tests |
| 735 | from bzrlib.tests.per_repository import ( |
| 736 | all_repository_format_scenarios, |
| 737 | @@ -89,18 +86,8 @@ |
| 738 | result = [] |
| 739 | for test_name, scenario_info in all_repository_format_scenarios(): |
| 740 | format = scenario_info['repository_format'] |
| 741 | - if isinstance(format, remote.RemoteRepositoryFormat): |
| 742 | - # This is a RemoteRepositoryFormat scenario. Force the scenario to |
| 743 | - # use real branch and repository formats that support references. |
| 744 | - scenario_info = dict(scenario_info) |
| 745 | - format = remote.RemoteRepositoryFormat() |
| 746 | - format._custom_format = RepositoryFormatKnitPack6() |
| 747 | - scenario_info['repository_format'] = format |
| 748 | - bzrdir_format = remote.RemoteBzrDirFormat() |
| 749 | - bzrdir_format.repository_format = format |
| 750 | - bzrdir_format.set_branch_format(BzrBranchFormat7()) |
| 751 | - scenario_info['bzrdir_format'] = bzrdir_format |
| 752 | - if format.supports_external_lookups: |
| 753 | + if (isinstance(format, remote.RemoteRepositoryFormat) |
| 754 | + or format.supports_external_lookups): |
| 755 | result.append((test_name, scenario_info)) |
| 756 | return result |
| 757 | |
| 758 | @@ -113,6 +100,7 @@ |
| 759 | 'bzrlib.tests.per_repository_reference.test_all_revision_ids', |
| 760 | 'bzrlib.tests.per_repository_reference.test_break_lock', |
| 761 | 'bzrlib.tests.per_repository_reference.test_check', |
| 762 | + 'bzrlib.tests.per_repository_reference.test_commit_with_stacking', |
| 763 | 'bzrlib.tests.per_repository_reference.test_default_stacking', |
| 764 | 'bzrlib.tests.per_repository_reference.test_fetch', |
| 765 | 'bzrlib.tests.per_repository_reference.test_get_record_stream', |
| 766 | |
| 767 | === added file 'bzrlib/tests/per_repository_reference/test_commit_with_stacking.py' |
| 768 | --- bzrlib/tests/per_repository_reference/test_commit_with_stacking.py 1970-01-01 00:00:00 +0000 |
| 769 | +++ bzrlib/tests/per_repository_reference/test_commit_with_stacking.py 2011-01-12 16:51:15 +0000 |
| 770 | @@ -0,0 +1,220 @@ |
| 771 | +# Copyright (C) 2010, 2011 Canonical Ltd |
| 772 | +# |
| 773 | +# This program is free software; you can redistribute it and/or modify |
| 774 | +# it under the terms of the GNU General Public License as published by |
| 775 | +# the Free Software Foundation; either version 2 of the License, or |
| 776 | +# (at your option) any later version. |
| 777 | +# |
| 778 | +# This program is distributed in the hope that it will be useful, |
| 779 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 780 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 781 | +# GNU General Public License for more details. |
| 782 | +# |
| 783 | +# You should have received a copy of the GNU General Public License |
| 784 | +# along with this program; if not, write to the Free Software |
| 785 | +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
| 786 | + |
| 787 | + |
| 788 | +from bzrlib import ( |
| 789 | + errors, |
| 790 | + remote, |
| 791 | + tests, |
| 792 | + urlutils, |
| 793 | + ) |
| 794 | +from bzrlib.tests.per_repository import TestCaseWithRepository |
| 795 | + |
| 796 | + |
| 797 | +class TestCaseWithStackedTarget(TestCaseWithRepository): |
| 798 | + |
| 799 | + r1_key = ('rev1-id',) |
| 800 | + r2_key = ('rev2-id',) |
| 801 | + |
| 802 | + def make_stacked_target(self): |
| 803 | + base_tree = self.make_branch_and_tree('base') |
| 804 | + self.build_tree(['base/f1.txt']) |
| 805 | + base_tree.add(['f1.txt'], ['f1.txt-id']) |
| 806 | + base_tree.commit('initial', rev_id=self.r1_key[0]) |
| 807 | + self.build_tree(['base/f2.txt']) |
| 808 | + base_tree.add(['f2.txt'], ['f2.txt-id']) |
| 809 | + base_tree.commit('base adds f2', rev_id=self.r2_key[0]) |
| 810 | + stacked_url = urlutils.join(base_tree.branch.base, '../stacked') |
| 811 | + stacked_bzrdir = base_tree.bzrdir.sprout(stacked_url, |
| 812 | + stacked=True) |
| 813 | + if isinstance(stacked_bzrdir, remote.RemoteBzrDir): |
| 814 | + stacked_branch = stacked_bzrdir.open_branch() |
| 815 | + stacked_tree = stacked_branch.create_checkout('stacked', |
| 816 | + lightweight=True) |
| 817 | + else: |
| 818 | + stacked_tree = stacked_bzrdir.open_workingtree() |
| 819 | + return base_tree, stacked_tree |
| 820 | + |
| 821 | + |
| 822 | +class TestCommitWithStacking(TestCaseWithStackedTarget): |
| 823 | + |
| 824 | + def setUp(self): |
| 825 | + super(TestCommitWithStacking, self).setUp() |
| 826 | + format = self.repository_format |
| 827 | + if (not (isinstance(format, remote.RemoteRepositoryFormat) |
| 828 | + or format.supports_chks)): |
| 829 | + raise tests.TestNotApplicable('stacked commit only supported' |
| 830 | + ' for chk repositories') |
| 831 | + |
| 832 | + def get_only_repo(self, tree): |
| 833 | + """Open just the repository used by this tree. |
| 834 | + |
| 835 | + This returns a read locked Repository object without any stacking |
| 836 | + fallbacks. |
| 837 | + """ |
| 838 | + repo = tree.branch.repository.bzrdir.open_repository() |
| 839 | + repo.lock_read() |
| 840 | + self.addCleanup(repo.unlock) |
| 841 | + return repo |
| 842 | + |
| 843 | + def assertPresent(self, expected, vf, keys): |
| 844 | + """Check which of the supplied keys are present.""" |
| 845 | + parent_map = vf.get_parent_map(keys) |
| 846 | + self.assertEqual(sorted(expected), sorted(parent_map)) |
| 847 | + |
| 848 | + def test_simple_commit(self): |
| 849 | + base_tree, stacked_tree = self.make_stacked_target() |
| 850 | + self.assertEqual(1, |
| 851 | + len(stacked_tree.branch.repository._fallback_repositories)) |
| 852 | + self.build_tree_contents([('stacked/f1.txt', 'new content\n')]) |
| 853 | + stacked_tree.commit('new content', rev_id='new-rev-id') |
| 854 | + # We open the repository without fallbacks to ensure the data is |
| 855 | + # locally true |
| 856 | + stacked_only_repo = self.get_only_repo(stacked_tree) |
| 857 | + # We should have the immediate parent inventory available, but not the |
| 858 | + # grandparent's |
| 859 | + self.assertPresent([self.r2_key], |
| 860 | + stacked_only_repo.inventories, [self.r1_key, self.r2_key]) |
| 861 | + # And we should be able to pull this revision into another stacked |
| 862 | + # branch |
| 863 | + stacked2_branch = base_tree.bzrdir.sprout('stacked2', |
| 864 | + stacked=True).open_branch() |
| 865 | + stacked2_branch.repository.fetch(stacked_only_repo, |
| 866 | + revision_id='new-rev-id') |
| 867 | + |
| 868 | + def test_merge_commit(self): |
| 869 | + base_tree, stacked_tree = self.make_stacked_target() |
| 870 | + self.build_tree_contents([('base/f1.txt', 'new content\n')]) |
| 871 | + r3_key = ('rev3-id',) |
| 872 | + base_tree.commit('second base', rev_id=r3_key[0]) |
| 873 | + to_be_merged_tree = base_tree.bzrdir.sprout('merged' |
| 874 | + ).open_workingtree() |
| 875 | + self.build_tree(['merged/f2.txt']) |
| 876 | + to_be_merged_tree.add(['f2.txt'], ['f2.txt-id']) |
| 877 | + to_merge_key = ('to-merge-rev-id',) |
| 878 | + to_be_merged_tree.commit('new-to-be-merged', rev_id=to_merge_key[0]) |
| 879 | + stacked_tree.merge_from_branch(to_be_merged_tree.branch) |
| 880 | + merged_key = ('merged-rev-id',) |
| 881 | + stacked_tree.commit('merge', rev_id=merged_key[0]) |
| 882 | + # to-merge isn't in base, so it should be in stacked. |
| 883 | + # rev3-id is a parent of a revision we have, so we should have the |
| 884 | + # inventory, but not the revision. |
| 885 | + # merged has a parent of r2, so we should also have r2's |
| 886 | + # inventory-but-not-revision. |
| 887 | + # Nothing has r1 directly, so we shouldn't have anything present for it |
| 888 | + stacked_only_repo = self.get_only_repo(stacked_tree) |
| 889 | + all_keys = [self.r1_key, self.r2_key, r3_key, to_merge_key, merged_key] |
| 890 | + self.assertPresent([to_merge_key, merged_key], |
| 891 | + stacked_only_repo.revisions, all_keys) |
| 892 | + self.assertPresent([self.r2_key, r3_key, to_merge_key, merged_key], |
| 893 | + stacked_only_repo.inventories, all_keys) |
| 894 | + |
| 895 | + def test_merge_from_master(self): |
| 896 | + base_tree, stacked_tree = self.make_stacked_target() |
| 897 | + self.build_tree_contents([('base/f1.txt', 'new content\n')]) |
| 898 | + r3_key = ('rev3-id',) |
| 899 | + base_tree.commit('second base', rev_id=r3_key[0]) |
| 900 | + stacked_tree.merge_from_branch(base_tree.branch) |
| 901 | + merged_key = ('merged-rev-id',) |
| 902 | + stacked_tree.commit('merge', rev_id=merged_key[0]) |
| 903 | + all_keys = [self.r1_key, self.r2_key, r3_key, merged_key] |
| 904 | + # We shouldn't have any of the base revisions in the local repo, but we |
| 905 | + # should have both base inventories. |
| 906 | + stacked_only_repo = self.get_only_repo(stacked_tree) |
| 907 | + self.assertPresent([merged_key], |
| 908 | + stacked_only_repo.revisions, all_keys) |
| 909 | + self.assertPresent([self.r2_key, r3_key, merged_key], |
| 910 | + stacked_only_repo.inventories, all_keys) |
| 911 | + |
| 912 | + def test_multi_stack(self): |
| 913 | + """base + stacked + stacked-on-stacked""" |
| 914 | + base_tree, stacked_tree = self.make_stacked_target() |
| 915 | + self.build_tree(['stacked/f3.txt']) |
| 916 | + stacked_tree.add(['f3.txt'], ['f3.txt-id']) |
| 917 | + stacked_key = ('stacked-rev-id',) |
| 918 | + stacked_tree.commit('add f3', rev_id=stacked_key[0]) |
| 919 | + stacked_only_repo = self.get_only_repo(stacked_tree) |
| 920 | + self.assertPresent([self.r2_key], stacked_only_repo.inventories, |
| 921 | + [self.r1_key, self.r2_key]) |
| 922 | + # This ensures we get a Remote URL, rather than a local one. |
| 923 | + stacked2_url = urlutils.join(base_tree.branch.base, '../stacked2') |
| 924 | + stacked2_bzrdir = stacked_tree.bzrdir.sprout(stacked2_url, |
| 925 | + revision_id=self.r1_key[0], |
| 926 | + stacked=True) |
| 927 | + if isinstance(stacked2_bzrdir, remote.RemoteBzrDir): |
| 928 | + stacked2_branch = stacked2_bzrdir.open_branch() |
| 929 | + stacked2_tree = stacked2_branch.create_checkout('stacked2', |
| 930 | + lightweight=True) |
| 931 | + else: |
| 932 | + stacked2_tree = stacked2_bzrdir.open_workingtree() |
| 933 | + # stacked2 is stacked on stacked, but its content is rev1, so |
| 934 | + # it needs to pull the basis information from a fallback-of-fallback. |
| 935 | + self.build_tree(['stacked2/f3.txt']) |
| 936 | + stacked2_only_repo = self.get_only_repo(stacked2_tree) |
| 937 | + self.assertPresent([], stacked2_only_repo.inventories, |
| 938 | + [self.r1_key, self.r2_key]) |
| 939 | + stacked2_tree.add(['f3.txt'], ['f3.txt-id']) |
| 940 | + stacked2_tree.commit('add f3', rev_id='stacked2-rev-id') |
| 941 | + # We added data to this read-locked repo, so refresh it |
| 942 | + stacked2_only_repo.refresh_data() |
| 943 | + self.assertPresent([self.r1_key], stacked2_only_repo.inventories, |
| 944 | + [self.r1_key, self.r2_key]) |
| 945 | + |
| 946 | + def test_commit_with_ghosts_fails(self): |
| 947 | + base_tree, stacked_tree = self.make_stacked_target() |
| 948 | + stacked_tree.set_parent_ids([stacked_tree.last_revision(), |
| 949 | + 'ghost-rev-id']) |
| 950 | + self.assertRaises(errors.BzrError, |
| 951 | + stacked_tree.commit, 'failed_commit') |
| 952 | + |
| 953 | + def test_commit_with_ghost_in_ancestry(self): |
| 954 | + base_tree, stacked_tree = self.make_stacked_target() |
| 955 | + self.build_tree_contents([('base/f1.txt', 'new content\n')]) |
| 956 | + r3_key = ('rev3-id',) |
| 957 | + base_tree.commit('second base', rev_id=r3_key[0]) |
| 958 | + to_be_merged_tree = base_tree.bzrdir.sprout('merged' |
| 959 | + ).open_workingtree() |
| 960 | + self.build_tree(['merged/f2.txt']) |
| 961 | + to_be_merged_tree.add(['f2.txt'], ['f2.txt-id']) |
| 962 | + ghost_key = ('ghost-rev-id',) |
| 963 | + to_be_merged_tree.set_parent_ids([r3_key[0], ghost_key[0]]) |
| 964 | + to_merge_key = ('to-merge-rev-id',) |
| 965 | + to_be_merged_tree.commit('new-to-be-merged', rev_id=to_merge_key[0]) |
| 966 | + stacked_tree.merge_from_branch(to_be_merged_tree.branch) |
| 967 | + merged_key = ('merged-rev-id',) |
| 968 | + stacked_tree.commit('merge', rev_id=merged_key[0]) |
| 969 | + # vs test_merge_commit, the fetch for 'merge_from_branch' should |
| 970 | + # already have handled that 'ghost-rev-id' is a ghost, and commit |
| 971 | + # should not try to fill it in at this point. |
| 972 | + stacked_only_repo = self.get_only_repo(stacked_tree) |
| 973 | + all_keys = [self.r1_key, self.r2_key, r3_key, to_merge_key, merged_key, |
| 974 | + ghost_key] |
| 975 | + self.assertPresent([to_merge_key, merged_key], |
| 976 | + stacked_only_repo.revisions, all_keys) |
| 977 | + self.assertPresent([self.r2_key, r3_key, to_merge_key, merged_key], |
| 978 | + stacked_only_repo.inventories, all_keys) |
| 979 | + |
| 980 | + |
| 981 | +class TestCommitStackedFailsAppropriately(TestCaseWithStackedTarget): |
| 982 | + |
| 983 | + def test_stacked_commit_fails_on_old_formats(self): |
| 984 | + base_tree, stacked_tree = self.make_stacked_target() |
| 985 | + format = stacked_tree.branch.repository._format |
| 986 | + if format.supports_chks: |
| 987 | + stacked_tree.commit('should succeed') |
| 988 | + else: |
| 989 | + self.assertRaises(errors.BzrError, |
| 990 | + stacked_tree.commit, 'unsupported format') |
| 991 | |
| 992 | === modified file 'bzrlib/tests/per_transport.py' |
| 993 | --- bzrlib/tests/per_transport.py 2010-12-16 11:31:14 +0000 |
| 994 | +++ bzrlib/tests/per_transport.py 2011-01-12 16:51:15 +0000 |
| 995 | @@ -1,4 +1,4 @@ |
| 996 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 997 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 998 | # |
| 999 | # This program is free software; you can redistribute it and/or modify |
| 1000 | # it under the terms of the GNU General Public License as published by |
| 1001 | |
| 1002 | === modified file 'bzrlib/tests/per_uifactory/__init__.py' |
| 1003 | --- bzrlib/tests/per_uifactory/__init__.py 2010-12-16 11:31:14 +0000 |
| 1004 | +++ bzrlib/tests/per_uifactory/__init__.py 2011-01-12 16:51:15 +0000 |
| 1005 | @@ -1,4 +1,4 @@ |
| 1006 | -# Copyright (C) 2009, 2010 Canonical Ltd |
| 1007 | +# Copyright (C) 2009, 2010, 2011 Canonical Ltd |
| 1008 | # |
| 1009 | # This program is free software; you can redistribute it and/or modify |
| 1010 | # it under the terms of the GNU General Public License as published by |
| 1011 | |
| 1012 | === modified file 'bzrlib/tests/per_workingtree/test_add_reference.py' |
| 1013 | --- bzrlib/tests/per_workingtree/test_add_reference.py 2011-01-11 21:27:02 +0000 |
| 1014 | +++ bzrlib/tests/per_workingtree/test_add_reference.py 2011-01-12 16:51:15 +0000 |
| 1015 | @@ -1,4 +1,4 @@ |
| 1016 | -# Copyright (C) 2006, 2007 Canonical Ltd |
| 1017 | +# Copyright (C) 2006-2009, 2011 Canonical Ltd |
| 1018 | # |
| 1019 | # This program is free software; you can redistribute it and/or modify |
| 1020 | # it under the terms of the GNU General Public License as published by |
| 1021 | |
| 1022 | === modified file 'bzrlib/tests/per_workingtree/test_workingtree.py' |
| 1023 | --- bzrlib/tests/per_workingtree/test_workingtree.py 2011-01-11 21:27:02 +0000 |
| 1024 | +++ bzrlib/tests/per_workingtree/test_workingtree.py 2011-01-12 16:51:15 +0000 |
| 1025 | @@ -1,4 +1,4 @@ |
| 1026 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 1027 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 1028 | # Authors: Robert Collins <robert.collins@canonical.com> |
| 1029 | # and others |
| 1030 | # |
| 1031 | |
| 1032 | === modified file 'bzrlib/tests/script.py' |
| 1033 | --- bzrlib/tests/script.py 2010-12-24 22:40:27 +0000 |
| 1034 | +++ bzrlib/tests/script.py 2011-01-12 16:51:15 +0000 |
| 1035 | @@ -1,4 +1,4 @@ |
| 1036 | -# Copyright (C) 2009, 2010 Canonical Ltd |
| 1037 | +# Copyright (C) 2009, 2010, 2011 Canonical Ltd |
| 1038 | # |
| 1039 | # This program is free software; you can redistribute it and/or modify |
| 1040 | # it under the terms of the GNU General Public License as published by |
| 1041 | |
| 1042 | === modified file 'bzrlib/tests/stub_sftp.py' |
| 1043 | --- bzrlib/tests/stub_sftp.py 2010-12-24 22:40:27 +0000 |
| 1044 | +++ bzrlib/tests/stub_sftp.py 2011-01-12 16:51:15 +0000 |
| 1045 | @@ -1,4 +1,4 @@ |
| 1046 | -# Copyright (C) 2005, 2006, 2008, 2009, 2010 Robey Pointer <robey@lag.net>, Canonical Ltd |
| 1047 | +# Copyright (C) 2005, 2006, 2008-2011 Robey Pointer <robey@lag.net>, Canonical Ltd |
| 1048 | # |
| 1049 | # This program is free software; you can redistribute it and/or modify |
| 1050 | # it under the terms of the GNU General Public License as published by |
| 1051 | |
| 1052 | === modified file 'bzrlib/tests/test__annotator.py' |
| 1053 | --- bzrlib/tests/test__annotator.py 2010-12-24 22:40:27 +0000 |
| 1054 | +++ bzrlib/tests/test__annotator.py 2011-01-12 16:51:15 +0000 |
| 1055 | @@ -1,4 +1,4 @@ |
| 1056 | -# Copyright (C) 2009, 2010 Canonical Ltd |
| 1057 | +# Copyright (C) 2009, 2010, 2011 Canonical Ltd |
| 1058 | # |
| 1059 | # This program is free software; you can redistribute it and/or modify |
| 1060 | # it under the terms of the GNU General Public License as published by |
| 1061 | |
| 1062 | === modified file 'bzrlib/tests/test__chk_map.py' |
| 1063 | --- bzrlib/tests/test__chk_map.py 2010-12-24 22:40:27 +0000 |
| 1064 | +++ bzrlib/tests/test__chk_map.py 2011-01-12 16:51:15 +0000 |
| 1065 | @@ -1,4 +1,4 @@ |
| 1066 | -# Copyright (C) 2009, 2010 Canonical Ltd |
| 1067 | +# Copyright (C) 2009, 2010, 2011 Canonical Ltd |
| 1068 | # |
| 1069 | # This program is free software; you can redistribute it and/or modify |
| 1070 | # it under the terms of the GNU General Public License as published by |
| 1071 | |
| 1072 | === modified file 'bzrlib/tests/test__dirstate_helpers.py' |
| 1073 | --- bzrlib/tests/test__dirstate_helpers.py 2010-12-09 04:26:53 +0000 |
| 1074 | +++ bzrlib/tests/test__dirstate_helpers.py 2011-01-12 16:51:15 +0000 |
| 1075 | @@ -1,4 +1,4 @@ |
| 1076 | -# Copyright (C) 2007-2010 Canonical Ltd |
| 1077 | +# Copyright (C) 2007-2011 Canonical Ltd |
| 1078 | # |
| 1079 | # This program is free software; you can redistribute it and/or modify |
| 1080 | # it under the terms of the GNU General Public License as published by |
| 1081 | |
| 1082 | === modified file 'bzrlib/tests/test__groupcompress.py' |
| 1083 | --- bzrlib/tests/test__groupcompress.py 2010-12-24 22:40:27 +0000 |
| 1084 | +++ bzrlib/tests/test__groupcompress.py 2011-01-12 16:51:15 +0000 |
| 1085 | @@ -1,4 +1,4 @@ |
| 1086 | -# Copyright (C) 2008, 2009, 2010 Canonical Ltd |
| 1087 | +# Copyright (C) 2008-2011 Canonical Ltd |
| 1088 | # |
| 1089 | # This program is free software; you can redistribute it and/or modify |
| 1090 | # it under the terms of the GNU General Public License as published by |
| 1091 | |
| 1092 | === modified file 'bzrlib/tests/test__known_graph.py' |
| 1093 | --- bzrlib/tests/test__known_graph.py 2010-12-24 22:40:27 +0000 |
| 1094 | +++ bzrlib/tests/test__known_graph.py 2011-01-12 16:51:15 +0000 |
| 1095 | @@ -1,4 +1,4 @@ |
| 1096 | -# Copyright (C) 2009, 2010 Canonical Ltd |
| 1097 | +# Copyright (C) 2009, 2010, 2011 Canonical Ltd |
| 1098 | # |
| 1099 | # This program is free software; you can redistribute it and/or modify |
| 1100 | # it under the terms of the GNU General Public License as published by |
| 1101 | |
| 1102 | === modified file 'bzrlib/tests/test__simple_set.py' |
| 1103 | --- bzrlib/tests/test__simple_set.py 2010-12-24 22:40:27 +0000 |
| 1104 | +++ bzrlib/tests/test__simple_set.py 2011-01-12 16:51:15 +0000 |
| 1105 | @@ -1,4 +1,4 @@ |
| 1106 | -# Copyright (C) 2009, 2010 Canonical Ltd |
| 1107 | +# Copyright (C) 2009, 2010, 2011 Canonical Ltd |
| 1108 | # |
| 1109 | # This program is free software; you can redistribute it and/or modify |
| 1110 | # it under the terms of the GNU General Public License as published by |
| 1111 | |
| 1112 | === modified file 'bzrlib/tests/test__static_tuple.py' |
| 1113 | --- bzrlib/tests/test__static_tuple.py 2010-12-24 22:40:27 +0000 |
| 1114 | +++ bzrlib/tests/test__static_tuple.py 2011-01-12 16:51:15 +0000 |
| 1115 | @@ -1,4 +1,4 @@ |
| 1116 | -# Copyright (C) 2009, 2010 Canonical Ltd |
| 1117 | +# Copyright (C) 2009, 2010, 2011 Canonical Ltd |
| 1118 | # |
| 1119 | # This program is free software; you can redistribute it and/or modify |
| 1120 | # it under the terms of the GNU General Public License as published by |
| 1121 | |
| 1122 | === modified file 'bzrlib/tests/test_ancestry.py' |
| 1123 | --- bzrlib/tests/test_ancestry.py 2010-12-24 22:40:27 +0000 |
| 1124 | +++ bzrlib/tests/test_ancestry.py 2011-01-12 16:51:15 +0000 |
| 1125 | @@ -1,4 +1,4 @@ |
| 1126 | -# Copyright (C) 2005, 2007 Canonical Ltd |
| 1127 | +# Copyright (C) 2005-2009, 2011 Canonical Ltd |
| 1128 | # |
| 1129 | # This program is free software; you can redistribute it and/or modify |
| 1130 | # it under the terms of the GNU General Public License as published by |
| 1131 | |
| 1132 | === modified file 'bzrlib/tests/test_annotate.py' |
| 1133 | --- bzrlib/tests/test_annotate.py 2010-12-24 22:40:27 +0000 |
| 1134 | +++ bzrlib/tests/test_annotate.py 2011-01-12 16:51:15 +0000 |
| 1135 | @@ -1,4 +1,4 @@ |
| 1136 | -# Copyright (C) 2006 Canonical Ltd |
| 1137 | +# Copyright (C) 2006-2009, 2011 Canonical Ltd |
| 1138 | # |
| 1139 | # This program is free software; you can redistribute it and/or modify |
| 1140 | # it under the terms of the GNU General Public License as published by |
| 1141 | |
| 1142 | === modified file 'bzrlib/tests/test_bad_files.py' |
| 1143 | --- bzrlib/tests/test_bad_files.py 2010-12-24 22:40:27 +0000 |
| 1144 | +++ bzrlib/tests/test_bad_files.py 2011-01-12 16:51:15 +0000 |
| 1145 | @@ -1,4 +1,4 @@ |
| 1146 | -# Copyright (C) 2005, 2007 Canonical Ltd |
| 1147 | +# Copyright (C) 2005, 2006, 2007, 2009, 2011 Canonical Ltd |
| 1148 | # |
| 1149 | # This program is free software; you can redistribute it and/or modify |
| 1150 | # it under the terms of the GNU General Public License as published by |
| 1151 | |
| 1152 | === modified file 'bzrlib/tests/test_bisect_multi.py' |
| 1153 | --- bzrlib/tests/test_bisect_multi.py 2010-12-24 22:40:27 +0000 |
| 1154 | +++ bzrlib/tests/test_bisect_multi.py 2011-01-12 16:51:15 +0000 |
| 1155 | @@ -1,4 +1,4 @@ |
| 1156 | -# Copyright (C) 2007 Canonical Ltd |
| 1157 | +# Copyright (C) 2007, 2009, 2011 Canonical Ltd |
| 1158 | # |
| 1159 | # This program is free software; you can redistribute it and/or modify |
| 1160 | # it under the terms of the GNU General Public License as published by |
| 1161 | |
| 1162 | === modified file 'bzrlib/tests/test_branch.py' |
| 1163 | --- bzrlib/tests/test_branch.py 2010-12-14 23:14:44 +0000 |
| 1164 | +++ bzrlib/tests/test_branch.py 2011-01-12 16:51:15 +0000 |
| 1165 | @@ -1,4 +1,4 @@ |
| 1166 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 1167 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 1168 | # |
| 1169 | # This program is free software; you can redistribute it and/or modify |
| 1170 | # it under the terms of the GNU General Public License as published by |
| 1171 | |
| 1172 | === modified file 'bzrlib/tests/test_branchbuilder.py' |
| 1173 | --- bzrlib/tests/test_branchbuilder.py 2010-12-24 22:40:27 +0000 |
| 1174 | +++ bzrlib/tests/test_branchbuilder.py 2011-01-12 16:51:15 +0000 |
| 1175 | @@ -1,4 +1,4 @@ |
| 1176 | -# Copyright (C) 2007, 2009 Canonical Ltd |
| 1177 | +# Copyright (C) 2007-2011 Canonical Ltd |
| 1178 | # |
| 1179 | # This program is free software; you can redistribute it and/or modify |
| 1180 | # it under the terms of the GNU General Public License as published by |
| 1181 | |
| 1182 | === modified file 'bzrlib/tests/test_btree_index.py' |
| 1183 | --- bzrlib/tests/test_btree_index.py 2010-12-09 04:26:53 +0000 |
| 1184 | +++ bzrlib/tests/test_btree_index.py 2011-01-12 16:51:15 +0000 |
| 1185 | @@ -1,4 +1,4 @@ |
| 1186 | -# Copyright (C) 2008, 2009, 2010 Canonical Ltd |
| 1187 | +# Copyright (C) 2008-2011 Canonical Ltd |
| 1188 | # |
| 1189 | # This program is free software; you can redistribute it and/or modify |
| 1190 | # it under the terms of the GNU General Public License as published by |
| 1191 | |
| 1192 | === modified file 'bzrlib/tests/test_bundle.py' |
| 1193 | --- bzrlib/tests/test_bundle.py 2010-12-24 22:40:27 +0000 |
| 1194 | +++ bzrlib/tests/test_bundle.py 2011-01-12 16:51:15 +0000 |
| 1195 | @@ -1,4 +1,4 @@ |
| 1196 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 1197 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 1198 | # |
| 1199 | # This program is free software; you can redistribute it and/or modify |
| 1200 | # it under the terms of the GNU General Public License as published by |
| 1201 | |
| 1202 | === modified file 'bzrlib/tests/test_bzrdir.py' |
| 1203 | --- bzrlib/tests/test_bzrdir.py 2010-12-15 00:38:15 +0000 |
| 1204 | +++ bzrlib/tests/test_bzrdir.py 2011-01-12 16:51:15 +0000 |
| 1205 | @@ -1,4 +1,4 @@ |
| 1206 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 1207 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 1208 | # |
| 1209 | # This program is free software; you can redistribute it and/or modify |
| 1210 | # it under the terms of the GNU General Public License as published by |
| 1211 | |
| 1212 | === modified file 'bzrlib/tests/test_chk_serializer.py' |
| 1213 | --- bzrlib/tests/test_chk_serializer.py 2010-12-24 22:40:27 +0000 |
| 1214 | +++ bzrlib/tests/test_chk_serializer.py 2011-01-12 16:51:15 +0000 |
| 1215 | @@ -1,4 +1,4 @@ |
| 1216 | -# Copyright (C) 2009 Canonical Ltd |
| 1217 | +# Copyright (C) 2009, 2011 Canonical Ltd |
| 1218 | # |
| 1219 | # This program is free software; you can redistribute it and/or modify |
| 1220 | # it under the terms of the GNU General Public License as published by |
| 1221 | |
| 1222 | === modified file 'bzrlib/tests/test_clean_tree.py' |
| 1223 | --- bzrlib/tests/test_clean_tree.py 2010-12-24 22:40:27 +0000 |
| 1224 | +++ bzrlib/tests/test_clean_tree.py 2011-01-12 16:51:15 +0000 |
| 1225 | @@ -1,4 +1,4 @@ |
| 1226 | -# Copyright (C) 2009, 2010 Canonical Ltd |
| 1227 | +# Copyright (C) 2009, 2010, 2011 Canonical Ltd |
| 1228 | # |
| 1229 | # This program is free software; you can redistribute it and/or modify |
| 1230 | # it under the terms of the GNU General Public License as published by |
| 1231 | |
| 1232 | === modified file 'bzrlib/tests/test_commands.py' |
| 1233 | --- bzrlib/tests/test_commands.py 2010-12-24 22:40:27 +0000 |
| 1234 | +++ bzrlib/tests/test_commands.py 2011-01-12 16:51:15 +0000 |
| 1235 | @@ -1,4 +1,4 @@ |
| 1236 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 1237 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 1238 | # |
| 1239 | # This program is free software; you can redistribute it and/or modify |
| 1240 | # it under the terms of the GNU General Public License as published by |
| 1241 | |
| 1242 | === modified file 'bzrlib/tests/test_commit.py' |
| 1243 | --- bzrlib/tests/test_commit.py 2010-12-24 22:40:27 +0000 |
| 1244 | +++ bzrlib/tests/test_commit.py 2011-01-12 16:51:15 +0000 |
| 1245 | @@ -1,4 +1,4 @@ |
| 1246 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 1247 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 1248 | # |
| 1249 | # This program is free software; you can redistribute it and/or modify |
| 1250 | # it under the terms of the GNU General Public License as published by |
| 1251 | |
| 1252 | === modified file 'bzrlib/tests/test_commit_merge.py' |
| 1253 | --- bzrlib/tests/test_commit_merge.py 2010-12-24 22:40:27 +0000 |
| 1254 | +++ bzrlib/tests/test_commit_merge.py 2011-01-12 16:51:15 +0000 |
| 1255 | @@ -1,4 +1,4 @@ |
| 1256 | -# Copyright (C) 2005, 2006 Canonical Ltd |
| 1257 | +# Copyright (C) 2005, 2006, 2007, 2009, 2011 Canonical Ltd |
| 1258 | # |
| 1259 | # This program is free software; you can redistribute it and/or modify |
| 1260 | # it under the terms of the GNU General Public License as published by |
| 1261 | |
| 1262 | === modified file 'bzrlib/tests/test_config.py' |
| 1263 | --- bzrlib/tests/test_config.py 2010-12-16 13:15:42 +0000 |
| 1264 | +++ bzrlib/tests/test_config.py 2011-01-12 16:51:15 +0000 |
| 1265 | @@ -1,4 +1,4 @@ |
| 1266 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 1267 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 1268 | # |
| 1269 | # This program is free software; you can redistribute it and/or modify |
| 1270 | # it under the terms of the GNU General Public License as published by |
| 1271 | |
| 1272 | === modified file 'bzrlib/tests/test_conflicts.py' |
| 1273 | --- bzrlib/tests/test_conflicts.py 2010-12-24 22:40:27 +0000 |
| 1274 | +++ bzrlib/tests/test_conflicts.py 2011-01-12 16:51:15 +0000 |
| 1275 | @@ -1,4 +1,4 @@ |
| 1276 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 1277 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 1278 | # |
| 1279 | # This program is free software; you can redistribute it and/or modify |
| 1280 | # it under the terms of the GNU General Public License as published by |
| 1281 | |
| 1282 | === modified file 'bzrlib/tests/test_crash.py' |
| 1283 | --- bzrlib/tests/test_crash.py 2010-12-24 22:40:27 +0000 |
| 1284 | +++ bzrlib/tests/test_crash.py 2011-01-12 16:51:15 +0000 |
| 1285 | @@ -1,4 +1,4 @@ |
| 1286 | -# Copyright (C) 2009, 2010 Canonical Ltd |
| 1287 | +# Copyright (C) 2009, 2010, 2011 Canonical Ltd |
| 1288 | # |
| 1289 | # This program is free software; you can redistribute it and/or modify |
| 1290 | # it under the terms of the GNU General Public License as published by |
| 1291 | |
| 1292 | === modified file 'bzrlib/tests/test_diff.py' |
| 1293 | --- bzrlib/tests/test_diff.py 2010-12-16 13:15:42 +0000 |
| 1294 | +++ bzrlib/tests/test_diff.py 2011-01-12 16:51:15 +0000 |
| 1295 | @@ -1,4 +1,4 @@ |
| 1296 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 1297 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 1298 | # |
| 1299 | # This program is free software; you can redistribute it and/or modify |
| 1300 | # it under the terms of the GNU General Public License as published by |
| 1301 | |
| 1302 | === modified file 'bzrlib/tests/test_dirstate.py' |
| 1303 | --- bzrlib/tests/test_dirstate.py 2010-12-24 22:40:27 +0000 |
| 1304 | +++ bzrlib/tests/test_dirstate.py 2011-01-12 16:51:15 +0000 |
| 1305 | @@ -1,4 +1,4 @@ |
| 1306 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 1307 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 1308 | # |
| 1309 | # This program is free software; you can redistribute it and/or modify |
| 1310 | # it under the terms of the GNU General Public License as published by |
| 1311 | |
| 1312 | === modified file 'bzrlib/tests/test_eol_filters.py' |
| 1313 | --- bzrlib/tests/test_eol_filters.py 2010-12-24 22:40:27 +0000 |
| 1314 | +++ bzrlib/tests/test_eol_filters.py 2011-01-12 16:51:15 +0000 |
| 1315 | @@ -1,4 +1,4 @@ |
| 1316 | -# Copyright (C) 2009 Canonical Ltd |
| 1317 | +# Copyright (C) 2009, 2011 Canonical Ltd |
| 1318 | # |
| 1319 | # This program is free software; you can redistribute it and/or modify |
| 1320 | # it under the terms of the GNU General Public License as published by |
| 1321 | |
| 1322 | === modified file 'bzrlib/tests/test_errors.py' |
| 1323 | --- bzrlib/tests/test_errors.py 2010-12-24 22:40:27 +0000 |
| 1324 | +++ bzrlib/tests/test_errors.py 2011-01-12 16:51:15 +0000 |
| 1325 | @@ -1,4 +1,4 @@ |
| 1326 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 1327 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 1328 | # |
| 1329 | # This program is free software; you can redistribute it and/or modify |
| 1330 | # it under the terms of the GNU General Public License as published by |
| 1331 | |
| 1332 | === modified file 'bzrlib/tests/test_extract.py' |
| 1333 | --- bzrlib/tests/test_extract.py 2010-12-24 22:40:27 +0000 |
| 1334 | +++ bzrlib/tests/test_extract.py 2011-01-12 16:51:15 +0000 |
| 1335 | @@ -1,4 +1,4 @@ |
| 1336 | -# Copyright (C) 2006 Canonical Ltd |
| 1337 | +# Copyright (C) 2006, 2007, 2009, 2011 Canonical Ltd |
| 1338 | # |
| 1339 | # This program is free software; you can redistribute it and/or modify |
| 1340 | # it under the terms of the GNU General Public License as published by |
| 1341 | |
| 1342 | === modified file 'bzrlib/tests/test_fetch.py' |
| 1343 | --- bzrlib/tests/test_fetch.py 2010-12-24 22:40:27 +0000 |
| 1344 | +++ bzrlib/tests/test_fetch.py 2011-01-12 16:51:15 +0000 |
| 1345 | @@ -1,4 +1,4 @@ |
| 1346 | -# Copyright (C) 2005, 2007, 2010 Canonical Ltd |
| 1347 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 1348 | # |
| 1349 | # This program is free software; you can redistribute it and/or modify |
| 1350 | # it under the terms of the GNU General Public License as published by |
| 1351 | |
| 1352 | === modified file 'bzrlib/tests/test_foreign.py' |
| 1353 | --- bzrlib/tests/test_foreign.py 2010-12-20 12:01:56 +0000 |
| 1354 | +++ bzrlib/tests/test_foreign.py 2011-01-12 16:51:15 +0000 |
| 1355 | @@ -1,4 +1,4 @@ |
| 1356 | -# Copyright (C) 2008, 2009, 2010 Canonical Ltd |
| 1357 | +# Copyright (C) 2008-2011 Canonical Ltd |
| 1358 | # |
| 1359 | # This program is free software; you can redistribute it and/or modify |
| 1360 | # it under the terms of the GNU General Public License as published by |
| 1361 | |
| 1362 | === modified file 'bzrlib/tests/test_ftp_transport.py' |
| 1363 | --- bzrlib/tests/test_ftp_transport.py 2010-12-24 22:40:27 +0000 |
| 1364 | +++ bzrlib/tests/test_ftp_transport.py 2011-01-12 16:51:15 +0000 |
| 1365 | @@ -1,4 +1,4 @@ |
| 1366 | -# Copyright (C) 2006, 2010 Canonical Ltd |
| 1367 | +# Copyright (C) 2006, 2007, 2009, 2010, 2011 Canonical Ltd |
| 1368 | # |
| 1369 | # This program is free software; you can redistribute it and/or modify |
| 1370 | # it under the terms of the GNU General Public License as published by |
| 1371 | |
| 1372 | === modified file 'bzrlib/tests/test_generate_docs.py' |
| 1373 | --- bzrlib/tests/test_generate_docs.py 2010-12-24 22:40:27 +0000 |
| 1374 | +++ bzrlib/tests/test_generate_docs.py 2011-01-12 16:51:15 +0000 |
| 1375 | @@ -1,4 +1,4 @@ |
| 1376 | -# Copyright (C) 2007 Canonical Ltd |
| 1377 | +# Copyright (C) 2007, 2009, 2011 Canonical Ltd |
| 1378 | # |
| 1379 | # This program is free software; you can redistribute it and/or modify |
| 1380 | # it under the terms of the GNU General Public License as published by |
| 1381 | |
| 1382 | === modified file 'bzrlib/tests/test_generate_ids.py' |
| 1383 | --- bzrlib/tests/test_generate_ids.py 2010-12-24 22:40:27 +0000 |
| 1384 | +++ bzrlib/tests/test_generate_ids.py 2011-01-12 16:51:15 +0000 |
| 1385 | @@ -1,4 +1,4 @@ |
| 1386 | -# Copyright (C) 2006 Canonical Ltd |
| 1387 | +# Copyright (C) 2006, 2007, 2009, 2011 Canonical Ltd |
| 1388 | # |
| 1389 | # This program is free software; you can redistribute it and/or modify |
| 1390 | # it under the terms of the GNU General Public License as published by |
| 1391 | |
| 1392 | === modified file 'bzrlib/tests/test_globbing.py' |
| 1393 | --- bzrlib/tests/test_globbing.py 2010-12-24 22:40:27 +0000 |
| 1394 | +++ bzrlib/tests/test_globbing.py 2011-01-12 16:51:15 +0000 |
| 1395 | @@ -1,4 +1,4 @@ |
| 1396 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 1397 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 1398 | # -*- coding: utf-8 -*- |
| 1399 | # |
| 1400 | # This program is free software; you can redistribute it and/or modify |
| 1401 | |
| 1402 | === modified file 'bzrlib/tests/test_gpg.py' |
| 1403 | --- bzrlib/tests/test_gpg.py 2010-12-24 22:40:27 +0000 |
| 1404 | +++ bzrlib/tests/test_gpg.py 2011-01-12 16:51:15 +0000 |
| 1405 | @@ -1,4 +1,4 @@ |
| 1406 | -# Copyright (C) 2005 Canonical Ltd |
| 1407 | +# Copyright (C) 2005, 2006, 2007, 2009, 2011 Canonical Ltd |
| 1408 | # Authors: Robert Collins <robert.collins@canonical.com> |
| 1409 | # |
| 1410 | # This program is free software; you can redistribute it and/or modify |
| 1411 | |
| 1412 | === modified file 'bzrlib/tests/test_graph.py' |
| 1413 | --- bzrlib/tests/test_graph.py 2010-12-24 22:40:27 +0000 |
| 1414 | +++ bzrlib/tests/test_graph.py 2011-01-12 16:51:15 +0000 |
| 1415 | @@ -1,4 +1,4 @@ |
| 1416 | -# Copyright (C) 2007-2010 Canonical Ltd |
| 1417 | +# Copyright (C) 2007-2011 Canonical Ltd |
| 1418 | # |
| 1419 | # This program is free software; you can redistribute it and/or modify |
| 1420 | # it under the terms of the GNU General Public License as published by |
| 1421 | |
| 1422 | === modified file 'bzrlib/tests/test_groupcompress.py' |
| 1423 | --- bzrlib/tests/test_groupcompress.py 2010-12-09 04:26:53 +0000 |
| 1424 | +++ bzrlib/tests/test_groupcompress.py 2011-01-12 16:51:15 +0000 |
| 1425 | @@ -1,4 +1,4 @@ |
| 1426 | -# Copyright (C) 2008, 2009, 2010 Canonical Ltd |
| 1427 | +# Copyright (C) 2008-2011 Canonical Ltd |
| 1428 | # |
| 1429 | # This program is free software; you can redistribute it and/or modify |
| 1430 | # it under the terms of the GNU General Public License as published by |
| 1431 | |
| 1432 | === modified file 'bzrlib/tests/test_hashcache.py' |
| 1433 | --- bzrlib/tests/test_hashcache.py 2010-12-24 22:40:27 +0000 |
| 1434 | +++ bzrlib/tests/test_hashcache.py 2011-01-12 16:51:15 +0000 |
| 1435 | @@ -1,4 +1,4 @@ |
| 1436 | -# Copyright (C) 2005, 2006 Canonical Ltd |
| 1437 | +# Copyright (C) 2005-2009, 2011 Canonical Ltd |
| 1438 | # |
| 1439 | # This program is free software; you can redistribute it and/or modify |
| 1440 | # it under the terms of the GNU General Public License as published by |
| 1441 | |
| 1442 | === modified file 'bzrlib/tests/test_help.py' |
| 1443 | --- bzrlib/tests/test_help.py 2010-12-24 22:40:27 +0000 |
| 1444 | +++ bzrlib/tests/test_help.py 2011-01-12 16:51:15 +0000 |
| 1445 | @@ -1,4 +1,4 @@ |
| 1446 | -# Copyright (C) 2007-2010 Canonical Ltd |
| 1447 | +# Copyright (C) 2007-2011 Canonical Ltd |
| 1448 | # |
| 1449 | # This program is free software; you can redistribute it and/or modify |
| 1450 | # it under the terms of the GNU General Public License as published by |
| 1451 | |
| 1452 | === modified file 'bzrlib/tests/test_http.py' |
| 1453 | --- bzrlib/tests/test_http.py 2010-12-16 17:17:39 +0000 |
| 1454 | +++ bzrlib/tests/test_http.py 2011-01-12 16:51:15 +0000 |
| 1455 | @@ -1,4 +1,4 @@ |
| 1456 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 1457 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 1458 | # |
| 1459 | # This program is free software; you can redistribute it and/or modify |
| 1460 | # it under the terms of the GNU General Public License as published by |
| 1461 | |
| 1462 | === modified file 'bzrlib/tests/test_https_ca_bundle.py' |
| 1463 | --- bzrlib/tests/test_https_ca_bundle.py 2010-12-24 22:40:27 +0000 |
| 1464 | +++ bzrlib/tests/test_https_ca_bundle.py 2011-01-12 16:51:15 +0000 |
| 1465 | @@ -1,4 +1,4 @@ |
| 1466 | -# Copyright (C) 2007 Canonical Ltd |
| 1467 | +# Copyright (C) 2007, 2009, 2010, 2011 Canonical Ltd |
| 1468 | # |
| 1469 | # This program is free software; you can redistribute it and/or modify |
| 1470 | # it under the terms of the GNU General Public License as published by |
| 1471 | |
| 1472 | === modified file 'bzrlib/tests/test_ignores.py' |
| 1473 | --- bzrlib/tests/test_ignores.py 2010-12-24 22:40:27 +0000 |
| 1474 | +++ bzrlib/tests/test_ignores.py 2011-01-12 16:51:15 +0000 |
| 1475 | @@ -1,4 +1,4 @@ |
| 1476 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 1477 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 1478 | # |
| 1479 | # This program is free software; you can redistribute it and/or modify |
| 1480 | # it under the terms of the GNU General Public License as published by |
| 1481 | |
| 1482 | === modified file 'bzrlib/tests/test_import_tariff.py' |
| 1483 | --- bzrlib/tests/test_import_tariff.py 2010-12-16 12:12:16 +0000 |
| 1484 | +++ bzrlib/tests/test_import_tariff.py 2011-01-12 16:51:15 +0000 |
| 1485 | @@ -1,4 +1,4 @@ |
| 1486 | -# Copyright (C) 2010 Canonical Ltd |
| 1487 | +# Copyright (C) 2010, 2011 Canonical Ltd |
| 1488 | # |
| 1489 | # This program is free software; you can redistribute it and/or modify |
| 1490 | # it under the terms of the GNU General Public License as published by |
| 1491 | |
| 1492 | === modified file 'bzrlib/tests/test_info.py' |
| 1493 | --- bzrlib/tests/test_info.py 2010-12-24 22:40:27 +0000 |
| 1494 | +++ bzrlib/tests/test_info.py 2011-01-12 16:51:15 +0000 |
| 1495 | @@ -1,4 +1,4 @@ |
| 1496 | -# Copyright (C) 2007-2010 Canonical Ltd |
| 1497 | +# Copyright (C) 2007-2011 Canonical Ltd |
| 1498 | # |
| 1499 | # This program is free software; you can redistribute it and/or modify |
| 1500 | # it under the terms of the GNU General Public License as published by |
| 1501 | |
| 1502 | === modified file 'bzrlib/tests/test_inv.py' |
| 1503 | --- bzrlib/tests/test_inv.py 2010-12-24 22:40:27 +0000 |
| 1504 | +++ bzrlib/tests/test_inv.py 2011-01-12 16:51:15 +0000 |
| 1505 | @@ -1,4 +1,4 @@ |
| 1506 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 1507 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 1508 | # |
| 1509 | # This program is free software; you can redistribute it and/or modify |
| 1510 | # it under the terms of the GNU General Public License as published by |
| 1511 | |
| 1512 | === modified file 'bzrlib/tests/test_inventory_delta.py' |
| 1513 | --- bzrlib/tests/test_inventory_delta.py 2010-12-24 22:40:27 +0000 |
| 1514 | +++ bzrlib/tests/test_inventory_delta.py 2011-01-12 16:51:15 +0000 |
| 1515 | @@ -1,4 +1,4 @@ |
| 1516 | -# Copyright (C) 2009, 2010 Canonical Ltd |
| 1517 | +# Copyright (C) 2009, 2010, 2011 Canonical Ltd |
| 1518 | # |
| 1519 | # This program is free software; you can redistribute it and/or modify |
| 1520 | # it under the terms of the GNU General Public License as published by |
| 1521 | |
| 1522 | === modified file 'bzrlib/tests/test_lazy_import.py' |
| 1523 | --- bzrlib/tests/test_lazy_import.py 2010-12-24 22:40:27 +0000 |
| 1524 | +++ bzrlib/tests/test_lazy_import.py 2011-01-12 16:51:15 +0000 |
| 1525 | @@ -1,4 +1,4 @@ |
| 1526 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 1527 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 1528 | # |
| 1529 | # This program is free software; you can redistribute it and/or modify |
| 1530 | # it under the terms of the GNU General Public License as published by |
| 1531 | |
| 1532 | === modified file 'bzrlib/tests/test_library_state.py' |
| 1533 | --- bzrlib/tests/test_library_state.py 2010-12-24 22:40:27 +0000 |
| 1534 | +++ bzrlib/tests/test_library_state.py 2011-01-12 16:51:15 +0000 |
| 1535 | @@ -1,4 +1,4 @@ |
| 1536 | -# Copyright (C) 2010 Canonical Ltd |
| 1537 | +# Copyright (C) 2010, 2011 Canonical Ltd |
| 1538 | # |
| 1539 | # This program is free software; you can redistribute it and/or modify |
| 1540 | # it under the terms of the GNU General Public License as published by |
| 1541 | |
| 1542 | === modified file 'bzrlib/tests/test_lock.py' |
| 1543 | --- bzrlib/tests/test_lock.py 2010-12-09 04:26:53 +0000 |
| 1544 | +++ bzrlib/tests/test_lock.py 2011-01-12 16:51:15 +0000 |
| 1545 | @@ -1,4 +1,4 @@ |
| 1546 | -# Copyright (C) 2009, 2010 Canonical Ltd |
| 1547 | +# Copyright (C) 2009, 2011 Canonical Ltd |
| 1548 | # |
| 1549 | # This program is free software; you can redistribute it and/or modify |
| 1550 | # it under the terms of the GNU General Public License as published by |
| 1551 | |
| 1552 | === modified file 'bzrlib/tests/test_lockable_files.py' |
| 1553 | --- bzrlib/tests/test_lockable_files.py 2010-12-24 22:40:27 +0000 |
| 1554 | +++ bzrlib/tests/test_lockable_files.py 2011-01-12 16:51:15 +0000 |
| 1555 | @@ -1,4 +1,4 @@ |
| 1556 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 1557 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 1558 | # |
| 1559 | # This program is free software; you can redistribute it and/or modify |
| 1560 | # it under the terms of the GNU General Public License as published by |
| 1561 | |
| 1562 | === modified file 'bzrlib/tests/test_lockdir.py' |
| 1563 | --- bzrlib/tests/test_lockdir.py 2010-12-24 22:40:27 +0000 |
| 1564 | +++ bzrlib/tests/test_lockdir.py 2011-01-12 16:51:15 +0000 |
| 1565 | @@ -1,4 +1,4 @@ |
| 1566 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 1567 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 1568 | # |
| 1569 | # This program is free software; you can redistribute it and/or modify |
| 1570 | # it under the terms of the GNU General Public License as published by |
| 1571 | |
| 1572 | === modified file 'bzrlib/tests/test_lsprof.py' |
| 1573 | --- bzrlib/tests/test_lsprof.py 2010-12-24 22:40:27 +0000 |
| 1574 | +++ bzrlib/tests/test_lsprof.py 2011-01-12 16:51:15 +0000 |
| 1575 | @@ -1,4 +1,4 @@ |
| 1576 | -# Copyright (C) 2007, 2009, 2010 Canonical Ltd |
| 1577 | +# Copyright (C) 2007, 2009, 2010, 2011 Canonical Ltd |
| 1578 | # |
| 1579 | # This program is free software; you can redistribute it and/or modify |
| 1580 | # it under the terms of the GNU General Public License as published by |
| 1581 | |
| 1582 | === modified file 'bzrlib/tests/test_merge3.py' |
| 1583 | --- bzrlib/tests/test_merge3.py 2010-12-24 22:40:27 +0000 |
| 1584 | +++ bzrlib/tests/test_merge3.py 2011-01-12 16:51:15 +0000 |
| 1585 | @@ -1,4 +1,4 @@ |
| 1586 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 1587 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 1588 | # |
| 1589 | # This program is free software; you can redistribute it and/or modify |
| 1590 | # it under the terms of the GNU General Public License as published by |
| 1591 | |
| 1592 | === modified file 'bzrlib/tests/test_merge_core.py' |
| 1593 | --- bzrlib/tests/test_merge_core.py 2010-12-24 22:40:27 +0000 |
| 1594 | +++ bzrlib/tests/test_merge_core.py 2011-01-12 16:51:15 +0000 |
| 1595 | @@ -1,4 +1,4 @@ |
| 1596 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 1597 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 1598 | # |
| 1599 | # This program is free software; you can redistribute it and/or modify |
| 1600 | # it under the terms of the GNU General Public License as published by |
| 1601 | |
| 1602 | === modified file 'bzrlib/tests/test_missing.py' |
| 1603 | --- bzrlib/tests/test_missing.py 2010-12-24 22:40:27 +0000 |
| 1604 | +++ bzrlib/tests/test_missing.py 2011-01-12 16:51:15 +0000 |
| 1605 | @@ -1,4 +1,4 @@ |
| 1606 | -# Copyright (C) 2005 Canonical Ltd |
| 1607 | +# Copyright (C) 2005-2009, 2011 Canonical Ltd |
| 1608 | # |
| 1609 | # This program is free software; you can redistribute it and/or modify |
| 1610 | # it under the terms of the GNU General Public License as published by |
| 1611 | |
| 1612 | === modified file 'bzrlib/tests/test_msgeditor.py' |
| 1613 | --- bzrlib/tests/test_msgeditor.py 2010-12-24 22:40:27 +0000 |
| 1614 | +++ bzrlib/tests/test_msgeditor.py 2011-01-12 16:51:15 +0000 |
| 1615 | @@ -1,4 +1,4 @@ |
| 1616 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 1617 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 1618 | # |
| 1619 | # This program is free software; you can redistribute it and/or modify |
| 1620 | # it under the terms of the GNU General Public License as published by |
| 1621 | |
| 1622 | === modified file 'bzrlib/tests/test_multiparent.py' |
| 1623 | --- bzrlib/tests/test_multiparent.py 2010-12-24 22:40:27 +0000 |
| 1624 | +++ bzrlib/tests/test_multiparent.py 2011-01-12 16:51:15 +0000 |
| 1625 | @@ -1,4 +1,4 @@ |
| 1626 | -# Copyright (C) 2007 Canonical Ltd |
| 1627 | +# Copyright (C) 2007, 2009, 2011 Canonical Ltd |
| 1628 | # |
| 1629 | # This program is free software; you can redistribute it and/or modify |
| 1630 | # it under the terms of the GNU General Public License as published by |
| 1631 | |
| 1632 | === modified file 'bzrlib/tests/test_nonascii.py' |
| 1633 | --- bzrlib/tests/test_nonascii.py 2010-12-24 22:40:27 +0000 |
| 1634 | +++ bzrlib/tests/test_nonascii.py 2011-01-12 16:51:15 +0000 |
| 1635 | @@ -1,4 +1,4 @@ |
| 1636 | -# Copyright (C) 2005 Canonical Ltd |
| 1637 | +# Copyright (C) 2005, 2006, 2008, 2009, 2011 Canonical Ltd |
| 1638 | # |
| 1639 | # This program is free software; you can redistribute it and/or modify |
| 1640 | # it under the terms of the GNU General Public License as published by |
| 1641 | |
| 1642 | === modified file 'bzrlib/tests/test_options.py' |
| 1643 | --- bzrlib/tests/test_options.py 2010-12-24 22:40:27 +0000 |
| 1644 | +++ bzrlib/tests/test_options.py 2011-01-12 16:51:15 +0000 |
| 1645 | @@ -1,4 +1,4 @@ |
| 1646 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 1647 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 1648 | # |
| 1649 | # This program is free software; you can redistribute it and/or modify |
| 1650 | # it under the terms of the GNU General Public License as published by |
| 1651 | |
| 1652 | === modified file 'bzrlib/tests/test_osutils_encodings.py' |
| 1653 | --- bzrlib/tests/test_osutils_encodings.py 2010-12-24 22:40:27 +0000 |
| 1654 | +++ bzrlib/tests/test_osutils_encodings.py 2011-01-12 16:51:15 +0000 |
| 1655 | @@ -1,4 +1,4 @@ |
| 1656 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 1657 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 1658 | # |
| 1659 | # This program is free software; you can redistribute it and/or modify |
| 1660 | # it under the terms of the GNU General Public License as published by |
| 1661 | |
| 1662 | === modified file 'bzrlib/tests/test_permissions.py' |
| 1663 | --- bzrlib/tests/test_permissions.py 2010-12-24 22:40:27 +0000 |
| 1664 | +++ bzrlib/tests/test_permissions.py 2011-01-12 16:51:15 +0000 |
| 1665 | @@ -1,4 +1,4 @@ |
| 1666 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 1667 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 1668 | # -*- coding: utf-8 -*- |
| 1669 | # |
| 1670 | # This program is free software; you can redistribute it and/or modify |
| 1671 | |
| 1672 | === modified file 'bzrlib/tests/test_plugins.py' |
| 1673 | --- bzrlib/tests/test_plugins.py 2010-12-16 15:29:10 +0000 |
| 1674 | +++ bzrlib/tests/test_plugins.py 2011-01-12 16:51:15 +0000 |
| 1675 | @@ -1,4 +1,4 @@ |
| 1676 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 1677 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 1678 | # |
| 1679 | # This program is free software; you can redistribute it and/or modify |
| 1680 | # it under the terms of the GNU General Public License as published by |
| 1681 | |
| 1682 | === modified file 'bzrlib/tests/test_progress.py' |
| 1683 | --- bzrlib/tests/test_progress.py 2010-12-24 22:40:27 +0000 |
| 1684 | +++ bzrlib/tests/test_progress.py 2011-01-12 16:51:15 +0000 |
| 1685 | @@ -1,4 +1,4 @@ |
| 1686 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 1687 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 1688 | # |
| 1689 | # This program is free software; you can redistribute it and/or modify |
| 1690 | # it under the terms of the GNU General Public License as published by |
| 1691 | |
| 1692 | === modified file 'bzrlib/tests/test_read_bundle.py' |
| 1693 | --- bzrlib/tests/test_read_bundle.py 2010-12-24 22:40:27 +0000 |
| 1694 | +++ bzrlib/tests/test_read_bundle.py 2011-01-12 16:51:15 +0000 |
| 1695 | @@ -1,4 +1,4 @@ |
| 1696 | -# Copyright (C) 2006 Canonical Ltd |
| 1697 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 1698 | # |
| 1699 | # This program is free software; you can redistribute it and/or modify |
| 1700 | # it under the terms of the GNU General Public License as published by |
| 1701 | |
| 1702 | === modified file 'bzrlib/tests/test_reconcile.py' |
| 1703 | --- bzrlib/tests/test_reconcile.py 2010-12-24 22:40:27 +0000 |
| 1704 | +++ bzrlib/tests/test_reconcile.py 2011-01-12 16:51:15 +0000 |
| 1705 | @@ -1,4 +1,4 @@ |
| 1706 | -# Copyright (C) 2006, 2008, 2009, 2010 Canonical Ltd |
| 1707 | +# Copyright (C) 2006, 2008-2011 Canonical Ltd |
| 1708 | # |
| 1709 | # This program is free software; you can redistribute it and/or modify |
| 1710 | # it under the terms of the GNU General Public License as published by |
| 1711 | |
| 1712 | === modified file 'bzrlib/tests/test_registry.py' |
| 1713 | --- bzrlib/tests/test_registry.py 2010-12-24 22:40:27 +0000 |
| 1714 | +++ bzrlib/tests/test_registry.py 2011-01-12 16:51:15 +0000 |
| 1715 | @@ -1,4 +1,4 @@ |
| 1716 | -# Copyright (C) 2006, 2008, 2009, 2010 Canonical Ltd |
| 1717 | +# Copyright (C) 2006, 2008-2011 Canonical Ltd |
| 1718 | # |
| 1719 | # This program is free software; you can redistribute it and/or modify |
| 1720 | # it under the terms of the GNU General Public License as published by |
| 1721 | |
| 1722 | === modified file 'bzrlib/tests/test_remote.py' |
| 1723 | --- bzrlib/tests/test_remote.py 2010-12-24 22:40:27 +0000 |
| 1724 | +++ bzrlib/tests/test_remote.py 2011-01-12 16:51:15 +0000 |
| 1725 | @@ -1,4 +1,4 @@ |
| 1726 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 1727 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 1728 | # |
| 1729 | # This program is free software; you can redistribute it and/or modify |
| 1730 | # it under the terms of the GNU General Public License as published by |
| 1731 | |
| 1732 | === modified file 'bzrlib/tests/test_revision.py' |
| 1733 | --- bzrlib/tests/test_revision.py 2010-12-24 22:40:27 +0000 |
| 1734 | +++ bzrlib/tests/test_revision.py 2011-01-12 16:51:15 +0000 |
| 1735 | @@ -1,4 +1,4 @@ |
| 1736 | -# Copyright (C) 2005 Canonical Ltd |
| 1737 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 1738 | # |
| 1739 | # This program is free software; you can redistribute it and/or modify |
| 1740 | # it under the terms of the GNU General Public License as published by |
| 1741 | |
| 1742 | === modified file 'bzrlib/tests/test_revisionspec.py' |
| 1743 | --- bzrlib/tests/test_revisionspec.py 2010-12-24 22:40:27 +0000 |
| 1744 | +++ bzrlib/tests/test_revisionspec.py 2011-01-12 16:51:15 +0000 |
| 1745 | @@ -1,4 +1,4 @@ |
| 1746 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 1747 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 1748 | # |
| 1749 | # This program is free software; you can redistribute it and/or modify |
| 1750 | # it under the terms of the GNU General Public License as published by |
| 1751 | |
| 1752 | === modified file 'bzrlib/tests/test_revisiontree.py' |
| 1753 | --- bzrlib/tests/test_revisiontree.py 2010-12-24 22:40:27 +0000 |
| 1754 | +++ bzrlib/tests/test_revisiontree.py 2011-01-12 16:51:15 +0000 |
| 1755 | @@ -1,4 +1,4 @@ |
| 1756 | -# Copyright (C) 2006, 2008, 2009, 2010 Canonical Ltd |
| 1757 | +# Copyright (C) 2006, 2008-2011 Canonical Ltd |
| 1758 | # Authors: Robert Collins <robert.collins@canonical.com> |
| 1759 | # |
| 1760 | # This program is free software; you can redistribute it and/or modify |
| 1761 | |
| 1762 | === modified file 'bzrlib/tests/test_rio.py' |
| 1763 | --- bzrlib/tests/test_rio.py 2010-12-24 22:40:27 +0000 |
| 1764 | +++ bzrlib/tests/test_rio.py 2011-01-12 16:51:15 +0000 |
| 1765 | @@ -1,4 +1,4 @@ |
| 1766 | -# Copyright (C) 2005, 2006, 2007, 2009, 2010 Canonical Ltd |
| 1767 | +# Copyright (C) 2005, 2006, 2007, 2009, 2010, 2011 Canonical Ltd |
| 1768 | # |
| 1769 | # This program is free software; you can redistribute it and/or modify |
| 1770 | # it under the terms of the GNU General Public License as published by |
| 1771 | |
| 1772 | === modified file 'bzrlib/tests/test_rules.py' |
| 1773 | --- bzrlib/tests/test_rules.py 2010-12-24 22:40:27 +0000 |
| 1774 | +++ bzrlib/tests/test_rules.py 2011-01-12 16:51:15 +0000 |
| 1775 | @@ -1,4 +1,4 @@ |
| 1776 | -# Copyright (C) 2008 Canonical Ltd |
| 1777 | +# Copyright (C) 2008-2011 Canonical Ltd |
| 1778 | # |
| 1779 | # This program is free software; you can redistribute it and/or modify |
| 1780 | # it under the terms of the GNU General Public License as published by |
| 1781 | |
| 1782 | === modified file 'bzrlib/tests/test_selftest.py' |
| 1783 | --- bzrlib/tests/test_selftest.py 2011-01-11 07:01:27 +0000 |
| 1784 | +++ bzrlib/tests/test_selftest.py 2011-01-12 16:51:15 +0000 |
| 1785 | @@ -1,4 +1,4 @@ |
| 1786 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 1787 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 1788 | # |
| 1789 | # This program is free software; you can redistribute it and/or modify |
| 1790 | # it under the terms of the GNU General Public License as published by |
| 1791 | |
| 1792 | === modified file 'bzrlib/tests/test_server.py' |
| 1793 | --- bzrlib/tests/test_server.py 2010-12-24 22:40:27 +0000 |
| 1794 | +++ bzrlib/tests/test_server.py 2011-01-12 16:51:15 +0000 |
| 1795 | @@ -1,4 +1,4 @@ |
| 1796 | -# Copyright (C) 2010 Canonical Ltd |
| 1797 | +# Copyright (C) 2010, 2011 Canonical Ltd |
| 1798 | # |
| 1799 | # This program is free software; you can redistribute it and/or modify |
| 1800 | # it under the terms of the GNU General Public License as published by |
| 1801 | |
| 1802 | === modified file 'bzrlib/tests/test_setup.py' |
| 1803 | --- bzrlib/tests/test_setup.py 2010-12-24 22:40:27 +0000 |
| 1804 | +++ bzrlib/tests/test_setup.py 2011-01-12 16:51:15 +0000 |
| 1805 | @@ -1,4 +1,4 @@ |
| 1806 | -# Copyright (C) 2005, 2006, 2008, 2009, 2010 Canonical Ltd |
| 1807 | +# Copyright (C) 2005, 2006, 2008-2011 Canonical Ltd |
| 1808 | # |
| 1809 | # This program is free software; you can redistribute it and/or modify |
| 1810 | # it under the terms of the GNU General Public License as published by |
| 1811 | |
| 1812 | === modified file 'bzrlib/tests/test_sftp_transport.py' |
| 1813 | --- bzrlib/tests/test_sftp_transport.py 2010-12-24 22:40:27 +0000 |
| 1814 | +++ bzrlib/tests/test_sftp_transport.py 2011-01-12 16:51:15 +0000 |
| 1815 | @@ -1,4 +1,4 @@ |
| 1816 | -# Copyright (C) 2005-2010 Robey Pointer <robey@lag.net> |
| 1817 | +# Copyright (C) 2005-2011 Robey Pointer <robey@lag.net> |
| 1818 | # Copyright (C) 2005, 2006, 2007 Canonical Ltd |
| 1819 | # |
| 1820 | # This program is free software; you can redistribute it and/or modify |
| 1821 | |
| 1822 | === modified file 'bzrlib/tests/test_smart.py' |
| 1823 | --- bzrlib/tests/test_smart.py 2010-12-24 22:40:27 +0000 |
| 1824 | +++ bzrlib/tests/test_smart.py 2011-01-12 16:51:15 +0000 |
| 1825 | @@ -1,4 +1,4 @@ |
| 1826 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 1827 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 1828 | # |
| 1829 | # This program is free software; you can redistribute it and/or modify |
| 1830 | # it under the terms of the GNU General Public License as published by |
| 1831 | |
| 1832 | === modified file 'bzrlib/tests/test_smart_transport.py' |
| 1833 | --- bzrlib/tests/test_smart_transport.py 2010-12-16 11:31:14 +0000 |
| 1834 | +++ bzrlib/tests/test_smart_transport.py 2011-01-12 16:51:15 +0000 |
| 1835 | @@ -1,4 +1,4 @@ |
| 1836 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 1837 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 1838 | # |
| 1839 | # This program is free software; you can redistribute it and/or modify |
| 1840 | # it under the terms of the GNU General Public License as published by |
| 1841 | |
| 1842 | === modified file 'bzrlib/tests/test_smtp_connection.py' |
| 1843 | --- bzrlib/tests/test_smtp_connection.py 2010-12-24 22:40:27 +0000 |
| 1844 | +++ bzrlib/tests/test_smtp_connection.py 2011-01-12 16:51:15 +0000 |
| 1845 | @@ -1,4 +1,4 @@ |
| 1846 | -# Copyright (C) 2007, 2009, 2010 Canonical Ltd |
| 1847 | +# Copyright (C) 2007, 2009, 2010, 2011 Canonical Ltd |
| 1848 | # |
| 1849 | # This program is free software; you can redistribute it and/or modify |
| 1850 | # it under the terms of the GNU General Public License as published by |
| 1851 | |
| 1852 | === modified file 'bzrlib/tests/test_store.py' |
| 1853 | --- bzrlib/tests/test_store.py 2010-12-24 22:40:27 +0000 |
| 1854 | +++ bzrlib/tests/test_store.py 2011-01-12 16:51:15 +0000 |
| 1855 | @@ -1,4 +1,4 @@ |
| 1856 | -# Copyright (C) 2005, 2007 Canonical Ltd |
| 1857 | +# Copyright (C) 2005-2009, 2011 Canonical Ltd |
| 1858 | # |
| 1859 | # This program is free software; you can redistribute it and/or modify |
| 1860 | # it under the terms of the GNU General Public License as published by |
| 1861 | |
| 1862 | === modified file 'bzrlib/tests/test_strace.py' |
| 1863 | --- bzrlib/tests/test_strace.py 2010-12-24 22:40:27 +0000 |
| 1864 | +++ bzrlib/tests/test_strace.py 2011-01-12 16:51:15 +0000 |
| 1865 | @@ -1,4 +1,4 @@ |
| 1866 | -# Copyright (C) 2007-2010 Canonical Ltd |
| 1867 | +# Copyright (C) 2007-2011 Canonical Ltd |
| 1868 | # |
| 1869 | # This program is free software; you can redistribute it and/or modify |
| 1870 | # it under the terms of the GNU General Public License as published by |
| 1871 | |
| 1872 | === modified file 'bzrlib/tests/test_subsume.py' |
| 1873 | --- bzrlib/tests/test_subsume.py 2010-12-24 22:40:27 +0000 |
| 1874 | +++ bzrlib/tests/test_subsume.py 2011-01-12 16:51:15 +0000 |
| 1875 | @@ -1,4 +1,4 @@ |
| 1876 | -# Copyright (C) 2006 Canonical Ltd |
| 1877 | +# Copyright (C) 2006-2009, 2011 Canonical Ltd |
| 1878 | # |
| 1879 | # This program is free software; you can redistribute it and/or modify |
| 1880 | # it under the terms of the GNU General Public License as published by |
| 1881 | |
| 1882 | === modified file 'bzrlib/tests/test_switch.py' |
| 1883 | --- bzrlib/tests/test_switch.py 2010-12-24 22:40:27 +0000 |
| 1884 | +++ bzrlib/tests/test_switch.py 2011-01-12 16:51:15 +0000 |
| 1885 | @@ -1,4 +1,4 @@ |
| 1886 | -# Copyright (C) 2007-2010 Canonical Ltd |
| 1887 | +# Copyright (C) 2007-2011 Canonical Ltd |
| 1888 | # |
| 1889 | # This program is free software; you can redistribute it and/or modify |
| 1890 | # it under the terms of the GNU General Public License as published by |
| 1891 | |
| 1892 | === modified file 'bzrlib/tests/test_symbol_versioning.py' |
| 1893 | --- bzrlib/tests/test_symbol_versioning.py 2010-12-24 22:40:27 +0000 |
| 1894 | +++ bzrlib/tests/test_symbol_versioning.py 2011-01-12 16:51:15 +0000 |
| 1895 | @@ -1,4 +1,4 @@ |
| 1896 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 1897 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 1898 | # |
| 1899 | # This program is free software; you can redistribute it and/or modify |
| 1900 | # it under the terms of the GNU General Public License as published by |
| 1901 | |
| 1902 | === modified file 'bzrlib/tests/test_test_server.py' |
| 1903 | --- bzrlib/tests/test_test_server.py 2010-12-09 04:26:53 +0000 |
| 1904 | +++ bzrlib/tests/test_test_server.py 2011-01-12 16:51:15 +0000 |
| 1905 | @@ -1,4 +1,4 @@ |
| 1906 | -# Copyright (C) 2010 Canonical Ltd |
| 1907 | +# Copyright (C) 2010, 2011 Canonical Ltd |
| 1908 | # |
| 1909 | # This program is free software; you can redistribute it and/or modify |
| 1910 | # it under the terms of the GNU General Public License as published by |
| 1911 | |
| 1912 | === modified file 'bzrlib/tests/test_timestamp.py' |
| 1913 | --- bzrlib/tests/test_timestamp.py 2010-12-24 23:15:44 +0000 |
| 1914 | +++ bzrlib/tests/test_timestamp.py 2011-01-12 16:51:15 +0000 |
| 1915 | @@ -1,4 +1,4 @@ |
| 1916 | -# Copyright (C) 2007 Canonical Ltd |
| 1917 | +# Copyright (C) 2007, 2009, 2011 Canonical Ltd |
| 1918 | # |
| 1919 | # This program is free software; you can redistribute it and/or modify |
| 1920 | # it under the terms of the GNU General Public License as published by |
| 1921 | |
| 1922 | === modified file 'bzrlib/tests/test_trace.py' |
| 1923 | --- bzrlib/tests/test_trace.py 2010-12-16 13:15:42 +0000 |
| 1924 | +++ bzrlib/tests/test_trace.py 2011-01-12 16:51:15 +0000 |
| 1925 | @@ -1,4 +1,4 @@ |
| 1926 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 1927 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 1928 | # |
| 1929 | # This program is free software; you can redistribute it and/or modify |
| 1930 | # it under the terms of the GNU General Public License as published by |
| 1931 | |
| 1932 | === modified file 'bzrlib/tests/test_transactions.py' |
| 1933 | --- bzrlib/tests/test_transactions.py 2010-12-24 22:40:27 +0000 |
| 1934 | +++ bzrlib/tests/test_transactions.py 2011-01-12 16:51:15 +0000 |
| 1935 | @@ -1,4 +1,4 @@ |
| 1936 | -# Copyright (C) 2005 Canonical Ltd |
| 1937 | +# Copyright (C) 2005, 2006, 2009, 2011 Canonical Ltd |
| 1938 | # Authors: Robert Collins <robert.collins@canonical.com> |
| 1939 | # |
| 1940 | # This program is free software; you can redistribute it and/or modify |
| 1941 | |
| 1942 | === modified file 'bzrlib/tests/test_transform.py' |
| 1943 | --- bzrlib/tests/test_transform.py 2010-12-24 22:40:27 +0000 |
| 1944 | +++ bzrlib/tests/test_transform.py 2011-01-12 16:51:15 +0000 |
| 1945 | @@ -1,4 +1,4 @@ |
| 1946 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 1947 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 1948 | # |
| 1949 | # This program is free software; you can redistribute it and/or modify |
| 1950 | # it under the terms of the GNU General Public License as published by |
| 1951 | |
| 1952 | === modified file 'bzrlib/tests/test_transport.py' |
| 1953 | --- bzrlib/tests/test_transport.py 2010-12-24 22:40:27 +0000 |
| 1954 | +++ bzrlib/tests/test_transport.py 2011-01-12 16:51:15 +0000 |
| 1955 | @@ -1,4 +1,4 @@ |
| 1956 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 1957 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 1958 | # |
| 1959 | # This program is free software; you can redistribute it and/or modify |
| 1960 | # it under the terms of the GNU General Public License as published by |
| 1961 | |
| 1962 | === modified file 'bzrlib/tests/test_transport_log.py' |
| 1963 | --- bzrlib/tests/test_transport_log.py 2010-12-24 22:40:27 +0000 |
| 1964 | +++ bzrlib/tests/test_transport_log.py 2011-01-12 16:51:15 +0000 |
| 1965 | @@ -1,4 +1,4 @@ |
| 1966 | -# Copyright (C) 2008, 2009, 2010 Canonical Ltd |
| 1967 | +# Copyright (C) 2008-2011 Canonical Ltd |
| 1968 | # |
| 1969 | # This program is free software; you can redistribute it and/or modify |
| 1970 | # it under the terms of the GNU General Public License as published by |
| 1971 | |
| 1972 | === modified file 'bzrlib/tests/test_tree.py' |
| 1973 | --- bzrlib/tests/test_tree.py 2010-12-24 22:40:27 +0000 |
| 1974 | +++ bzrlib/tests/test_tree.py 2011-01-12 16:51:15 +0000 |
| 1975 | @@ -1,4 +1,4 @@ |
| 1976 | -# Copyright (C) 2006, 2008 Canonical Ltd |
| 1977 | +# Copyright (C) 2006-2009, 2011 Canonical Ltd |
| 1978 | # |
| 1979 | # This program is free software; you can redistribute it and/or modify |
| 1980 | # it under the terms of the GNU General Public License as published by |
| 1981 | |
| 1982 | === modified file 'bzrlib/tests/test_ui.py' |
| 1983 | --- bzrlib/tests/test_ui.py 2010-12-24 22:40:27 +0000 |
| 1984 | +++ bzrlib/tests/test_ui.py 2011-01-12 16:51:15 +0000 |
| 1985 | @@ -1,4 +1,4 @@ |
| 1986 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 1987 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 1988 | # |
| 1989 | # This program is free software; you can redistribute it and/or modify |
| 1990 | # it under the terms of the GNU General Public License as published by |
| 1991 | |
| 1992 | === modified file 'bzrlib/tests/test_upgrade.py' |
| 1993 | --- bzrlib/tests/test_upgrade.py 2010-12-20 12:01:56 +0000 |
| 1994 | +++ bzrlib/tests/test_upgrade.py 2011-01-12 16:51:15 +0000 |
| 1995 | @@ -1,4 +1,4 @@ |
| 1996 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 1997 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 1998 | # |
| 1999 | # This program is free software; you can redistribute it and/or modify |
| 2000 | # it under the terms of the GNU General Public License as published by |
| 2001 | |
| 2002 | === modified file 'bzrlib/tests/test_upgrade_stacked.py' |
| 2003 | --- bzrlib/tests/test_upgrade_stacked.py 2010-12-09 04:26:53 +0000 |
| 2004 | +++ bzrlib/tests/test_upgrade_stacked.py 2011-01-12 16:51:15 +0000 |
| 2005 | @@ -1,4 +1,4 @@ |
| 2006 | -# Copyright (C) 2008 Canonical Ltd |
| 2007 | +# Copyright (C) 2008, 2009, 2011 Canonical Ltd |
| 2008 | # |
| 2009 | # This program is free software; you can redistribute it and/or modify |
| 2010 | # it under the terms of the GNU General Public License as published by |
| 2011 | |
| 2012 | === modified file 'bzrlib/tests/test_version.py' |
| 2013 | --- bzrlib/tests/test_version.py 2010-12-24 22:40:27 +0000 |
| 2014 | +++ bzrlib/tests/test_version.py 2011-01-12 16:51:15 +0000 |
| 2015 | @@ -1,4 +1,4 @@ |
| 2016 | -# Copyright (C) 2006, 2009, 2010 Canonical Ltd |
| 2017 | +# Copyright (C) 2006, 2009, 2010, 2011 Canonical Ltd |
| 2018 | # |
| 2019 | # This program is free software; you can redistribute it and/or modify |
| 2020 | # it under the terms of the GNU General Public License as published by |
| 2021 | |
| 2022 | === modified file 'bzrlib/tests/test_version_info.py' |
| 2023 | --- bzrlib/tests/test_version_info.py 2010-12-24 22:40:27 +0000 |
| 2024 | +++ bzrlib/tests/test_version_info.py 2011-01-12 16:51:15 +0000 |
| 2025 | @@ -1,4 +1,4 @@ |
| 2026 | -# Copyright (C) 2005, 2006 Canonical Ltd |
| 2027 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 2028 | # |
| 2029 | # This program is free software; you can redistribute it and/or modify |
| 2030 | # it under the terms of the GNU General Public License as published by |
| 2031 | |
| 2032 | === modified file 'bzrlib/tests/test_weave.py' |
| 2033 | --- bzrlib/tests/test_weave.py 2010-12-24 22:40:27 +0000 |
| 2034 | +++ bzrlib/tests/test_weave.py 2011-01-12 16:51:15 +0000 |
| 2035 | @@ -1,4 +1,4 @@ |
| 2036 | -# Copyright (C) 2005 Canonical Ltd |
| 2037 | +# Copyright (C) 2005-2009, 2011 Canonical Ltd |
| 2038 | # |
| 2039 | # This program is free software; you can redistribute it and/or modify |
| 2040 | # it under the terms of the GNU General Public License as published by |
| 2041 | |
| 2042 | === modified file 'bzrlib/tests/test_whitebox.py' |
| 2043 | --- bzrlib/tests/test_whitebox.py 2010-12-24 22:40:27 +0000 |
| 2044 | +++ bzrlib/tests/test_whitebox.py 2011-01-12 16:51:15 +0000 |
| 2045 | @@ -1,4 +1,4 @@ |
| 2046 | -# Copyright (C) 2005, 2006 Canonical Ltd |
| 2047 | +# Copyright (C) 2005, 2006, 2008, 2009, 2011 Canonical Ltd |
| 2048 | # |
| 2049 | # This program is free software; you can redistribute it and/or modify |
| 2050 | # it under the terms of the GNU General Public License as published by |
| 2051 | |
| 2052 | === modified file 'bzrlib/tests/test_win32utils.py' |
| 2053 | --- bzrlib/tests/test_win32utils.py 2010-12-24 22:40:27 +0000 |
| 2054 | +++ bzrlib/tests/test_win32utils.py 2011-01-12 16:51:15 +0000 |
| 2055 | @@ -1,4 +1,4 @@ |
| 2056 | -# Copyright (C) 2007-2010 Canonical Ltd |
| 2057 | +# Copyright (C) 2007-2011 Canonical Ltd |
| 2058 | # |
| 2059 | # This program is free software; you can redistribute it and/or modify |
| 2060 | # it under the terms of the GNU General Public License as published by |
| 2061 | |
| 2062 | === modified file 'bzrlib/tests/test_workingtree.py' |
| 2063 | --- bzrlib/tests/test_workingtree.py 2010-12-24 22:40:27 +0000 |
| 2064 | +++ bzrlib/tests/test_workingtree.py 2011-01-12 16:51:15 +0000 |
| 2065 | @@ -1,4 +1,4 @@ |
| 2066 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 2067 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 2068 | # Authors: Robert Collins <robert.collins@canonical.com> |
| 2069 | # |
| 2070 | # This program is free software; you can redistribute it and/or modify |
| 2071 | |
| 2072 | === modified file 'bzrlib/tests/test_wsgi.py' |
| 2073 | --- bzrlib/tests/test_wsgi.py 2010-12-24 22:40:27 +0000 |
| 2074 | +++ bzrlib/tests/test_wsgi.py 2011-01-12 16:51:15 +0000 |
| 2075 | @@ -1,4 +1,4 @@ |
| 2076 | -# Copyright (C) 2006 Canonical Ltd |
| 2077 | +# Copyright (C) 2006-2009, 2011 Canonical Ltd |
| 2078 | # |
| 2079 | # This program is free software; you can redistribute it and/or modify |
| 2080 | # it under the terms of the GNU General Public License as published by |
| 2081 | |
| 2082 | === modified file 'bzrlib/tests/test_xml.py' |
| 2083 | --- bzrlib/tests/test_xml.py 2010-12-24 22:40:27 +0000 |
| 2084 | +++ bzrlib/tests/test_xml.py 2011-01-12 16:51:15 +0000 |
| 2085 | @@ -1,4 +1,4 @@ |
| 2086 | -# Copyright (C) 2005-2010 Canonical Ltd |
| 2087 | +# Copyright (C) 2005-2011 Canonical Ltd |
| 2088 | # |
| 2089 | # This program is free software; you can redistribute it and/or modify |
| 2090 | # it under the terms of the GNU General Public License as published by |
| 2091 | |
| 2092 | === modified file 'bzrlib/timestamp.py' |
| 2093 | --- bzrlib/timestamp.py 2010-12-24 23:15:44 +0000 |
| 2094 | +++ bzrlib/timestamp.py 2011-01-12 16:51:15 +0000 |
| 2095 | @@ -1,4 +1,4 @@ |
| 2096 | -# Copyright (C) 2005, 2006, 2007 Canonical Ltd |
| 2097 | +# Copyright (C) 2007, 2008, 2009, 2011 Canonical Ltd |
| 2098 | # |
| 2099 | # This program is free software; you can redistribute it and/or modify |
| 2100 | # it under the terms of the GNU General Public License as published by |
| 2101 | |
| 2102 | === modified file 'bzrlib/transform.py' |
| 2103 | --- bzrlib/transform.py 2010-12-24 22:40:27 +0000 |
| 2104 | +++ bzrlib/transform.py 2011-01-12 16:51:15 +0000 |
| 2105 | @@ -1,4 +1,4 @@ |
| 2106 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 2107 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 2108 | # |
| 2109 | # This program is free software; you can redistribute it and/or modify |
| 2110 | # it under the terms of the GNU General Public License as published by |
| 2111 | |
| 2112 | === modified file 'bzrlib/transport/http/_urllib2_wrappers.py' |
| 2113 | --- bzrlib/transport/http/_urllib2_wrappers.py 2010-12-24 17:48:14 +0000 |
| 2114 | +++ bzrlib/transport/http/_urllib2_wrappers.py 2011-01-12 16:51:15 +0000 |
| 2115 | @@ -1,4 +1,4 @@ |
| 2116 | -# Copyright (C) 2006-2010 Canonical Ltd |
| 2117 | +# Copyright (C) 2006-2011 Canonical Ltd |
| 2118 | # |
| 2119 | # This program is free software; you can redistribute it and/or modify |
| 2120 | # it under the terms of the GNU General Public License as published by |
| 2121 | |
| 2122 | === modified file 'bzrlib/upgrade.py' |
| 2123 | --- bzrlib/upgrade.py 2011-01-11 21:27:02 +0000 |
| 2124 | +++ bzrlib/upgrade.py 2011-01-12 16:51:15 +0000 |
| 2125 | @@ -1,4 +1,4 @@ |
| 2126 | -# Copyright (C) 2005, 2006, 2008, 2009, 2010 Canonical Ltd |
| 2127 | +# Copyright (C) 2005, 2006, 2008-2011 Canonical Ltd |
| 2128 | # |
| 2129 | # This program is free software; you can redistribute it and/or modify |
| 2130 | # it under the terms of the GNU General Public License as published by |
| 2131 | |
| 2132 | === modified file 'doc/en/release-notes/bzr-2.3.txt' |
| 2133 | --- doc/en/release-notes/bzr-2.3.txt 2011-01-12 00:58:05 +0000 |
| 2134 | +++ doc/en/release-notes/bzr-2.3.txt 2011-01-12 16:51:15 +0000 |
| 2135 | @@ -77,6 +77,10 @@ |
| 2136 | * The BZR_COLUMNS environment variable can be set to 0 to indicate no |
| 2137 | limitation on the width of the terminal. (Neil Martinsen-Burrell, #675652) |
| 2138 | |
| 2139 | +* You are now able to commit directly to a stacked branch. Any needed |
| 2140 | + parent inventories will be filled in as part of the commit process. |
| 2141 | + (John Arbash Meinel, #375013) |
| 2142 | + |
| 2143 | Documentation |
| 2144 | ************* |
| 2145 | |
| 2146 | |
| 2147 | === modified file 'doc/en/whats-new/whats-new-in-2.3.txt' |
| 2148 | --- doc/en/whats-new/whats-new-in-2.3.txt 2010-12-20 12:01:56 +0000 |
| 2149 | +++ doc/en/whats-new/whats-new-in-2.3.txt 2011-01-12 16:51:15 +0000 |
| 2150 | @@ -20,6 +20,11 @@ |
| 2151 | Changed Behaviour |
| 2152 | ***************** |
| 2153 | |
| 2154 | +* Committing a new revision in a stacked branch is now supported, as long as |
| 2155 | + you are using the current repository format (2a). It will preserve the |
| 2156 | + stacking invariants, etc, so that fetching after commit is guaranteed to |
| 2157 | + work. (John Arbash Meinel, #375013) |
| 2158 | + |
| 2159 | * Support for some old development formats have been removed: |
| 2160 | ``development-rich-root``, ``development6-rich-root``, and |
| 2161 | ``development7-rich-root``. These formats were always labelled experimental |

Looking good so far!
[...] to-stacked- branch. It does so by checking at of-the- new-revision are get_stream_ for_missing_ keys() from the fallback
> This implements commit-
> commit time if the inventories for parents-
> present. If not, it starts a new
> StreamSource.
> repository, and fills them in. This is what we currently use when
> pushing up a new revision to a destination, so it should handle the
> cases we care about.
Sounds good.
> This doesn't handle delta chains for file content, so we may want to
> restrict this support to only 2a formats.
Hmm. This is probably where I got stuck trying this approach a while
back. Restricting to 2a seems reasonable.
> The one thing I don't really like is the write-group handling. insert_ stream_ reusing_ write_group( ).
[...]
> What I think would be nicer would be to add a StreamSink.
> This would
> a) Not take out a new write group
> b) Not commit the write group
>
> This would allow me to add more data into the current commit, all of which would be atomically added or rolled back.
That proposal sounds good to me.
> Then again, worst case we just filled in some basis inventories, which
> should be ok to have around. You're likely to want them anyway, and it
> isn't a more cruft. (It is the same data you would have had if you
> committed to a non-stacked branch, and then pushed to the stacked
> branch.) It is only 'cruft' if the commit aborts and you change the
> branch tip before the next commit. (could happen if you were
> committing to a stacked-and-bound branch.)
It'll be wasteful in terms of round-trips though, and I don't like waste
:)
> I also think I need to add specific permutations of committing when of-fallback cases.
> the stacked branch, and/or its fallback is remote, just to guard
> against interactions of stacking + remote. Especially in the
> fallback-
Yes, history suggests this is a good idea.
> I'd also like someone to look at my test cases, and see if there are
> any other obvious ones that come to mind.
Maybe some tests involving ghosts, and commits of unchanged inventories
vs. a parent.
> === modified file 'bzrlib/commit.py' commit( self.message)
> --- bzrlib/commit.py 2010-11-10 02:01:33 +0000
> +++ bzrlib/commit.py 2010-12-03 22:21:52 +0000
> @@ -432,6 +432,7 @@
> self.rev_id = self.builder.
>
> except Exception, e:
> + import pdb; pdb.set_trace()
You probably want to revert this bit ;)
> mutter("aborting commit write group because of exception:") exception_ quietly( ) repository. py' repository. py 2010-12-02 10:41:05 +0000 repository. py 2010-12-03 22:21:52 +0000 unicode_ text(value, fallback_ inventories( self):
> trace.log_
> note("aborting commit write group: %r" % (e,))
>
> === modified file 'bzrlib/
> --- bzrlib/
> +++ bzrlib/
> @@ -176,11 +176,50 @@
> self._validate_
> 'revision property (%s)' % (key,))
>
> + def _ensure_
> + """Ensure that appropriate inventories are available.
> +
> + This only applies to repositories that are stacked, and is about
> + enusring the stacking invariants. Namely, that for any revision that...