[MERGE] bzr-dir phase 2

Robert Collins robertc at robertcollins.net
Fri Feb 10 11:27:59 GMT 2006


If folk are up to it, theres an updated bzr-dir branch at
http://people.ubuntu.com/~robertc/baz2.0/bzr-dir.

This adds the bzrdir api, which supports creating a bzrdir, and from
there repositories, branches, working trees, branch references [thus
allowing the library to create checkouts], setting a default branch
format which is not the 'newest' branch format, and separates out the
previously somewhat conflated 'duplicate with state' and 'create a new
line of development' operations into (respectively) 'bzrdir.clone' and
'bzrdir.sprout'.

I propose that we consider the new branch formats in this 'unstable' and
not upgrade any branches to them until:
 * bzrdir phase 3 [the upgrade overhaul] is done
 * Martins redone branch locking logic is integrated into the new
formats.

From here I'm going to do checkouts in my checkout branch, for a little
lightweight fun, and then do phase three, which will test the detached
repository facility (I don't consider bzrdir 'complete' until thats able
to work), and make upgrade handle new formats more easily. After that
I'm going to start integration versioned file/bound branches/ other
ready and outstanding branches.

I'm not attaching the diff, its uhm, a little large.

$ bzr diff | wc -l
10449

$ bzr diff | diffstat
 .bzrignore                                                   |    1 
 BRANCH.TODO                                                  |   20 
 NEWS                                                         |   24 
 bzrlib/_changeset.py                                         |    1 
 bzrlib/add.py                                                |    2 
 bzrlib/branch.py                                             |  871
++++------
 bzrlib/builtins.py                                           |   78 
 bzrlib/bzrdir.py                                             |  933
+++++++++++
 bzrlib/check.py                                              |    2 
 bzrlib/commands.py                                           |    3 
 bzrlib/commit.py                                             |    2 
 bzrlib/decorators.py                                         |   16 
 bzrlib/diff.py                                               |   14 
 bzrlib/doc/api/branch.txt                                    |   29 
 bzrlib/errors.py                                             |   39 
 bzrlib/fetch.py                                              |  236 +-
 bzrlib/hashcache.py                                          |    8 
 bzrlib/info.py                                               |    5 
 bzrlib/merge.py                                              |   24 
 bzrlib/plugin.py                                             |   11 
 bzrlib/repository.py                                         |  629
+++++++
 bzrlib/revision.py                                           |   19 
 bzrlib/status.py                                             |   16 
 bzrlib/store/text.py                                         |    4 
 bzrlib/store/weave.py                                        |   14 
 bzrlib/tests/HTTPTestUtil.py                                 |   27 
 bzrlib/tests/__init__.py                                     |  107 -
 bzrlib/tests/blackbox/__init__.py                            |    6 
 bzrlib/tests/blackbox/test_ancestry.py                       |   40 
 bzrlib/tests/blackbox/test_find_merge_base.py                |   34 
 bzrlib/tests/blackbox/test_outside_wt.py                     |    2 
 bzrlib/tests/blackbox/test_revision_info.py                  |   22 
 bzrlib/tests/blackbox/test_status.py                         |   23 
 bzrlib/tests/blackbox/test_too_much.py                       |   53 
 bzrlib/tests/blackbox/test_upgrade.py                        |    4 
 bzrlib/tests/blackbox/test_versioning.py                     |   23 
 bzrlib/tests/branch_implementations/__init__.py              |   10 
 bzrlib/tests/branch_implementations/test_branch.py           |  180 +-
bzrlib/tests/branch_implementations/test_permissions.py      |  112 +
 bzrlib/tests/bzrdir_implementations/__init__.py              |   49 
 bzrlib/tests/bzrdir_implementations/test_bzrdir.py           |  617
+++++++
 bzrlib/tests/repository_implementations/__init__.py          |   55 
 bzrlib/tests/repository_implementations/test_repository.py   |  265 +++
 bzrlib/tests/test_branch.py                                  |   98 -
 bzrlib/tests/test_bzrdir.py                                  |  228 ++
 bzrlib/tests/test_commit.py                                  |   11 
 bzrlib/tests/test_doc_generate.py                            |   28 
 bzrlib/tests/test_errors.py                                  |   31 
 bzrlib/tests/test_fetch.py                                   |  103 -
 bzrlib/tests/test_inv.py                                     |   16 
 bzrlib/tests/test_log.py                                     |   11 
 bzrlib/tests/test_merge_core.py                              |   18 
 bzrlib/tests/test_permissions.py                             |  110 -
 bzrlib/tests/test_repository.py                              |  162 +
 bzrlib/tests/test_revision.py                                |   41 
 bzrlib/tests/test_revisionnamespaces.py                      |   13 
 bzrlib/tests/test_selftest.py                                |   84 
 bzrlib/tests/test_sftp_transport.py                          |   69 
 bzrlib/tests/test_source.py                                  |   10 
 bzrlib/tests/test_testament.py                               |   16 
 bzrlib/tests/test_upgrade.py                                 |   24 
 bzrlib/tests/test_weave.py                                   |   78 
 bzrlib/tests/test_workingtree.py                             |  306 +--
 bzrlib/tests/workingtree_implementations/__init__.py         |   53 
 bzrlib/tests/workingtree_implementations/test_workingtree.py |  344
++++
 bzrlib/transport/__init__.py                                 |    2 
 bzrlib/transport/ftp.py                                      |  108 +
 bzrlib/transport/sftp.py                                     |   13 
 bzrlib/upgrade.py                                            |   42 
 bzrlib/weave.py                                              |   60 
 bzrlib/workingtree.py                                        |  460
++++-
 generate_docs.py                                             |   93 +
 setup.py                                                     |    4 
 test_fileid_involved.py                                      |   55 
 test_parent.py                                               |   14 
 tools/doc_generate/__init__.py                               |   32 
 tools/doc_generate/autodoc_bash_completion.py                |   54 
 tools/doc_generate/autodoc_man.py                            |  261 +--
 78 files changed, 5937 insertions(+), 1745 deletions(-)


I think there is some noise in those stats, as it looks like
jam-integration isn't merged into bzr.dev, but that should be a fairly
small percentage.

Rob


-- 
GPG key available at: <http://www.robertcollins.net/keys.txt>.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20060210/57a996bf/attachment.pgp 


More information about the bazaar mailing list