ControlDir.sprout() call breaks bzr-git and bzr-hg cloning
Bug #717937 reported by
Jelmer Vernooij
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Fix Released
|
Critical
|
Jelmer Vernooij | ||
Bazaar Git Plugin |
Fix Released
|
Critical
|
Jelmer Vernooij | ||
Bazaar Hg Plugin |
Fix Released
|
Critical
|
Jelmer Vernooij | ||
Bazaar Subversion Plugin |
Fix Released
|
High
|
Jelmer Vernooij |
Bug Description
affects bzr
status triaged
importance high
ControlDir.sprout() now requires inspection to the source repository's
revision graph. This breaks sprouting from git repositories, which don't
provide access to the revision graph.
bzr-git could provide a custom implementation of ControlDir._sprout to
work around this, but that method is really large so could robably
benefit from being split up before we do so.
Related branches
lp:~jelmer/bzr/sprout-to-bzrdir
- Andrew Bennetts: Approve
-
Diff: 357 lines (+163/-130)3 files modifiedbzrlib/bzrdir.py (+158/-0)
bzrlib/controldir.py (+1/-130)
doc/en/release-notes/bzr-2.4.txt (+4/-0)
lp:~jelmer/bzr-svn/sprout
- bzr-svn developers: Pending requested
-
Diff: 96 lines (+39/-5)3 files modifiedNEWS (+3/-0)
fetch.py (+3/-3)
remote.py (+33/-2)
lp:~jelmer/bzr-git/sprout
- Launchpad PQM Bot: Pending requested
- Diff: 0 lines
- Launchpad PQM Bot: Pending requested
-
Diff: 4188 lines (+1585/-509) (has conflicts)43 files modified.bzrignore (+1/-0)
.testr.conf (+4/-0)
NEWS (+54/-3)
README (+4/-4)
TODO (+2/-2)
__init__.py (+197/-107)
branch.py (+216/-78)
bzr-receive-pack (+7/-12)
bzr-upload-pack (+8/-18)
cache.py (+65/-24)
commands.py (+58/-19)
commit.py (+18/-4)
dir.py (+266/-23)
fetch.py (+74/-19)
help.py (+33/-0)
info.py (+3/-3)
inventory.py (+7/-6)
mapping.py (+17/-10)
object_store.py (+41/-25)
push.py (+54/-27)
refs.py (+77/-6)
remote.py (+67/-18)
repository.py (+68/-23)
roundtrip.py (+15/-3)
send.py (+1/-6)
tests/__init__.py (+15/-14)
tests/test_blackbox.py (+6/-5)
tests/test_branch.py (+17/-2)
tests/test_builder.py (+3/-3)
tests/test_cache.py (+16/-7)
tests/test_dir.py (+2/-2)
tests/test_fetch.py (+1/-1)
tests/test_mapping.py (+28/-11)
tests/test_object_store.py (+17/-1)
tests/test_push.py (+2/-2)
tests/test_refs.py (+3/-3)
tests/test_repository.py (+4/-3)
tests/test_roundtrip.py (+10/-0)
tests/test_transportgit.py (+4/-0)
tests/test_versionedfiles.py (+50/-0)
transportgit.py (+25/-2)
versionedfiles.py (+1/-1)
workingtree.py (+24/-12)
lp:~jelmer/bzr-hg/sprout
- Launchpad PQM Bot: Pending requested
- Diff: 0 lines
- Launchpad PQM Bot: Pending requested
-
Diff: 2260 lines (+1096/-407)27 files modified.bzrignore (+1/-0)
.testr.conf (+4/-0)
HACKING (+1/-3)
Makefile (+1/-1)
NEWS (+23/-2)
__init__.py (+144/-272)
branch.py (+131/-11)
dir.py (+395/-0)
fetch.py (+133/-74)
info.py (+4/-3)
mapping.py (+11/-4)
overlay.py (+1/-1)
parsers.py (+33/-0)
repository.py (+47/-5)
setup.py (+1/-1)
tests/__init__.py (+1/-0)
tests/test_branch.py (+4/-4)
tests/test_dir.py (+13/-6)
tests/test_fetch.py (+53/-0)
tests/test_mapping.py (+33/-1)
tests/test_parsers.py (+12/-1)
tests/test_pull.py (+5/-5)
tests/test_repository.py (+3/-3)
ui.py (+4/-4)
util.py (+1/-1)
versionedfiles.py (+2/-0)
workingtree.py (+35/-5)
Changed in bzr: | |
status: | Triaged → Confirmed |
summary: |
- ControlDir.sprout() call breaks bzr-git cloning + ControlDir.sprout() call breaks bzr-git and bzr-hg cloning |
Changed in bzr: | |
status: | Confirmed → In Progress |
importance: | High → Critical |
assignee: | nobody → Jelmer Vernooij (jelmer) |
Changed in bzr-git: | |
status: | New → Triaged |
Changed in bzr-hg: | |
status: | New → Triaged |
Changed in bzr-svn: | |
status: | New → Triaged |
Changed in bzr-git: | |
importance: | Undecided → Critical |
Changed in bzr-svn: | |
importance: | Undecided → Critical |
Changed in bzr-hg: | |
importance: | Undecided → Critical |
assignee: | nobody → Jelmer Vernooij (jelmer) |
Changed in bzr-svn: | |
assignee: | nobody → Jelmer Vernooij (jelmer) |
Changed in bzr-git: | |
assignee: | nobody → Jelmer Vernooij (jelmer) |
milestone: | none → 0.6.0 |
Changed in bzr-svn: | |
milestone: | none → 1.1.0 |
importance: | Critical → High |
Changed in bzr-hg: | |
milestone: | none → 0.2 |
Changed in bzr-svn: | |
status: | Triaged → In Progress |
Changed in bzr-git: | |
status: | Triaged → In Progress |
Changed in bzr: | |
milestone: | none → 2.4b2 |
Changed in bzr-git: | |
status: | In Progress → Fix Committed |
Changed in bzr-svn: | |
status: | In Progress → Fix Committed |
Changed in bzr-hg: | |
status: | Triaged → Fix Committed |
Changed in bzr: | |
status: | In Progress → Fix Released |
Changed in bzr-git: | |
status: | Fix Committed → Fix Released |
Changed in bzr-svn: | |
status: | Fix Committed → Fix Released |
Changed in bzr-hg: | |
status: | Fix Committed → Fix Released |
milestone: | 0.2 → 0.1.1 |
To post a comment you must log in.
Hi Andrew,
This seems to be triggered by the fetch-all-tags code that was recently introduced. It'd be great if we could come up with some way that doesn't necessarily require get_parent_map() calls to fetch tags. E.g. git and hg already have existing mechanisms as part of their object fetch implementation to fetch tags so the graph inspection is not necessary and in fact breaks cloning at the moment.