[merge] split out repository formats

John Arbash Meinel john at arbash-meinel.com
Mon Feb 12 17:47:30 GMT 2007

Hash: SHA1

Martin Pool wrote:

> OK so here's an updated version.  
> On considering your comments about old clients I have put the old
> formats into lazy_import so that they can still be found by old code.
> (This possibly makes some of the other changes unnecessary...)
> Since the lazy_imports are somewhat more tolerant of circular
> dependencies they make some of these changes easier...

I'm not sure if you submitted the right version, as I saw some commits
about doing proper deprecations. But either way, merging this bundle I
don't see any RepositoryFormatKnit1 imports into bzrlib/repository.py

I saw this on bazaar-commits, though, so I think you just submitted an
old bundle:
  Rev 2257: Just import repository formats into repository.py

I would prefer to have them be delegated and create a deprecation
warning, so code that is accessing them knows it needs to be updated.

Further, I'm still worried that code would do:

from bzrlib.repository import RepositoryFormatKnit1

Which would end up breaking if they access it 2 times (since we never
access that object ourselves, it needs to be accessed by someone else to
cause a problem). Also, it still would break 'isinstance(foo,
RepositoryFormatKnit1)'. So using the delegated code so we get
deprecation warnings seems nicer to me.

The patch is pretty big, so I'm not going line-by-line. I like what
you've written in your email, and I'm willing to take it on face value.

So *I* would prefer the delegated code that you removed, but otherwise
+1. I'd also like to get this in soon, because I'm working on a branch
which changes all revision ids back into being utf-8. Which will
conflict with your changes. (For some reason my emails to bazaar-commits
seem to be lost, is anyone else getting them?)


Version: GnuPG v1.4.3 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org


More information about the bazaar mailing list