/srv/irclogs.ubuntu.com/2006/07/28/#launchpad-meeting.txt

=== mpool [n=mbp@ozlabs.tip.net.au] has left #launchpad-meeting []
=== ddaa [n=ddaa@82.109.136.116] has joined #launchpad-meeting
=== SteveA [n=steve@82.109.136.116] has joined #launchpad-meeting
=== ddaa [n=ddaa@82.109.136.116] has joined #launchpad-meeting
jelmerhi again :-)04:59
jelmerso, I just had a discussion with j-a-meinel04:59
jelmerhe came up with something so obvious I hadn't thought about it yet05:00
jelmerddaa: which is simply doing the upgrade by hand, when necessary05:00
=== jamesh [n=james@82.109.136.116] has joined #launchpad-meeting
ddaaokay, then what happens when you do the upgrade?05:01
jelmerthen it breaks05:01
ddaathat does not look like a useful upgrade mechanism...05:01
jelmerthere is no need to do the upgrade to v2 though, when v1 is working fine05:02
jelmerso you just keep at v105:02
ddaaI think that still does not address my concern that an import using an old version, followed by an upgrade, and the same import using a new version of the plugin (w/o upgrade) may produce incompatible imports.05:03
jameshwhat happens when someone else switches to v2 (e.g. you) and does a merge to SVN that we later scan?05:03
jameshwe'd need to version the properties used to record merges in that direction too05:03
jelmerthe more complicated, but more complete solution, would be to use revision id aliases05:05
jelmerand, when you upgrade, set 'svn-v1:2@uuid-branch_path' to be equal to 'svn-v2:2@uuid-branch_path2' if it isn't affected by the bugfix05:05
=== ddaa thinks he's missing something obvious about this upgrade thing
ddaajelmer: the revision id alias thing might be interesting, but until we have a working definition of how that should work, it's just handwaving.05:07
ddaajelmer: so, say you have an branch that was imported from svn using svn-1.05:08
jelmerright05:08
ddaaa few people are working on branches derived from that one05:09
ddaaone of those people decides that he wants the benefit of svn-205:09
ddaahe does "bzr svn upgrade" or something, and then what happens?05:10
jelmerddaa:he ends up with a tree filled with svn-v2 revisions05:11
jelmerand can no longer exchange revisions with the others05:11
ddaajelmer: that means that bzr upgrade is only possible when the tip of the branch is a svn-1 revision, right?05:12
jelmeryes05:12
ddaaokay, there's a specific reason why I avoided this suggestion before05:13
ddaait means that we need provide an explicit upgrade knob in launchpad for svn imports05:13
ddaaand then give a list of every available svn import version for people to choose from05:13
jelmerYes, that's correct. But there's not really a sane way around that without revision id aliases.05:14
jelmerand those are probably not going to be around soon05:15
jelmerddaa: would it be problematic to have to require such an option?05:15
jelmerddaa: Another thing you could do is simply provide one branch per mapping version05:15
ddaait would make things much more complicated that they sould have to be, both the developer and for users.05:16
jelmerddaa: or we could just stick with v1 until revision id aliases land. Other then bugfixes, what changes are waiting other than ignore lists, renames and externals ?05:18
ddaaand then you have data volume explosion issues when one user upgrades then merges back into svn05:18
ddaaBUGFIXES!!!05:18
ddaabugfixes change the way a svn is converted to bzr, that needs to change the revision id to preserve referential integrity05:18
ddaathat it also true of temporary regressions in the conversion code05:19
ddaaif the bzr.dev folks say they are happy with violating referential integrity, I'll change my stance here, but right now it's a sacred cow.05:20
jelmerddaa: What kind of bugs?05:20
ddaajelmer: precisely that kind of bug05:21
ddaathe one you do not expect05:21
ddaaprogrammers make mistakes05:21
ddaawith arch imports, the deterministic id thing was a bit shaky05:21
jameshany bug that would change how a revision is represented05:21
ddaabut it's already, because arch->bzr transition was essentially one off05:22
ddaas/already/alright/05:22
ddaaand because the conversion was very trivial05:22
ddaafor svn, we have an ongoing, widely distributed, conversion process, integrity is much more critical05:23
ddaait is also likely to get a lot more use05:23
jelmersure, but what happens when you find a bug?05:23
jelmercan't you just upgrade only the branches affected by it?05:24
ddaathat's precisely the issue I do not have a satisfying solution for yet05:24
ddaajelmer: and how do you know, when doing an import the first time, which format you should use?05:24
jelmerddaa: if you do the import for the first time, always use the latest mapping since there are no users with upgrade issues05:25
ddaaby default, you would probably choose the latest, but that's wrong if other people are already using svn-1, that's wrong05:25
jelmerddaa: how can people be using svn-v1 in that case?05:25
ddaabecause they started using it before there was a svn-v205:27
ddaaand they did not need/want to upgrade05:27
ddaathis "explicit upgrade and breaks interop inconditionally" is going to be a usability problem05:28
jelmerddaa: how can they start using the importd branch when there was no import yet?05:28
jelmerddaa: don't you do the same thing in launchpad at the moment? What do you do if you find a bug in the mapping?05:30
ddaaFix the bug.05:30
ddaain theory, at least05:30
ddaait does not matter since the revision ids are arbitrary05:30
jelmerbut what happens to existing revisions that are touched by the bug?05:30
jelmerso you just keep old revisions with the bug?05:30
ddaayes05:30
ddaaunder the theory that old history quickly loses value05:31
=== SteveA [n=steve@82.109.136.116] has joined #launchpad-meeting
jelmerhow about adding a "fake upgrade revision" ?05:33
jelmerso when you upgrade to v2, you fake a merge from a full v2 branch?05:33
jelmerhmm.. that causes a lot of history around, I guess05:37
jelmerunless you add the v2 revision as a ghost, I guess...05:42
jelmeryeah, that might actually work..05:44
jelmerddaa: still there?05:44
ddaapartly05:44
ddaaI'm on a crunch to get native bzr imports up like right now05:45
ddaaIdeally, I think we would need to sit around some beer with some bzr.dev guy05:45
ddaaI feel like we are not getting through to one another05:46
jelmerI'm all for beer, but I think I'm onto something now...05:46
ddaalet's talk about that monday05:47
jelmersure05:47
jelmerI'll just check it for obvious issues I've missed with John05:48

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!