Update configs if the config is in the branch and changes
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
PQM |
Fix Released
|
High
|
Unassigned | ||
Ubuntu One Servers |
Invalid
|
High
|
Tim Cole | ||
config-manager |
New
|
Undecided
|
Unassigned |
Bug Description
> Ubunet has two sourcedeps under very active development:
> > ubuntuone-client and ubuntuone-
> > make changes in both of those sourcedeps, and then update some tests in
> > the main ubunet branch and land the whole mess all at once. Currently
> > this is pretty fragile, and results in PQM being broken for some window
> > of time.
> >
> > I've been working on fixing this, as you know in rev 161 of
> > lp:config-manager you merged support for telling config-manager the
> > revision number of a branch that should be pulled into sourcedeps.
> >
> > The next step is to version control the config-manager.txt config file
> > that is used to load all the sourcedeps, and to make pqm use the version
> > of sourcedeps that are specified in the branch under test. This gives us
> > a bit of a chicken-and-egg problem, since before running tests, pqm uses
> > config-manager to get the main trunk branch (and currently all of the
> > sourcedeps) to merge into.
I think the most elegant thing would be to have PQM check out the branch
and then build the contained config; with the config not being self
referential.
This needs a [small] tweak to PQM.
Currently the logic is
if build-a-config:
read the config
build it
find the branch being targeted in the config
I think
if build-a-config:
try:
read the config
except (config not found, branch not in config):
branch the target
merge the source
read the config
build it ignoring the branch being targeted
would be all thats needed. That would preserve a branch at ., which is
what cm.py uses to update the root (which can contain the config). cm.py
may need a tweak to know to process the config twice if the config
changes when updating a containing branch.
So - two small bugs, I think.
-Rob
Related branches
- Tom Haddon: Pending requested
- Robert Collins: Pending requested
- Diff: None lines
- pqm developers: Pending requested
- Diff: None lines
Changed in ubunet: | |
milestone: | w15-karmic → w17-karmic-alpha4 |
Changed in ubunet: | |
milestone: | w17-karmic-alpha4 → w19-karmic-alpha5 |
summary: |
- make PQM handle a config stored inside trunk. + Update configs if the config is in the branch and changes |
Changed in pqm: | |
status: | New → Fix Committed |
status: | Fix Committed → Fix Released |
importance: | Undecided → High |
visibility: | private → public |
Changed in ubuntuone-servers: | |
milestone: | w19-karmic-alpha5 → w21-karmic-alpha6 |
tags: | added: ubuntuone-karmic |
Changed in ubuntuone-servers: | |
status: | Triaged → In Progress |
I've done a branch (versioned- sourcedeps) which splits out sourcedeps branch and revision information into a distinct configuration file.
Now to wire that file up with pqm/config-manager somehow, I guess.