Support for Launchpad-hosted Git repositories
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Fix Released
|
Low
|
Colin Watson |
Bug Description
Allow to import Git repos as Git repos, rather than assuming that Bzr is what everyone wants.
If the original repo is Git, then many issues are created by trying to convert back and to. In fact, Launchpad is only able to convert one-way, so there's very little point importing the Git repository anyway.
Furthermore, importing defaults to HEAD, and there doesn't seem to be a way of selecting the branches to import.
Alternatively, it would be nice to link to the Git repository _without_ importing it. I'm just going to use Launchpad as an issue tracker for my latest project, Hexiano, but Launchpad says my project is not configured until I have some Bzr branch there.
I would use Launchpad for code as well if it supported Git directly.
Related branches
- William Grant (community): Approve (db)
- Stuart Bishop: Pending (db) requested
-
Diff: 340 lines (+196/-8)4 files modifieddatabase/sampledata/current-dev.sql (+24/-4)
database/sampledata/current.sql (+24/-4)
database/schema/patch-2209-61-0.sql (+135/-0)
database/schema/security.cfg (+13/-0)
- William Grant (community): Approve (code)
-
Diff: 13 lines (+3/-0)1 file modifiedlib/lp/registry/personmerge.py (+3/-0)
- William Grant (community): Approve (code)
-
Diff: 336 lines (+247/-4)7 files modifiedlib/lp/registry/browser/configure.zcml (+14/-1)
lib/lp/registry/browser/person.py (+27/-2)
lib/lp/registry/browser/persondistributionsourcepackage.py (+69/-0)
lib/lp/registry/configure.zcml (+22/-1)
lib/lp/registry/interfaces/persondistributionsourcepackage.py (+34/-0)
lib/lp/registry/model/persondistributionsourcepackage.py (+39/-0)
lib/lp/registry/tests/test_persondistributionsourcepackage.py (+42/-0)
- William Grant (community): Approve (code)
-
Diff: 1363 lines (+1062/-29)19 files modifiedconfigs/development/launchpad-lazr.conf (+4/-0)
lib/lp/code/configure.zcml (+31/-0)
lib/lp/code/errors.py (+31/-0)
lib/lp/code/interfaces/gitrepository.py (+372/-0)
lib/lp/code/interfaces/hasgitrepositories.py (+40/-0)
lib/lp/code/model/branch.py (+1/-2)
lib/lp/code/model/gitrepository.py (+390/-0)
lib/lp/code/model/hasgitrepositories.py (+28/-0)
lib/lp/code/model/tests/test_hasgitrepositories.py (+34/-0)
lib/lp/registry/configure.zcml (+5/-0)
lib/lp/registry/interfaces/distributionsourcepackage.py (+3/-1)
lib/lp/registry/interfaces/person.py (+2/-1)
lib/lp/registry/interfaces/product.py (+2/-1)
lib/lp/registry/model/distributionsourcepackage.py (+2/-1)
lib/lp/registry/model/person.py (+2/-1)
lib/lp/registry/model/product.py (+2/-1)
lib/lp/registry/tests/test_product.py (+6/-5)
lib/lp/security.py (+86/-16)
lib/lp/services/config/schema-lazr.conf (+21/-0)
- William Grant (community): Approve (code)
-
Diff: 1044 lines (+910/-12)7 files modifiedlib/lp/code/configure.zcml (+20/-0)
lib/lp/code/errors.py (+63/-0)
lib/lp/code/interfaces/gitnamespace.py (+249/-0)
lib/lp/code/interfaces/gitrepository.py (+3/-0)
lib/lp/code/model/branchnamespace.py (+2/-0)
lib/lp/code/model/gitnamespace.py (+538/-0)
lib/lp/code/model/gitrepository.py (+35/-12)
- William Grant (community): Approve (code)
-
Diff: 892 lines (+193/-86)13 files modifiedlib/lp/blueprints/model/specification.py (+2/-2)
lib/lp/blueprints/tests/test_specification.py (+4/-4)
lib/lp/bugs/model/bug.py (+3/-3)
lib/lp/code/browser/branchsubscription.py (+3/-3)
lib/lp/code/model/branch.py (+3/-3)
lib/lp/code/model/tests/test_branchsubscription.py (+3/-3)
lib/lp/registry/browser/pillar.py (+4/-2)
lib/lp/registry/interfaces/accesspolicy.py (+2/-1)
lib/lp/registry/interfaces/sharingservice.py (+30/-11)
lib/lp/registry/model/accesspolicy.py (+16/-6)
lib/lp/registry/model/sharingjob.py (+27/-3)
lib/lp/registry/services/sharingservice.py (+77/-31)
lib/lp/registry/services/tests/test_sharingservice.py (+19/-14)
- William Grant (community): Approve (code)
-
Diff: 457 lines (+427/-1)2 files modifiedlib/lp/code/model/tests/test_gitrepository.py (+394/-0)
lib/lp/testing/factory.py (+33/-1)
- William Grant (community): Approve (db)
- Stuart Bishop: Pending (db) requested
-
Diff: 12 lines (+8/-0)1 file modifieddatabase/schema/patch-2209-61-1.sql (+8/-0)
- William Grant (community): Approve (code)
-
Diff: 750 lines (+548/-39)9 files modifiedlib/lp/code/configure.zcml (+8/-1)
lib/lp/code/errors.py (+2/-2)
lib/lp/code/interfaces/defaultgit.py (+29/-0)
lib/lp/code/interfaces/gitrepository.py (+65/-13)
lib/lp/code/model/defaultgit.py (+113/-0)
lib/lp/code/model/gitrepository.py (+74/-20)
lib/lp/code/model/tests/test_gitrepository.py (+239/-3)
lib/lp/registry/model/persondistributionsourcepackage.py (+9/-0)
lib/lp/registry/model/personproduct.py (+9/-0)
- William Grant (community): Approve (code)
-
Diff: 1320 lines (+974/-241)9 files modifiedlib/lp/code/configure.zcml (+18/-0)
lib/lp/code/interfaces/gitlookup.py (+137/-0)
lib/lp/code/interfaces/gitnamespace.py (+0/-77)
lib/lp/code/model/branchlookup.py (+3/-3)
lib/lp/code/model/gitlookup.py (+349/-0)
lib/lp/code/model/gitnamespace.py (+0/-159)
lib/lp/code/model/gitrepository.py (+5/-2)
lib/lp/code/model/tests/test_gitlookup.py (+449/-0)
lib/lp/code/model/tests/test_gitrepository.py (+13/-0)
- William Grant (community): Approve (code)
-
Diff: 1309 lines (+1279/-0)5 files modifiedlib/lp/code/adapters/gitcollection.py (+62/-0)
lib/lp/code/configure.zcml (+49/-0)
lib/lp/code/interfaces/gitcollection.py (+125/-0)
lib/lp/code/model/gitcollection.py (+327/-0)
lib/lp/code/model/tests/test_gitcollection.py (+716/-0)
- William Grant (community): Approve (code)
-
Diff: 1160 lines (+429/-105)8 files modifiedlib/lp/code/model/gitrepository.py (+9/-4)
lib/lp/code/model/hasgitrepositories.py (+3/-3)
lib/lp/code/model/tests/test_gitrepository.py (+136/-1)
lib/lp/registry/services/sharingservice.py (+44/-37)
lib/lp/registry/services/tests/test_sharingservice.py (+163/-45)
lib/lp/registry/tests/test_accesspolicy.py (+8/-1)
lib/lp/registry/tests/test_sharingjob.py (+58/-13)
lib/lp/security.py (+8/-1)
- William Grant (community): Approve (code)
-
Diff: 169 lines (+67/-8)4 files modifiedlib/lp/registry/browser/peoplemerge.py (+9/-1)
lib/lp/registry/browser/tests/test_peoplemerge.py (+14/-2)
lib/lp/registry/personmerge.py (+14/-4)
lib/lp/registry/tests/test_personmerge.py (+30/-1)
- William Grant (community): Approve (code)
-
Diff: 1255 lines (+1007/-7)17 files modifiedlib/lp/code/errors.py (+1/-1)
lib/lp/code/githosting.py (+52/-0)
lib/lp/code/interfaces/gitapi.py (+51/-0)
lib/lp/code/interfaces/gitnamespace.py (+7/-0)
lib/lp/code/interfaces/gitrepository.py (+1/-0)
lib/lp/code/model/gitlookup.py (+2/-0)
lib/lp/code/model/gitnamespace.py (+9/-0)
lib/lp/code/model/tests/test_gitlookup.py (+6/-0)
lib/lp/code/xmlrpc/codehosting.py (+2/-1)
lib/lp/code/xmlrpc/git.py (+234/-0)
lib/lp/code/xmlrpc/tests/test_git.py (+584/-0)
lib/lp/systemhomes.py (+8/-1)
lib/lp/xmlrpc/application.py (+7/-1)
lib/lp/xmlrpc/configure.zcml (+18/-1)
lib/lp/xmlrpc/faults.py (+21/-1)
lib/lp/xmlrpc/interfaces.py (+3/-1)
setup.py (+1/-0)
- Colin Watson (community): Approve
-
Diff: 94 lines (+27/-9)5 files modifiedlib/lp/code/browser/tests/test_branch.py (+1/-1)
lib/lp/code/interfaces/gitlookup.py (+2/-2)
lib/lp/code/model/gitlookup.py (+7/-4)
lib/lp/code/model/tests/test_gitlookup.py (+14/-0)
lib/lp/registry/browser/person.py (+3/-2)
- Colin Watson (community): Approve
-
Diff: 80 lines (+15/-0)2 files modifiedlib/lp/code/browser/tests/test_gitrepository.py (+10/-0)
lib/lp/registry/browser/tests/test_person.py (+5/-0)
- William Grant (community): Approve (code)
-
Diff: 301 lines (+70/-68)10 files modifiedlib/lp/code/interfaces/gitrepository.py (+11/-1)
lib/lp/code/interfaces/hasgitrepositories.py (+0/-20)
lib/lp/code/model/gitrepository.py (+10/-2)
lib/lp/code/model/hasgitrepositories.py (+0/-28)
lib/lp/code/model/tests/test_gitrepository.py (+31/-0)
lib/lp/registry/model/distributionsourcepackage.py (+1/-2)
lib/lp/registry/model/person.py (+1/-2)
lib/lp/registry/model/product.py (+1/-2)
lib/lp/registry/tests/test_personmerge.py (+6/-2)
lib/lp/registry/tests/test_product.py (+9/-9)
- William Grant (community): Approve (code)
-
Diff: 795 lines (+388/-47)10 files modifiedlib/lp/app/browser/launchpad.py (+2/-0)
lib/lp/code/browser/configure.zcml (+5/-0)
lib/lp/code/configure.zcml (+2/-1)
lib/lp/code/interfaces/gitrepository.py (+133/-37)
lib/lp/code/interfaces/hasgitrepositories.py (+4/-0)
lib/lp/code/interfaces/webservice.py (+8/-0)
lib/lp/code/model/tests/test_gitrepository.py (+176/-8)
lib/lp/registry/interfaces/sharingservice.py (+18/-1)
lib/lp/registry/services/tests/test_sharingservice.py (+17/-0)
lib/lp/services/webservice/wadl-to-refhtml.xsl (+23/-0)
- William Grant (community): Approve (db)
- Launchpad code reviewers: Pending (db) requested
- Stuart Bishop: Pending (db) requested
-
Diff: 131 lines (+60/-6)4 files modifieddatabase/sampledata/current-dev.sql (+10/-3)
database/sampledata/current.sql (+10/-3)
database/schema/patch-2209-61-2.sql (+37/-0)
database/schema/security.cfg (+3/-0)
- Stuart Bishop: Pending (db) requested
- Launchpad code reviewers: Pending (db) requested
-
Diff: 153 lines (+77/-6)5 files modifieddatabase/sampledata/current-dev.sql (+10/-3)
database/sampledata/current.sql (+10/-3)
database/schema/patch-2209-61-2.sql (+38/-0)
database/schema/patch-2209-62-1.sql (+16/-0)
database/schema/security.cfg (+3/-0)
- William Grant (community): Approve (code)
-
Diff: 1526 lines (+1080/-11)25 files modifiedlib/lp/code/configure.zcml (+22/-0)
lib/lp/code/enums.py (+33/-1)
lib/lp/code/errors.py (+5/-0)
lib/lp/code/githosting.py (+23/-3)
lib/lp/code/interfaces/gitapi.py (+11/-0)
lib/lp/code/interfaces/gitjob.py (+53/-0)
lib/lp/code/interfaces/gitlookup.py (+6/-0)
lib/lp/code/interfaces/gitref.py (+43/-0)
lib/lp/code/interfaces/gitrepository.py (+35/-0)
lib/lp/code/model/gitjob.py (+197/-0)
lib/lp/code/model/gitlookup.py (+10/-0)
lib/lp/code/model/gitref.py (+37/-0)
lib/lp/code/model/gitrepository.py (+154/-1)
lib/lp/code/model/tests/test_gitjob.py (+126/-0)
lib/lp/code/model/tests/test_gitlookup.py (+20/-0)
lib/lp/code/model/tests/test_gitrepository.py (+172/-0)
lib/lp/code/xmlrpc/git.py (+10/-0)
lib/lp/code/xmlrpc/tests/test_git.py (+17/-0)
lib/lp/scripts/garbo.py (+19/-1)
lib/lp/scripts/tests/test_garbo.py (+48/-1)
lib/lp/security.py (+10/-0)
lib/lp/services/config/schema-lazr.conf (+4/-0)
lib/lp/services/database/locking.py (+6/-1)
lib/lp/services/database/stormexpr.py (+4/-3)
lib/lp/testing/factory.py (+15/-0)
- William Grant (community): Approve (code)
-
Diff: 112 lines (+24/-5)5 files modifiedlib/lp/code/interfaces/gitrepository.py (+4/-0)
lib/lp/code/model/gitnamespace.py (+2/-2)
lib/lp/code/model/gitrepository.py (+6/-3)
lib/lp/code/model/tests/test_gitrepository.py (+8/-0)
lib/lp/code/templates/gitrepository-index.pt (+4/-0)
- William Grant (community): Approve (code)
-
Diff: 342 lines (+181/-3)12 files modifiedlib/lp/app/browser/configure.zcml (+8/-1)
lib/lp/app/browser/tales.py (+10/-1)
lib/lp/app/doc/tales.txt (+15/-0)
lib/lp/code/browser/configure.zcml (+18/-0)
lib/lp/code/browser/gitref.py (+19/-0)
lib/lp/code/browser/gitrepository.py (+22/-0)
lib/lp/code/browser/tests/test_gitrepository.py (+21/-0)
lib/lp/code/interfaces/gitref.py (+4/-0)
lib/lp/code/model/gitref.py (+4/-0)
lib/lp/code/model/tests/test_gitref.py (+24/-0)
lib/lp/code/templates/gitref-index.pt (+34/-0)
lib/lp/registry/browser/person.py (+2/-1)
- William Grant (community): Approve (code)
-
Diff: 670 lines (+382/-38)10 files modifiedlib/lp/code/errors.py (+3/-3)
lib/lp/code/githosting.py (+32/-5)
lib/lp/code/interfaces/gitref.py (+20/-0)
lib/lp/code/interfaces/gitrepository.py (+28/-4)
lib/lp/code/interfaces/revision.py (+1/-0)
lib/lp/code/model/gitjob.py (+7/-2)
lib/lp/code/model/gitref.py (+14/-0)
lib/lp/code/model/gitrepository.py (+81/-5)
lib/lp/code/model/tests/test_gitjob.py (+38/-3)
lib/lp/code/model/tests/test_gitrepository.py (+158/-16)
- William Grant (community): Approve (code)
-
Diff: 572 lines (+307/-24)16 files modifiedlib/lp/code/browser/configure.zcml (+19/-4)
lib/lp/code/browser/gitref.py (+9/-0)
lib/lp/code/browser/gitrepository.py (+28/-0)
lib/lp/code/browser/tests/test_gitrepository.py (+45/-1)
lib/lp/code/interfaces/gitref.py (+10/-0)
lib/lp/code/interfaces/gitrepository.py (+2/-0)
lib/lp/code/model/gitref.py (+4/-0)
lib/lp/code/model/gitrepository.py (+12/-9)
lib/lp/code/model/tests/test_gitjob.py (+1/-1)
lib/lp/code/model/tests/test_gitrepository.py (+1/-1)
lib/lp/code/templates/gitref-commits.pt (+27/-0)
lib/lp/code/templates/gitref-index.pt (+12/-0)
lib/lp/code/templates/gitref-listing.pt (+83/-0)
lib/lp/code/templates/gitref-macros.pt (+44/-0)
lib/lp/code/templates/gitrepository-index.pt (+8/-0)
lib/lp/services/doc/sprites.txt (+2/-8)
- William Grant (community): Approve (code)
-
Diff: 251 lines (+65/-35)6 files modifiedlib/lp/code/interfaces/gitlookup.py (+4/-1)
lib/lp/code/model/gitlookup.py (+17/-12)
lib/lp/code/model/gitrepository.py (+2/-2)
lib/lp/code/model/tests/test_gitlookup.py (+23/-11)
lib/lp/code/xmlrpc/git.py (+6/-2)
lib/lp/code/xmlrpc/tests/test_git.py (+13/-7)
- Colin Watson (community): Approve
-
Diff: 141 lines (+39/-14)4 files modifiedlib/lp/code/interfaces/gitlookup.py (+2/-1)
lib/lp/code/model/gitlookup.py (+21/-9)
lib/lp/code/model/tests/test_gitlookup.py (+11/-2)
lib/lp/registry/browser/person.py (+5/-2)
Changed in launchpad: | |
status: | New → Triaged |
importance: | Undecided → Low |
tags: | added: branches git lp-code |
Changed in launchpad: | |
assignee: | nobody → Colin Watson (cjwatson) |
tags: |
added: qa-ok removed: qa-needstesting |
tags: |
added: qa-ok removed: qa-needstesting |
tags: |
added: qa-ok removed: qa-needstesting |
tags: |
added: qa-ok removed: qa-needstesting |
tags: |
added: qa-ok removed: qa-needstesting |
tags: |
added: qa-ok removed: qa-needstesting |
tags: |
added: qa-ok removed: qa-needstesting |
tags: |
added: qa-ok removed: qa-needstesting |
tags: |
added: qa-ok removed: qa-needstesting |
tags: |
added: qa-ok removed: qa-needstesting |
tags: |
added: qa-ok removed: qa-needstesting |
tags: |
added: qa-ok removed: qa-needstesting |
Changed in launchpad: | |
status: | Fix Committed → In Progress |
tags: |
added: qa-ok removed: qa-needstesting |
tags: |
added: qa-ok removed: qa-needstesting |
tags: |
added: qa-ok removed: qa-needstesting |
tags: |
added: qa-ok removed: qa-needstesting |
This bug requests natively supporting git, so it's separate from bug #651844 which asks for bzr branches to be exposed as git repository.