/srv/irclogs.ubuntu.com/2007/11/05/#bzr.txt

=== AnMaster_ is now known as AnMaster
sverrejI get this error when trying to checkout a svn branch with bzr branch svn+http://foo/trunk  :11:18
sverrejbzr: ERROR: bzrlib.errors.KnitCorrupt: Knit <bzrlib.knit._KnitAccess object at 0x8a639ac> corrupt: incorrect number of lines 73 != 59 for version {svn-v3-trunk1:f4d88352-fc0f-0410-91c6-821c4d51a43f:my.opera.com%2Ftrunk:329}11:19
AfCsverrej: as ever in Open Source land, it would help your cause if you would tell people what version of Bazaar you were using, what OS distro, etc.11:19
sverrejI read about someone having the same problem, where the solution was to do incremental pulls, because bzr-svn uses too much memory, but that did't help.11:20
sverrejAfC: Sure :)11:20
sverrejUbuntu Gutsy, Bazaar 0.92.0.candidate.1 and bzr-svn-0.4.411:21
sverrejShould be latest version11:21
sverrejI have a backtrace too. I'll post it somewhere11:22
sverrejhttp://pastebin.com/m51c4dba311:24
=== bigdo1 is now known as bigdog_
lifelessmoin13:32
mwhmorning lifeless13:44
sverrejgood morning13:48
lifelessbbiab13:57
zerokhi :-) short question: when you push a changeset to a remote repository, is there some hook that could be exploited for example for automatically updating the working tree there?14:01
beunozerok, there is a plugin calles "push-and-update", that might be what you're looking for14:19
beunoit runs locally, and updates via SSH, so make sure you have SSH access14:19
beunoI'm not sure you can add a hook on the server side without having smart server running as the "push" command is done entirely locally, but the push-and-update plugin works fine if you have ssh access14:20
zerokbeuno, thanks :-)14:20
beunozerok, :D14:20
pborcan I use bzr-svn to do a smarter merge of two svn branches?14:46
pborlemme explain... I have a svn repo with a branch "foo" and trunk that have diverged a bit14:47
pbornow I want to merge foo into trunk14:47
pborand I was wondering if using bzr-svn could help14:47
jelmerpbor: Yeah, it should at least be smarter than "svn merge"14:48
pborjelmer: but if I use bzr to checkout svn/branch/foo and svn/trunk, is bzr smart enough to understand they are branches of the same repo?14:49
jelmerpbor: Yes, it will recognize if they have common ancestry14:50
pborjelmer: cool... I guess my best bet is get bzr latest and bzr-svn latest, right?14:53
jelmeryep14:53
jdongdoes Launchpad currently support dirstate-tags format branches?16:04
PengCan you try it and see?16:04
jdongwell I tried running a bzr upgrade over sftp:// and it sat there spinning for 15 minutes16:05
jdongon a fairly small sized repository16:05
jdongI figured someone here might directly know, without me risking creating junk on LP16:05
lifelessjdong: yes it does16:09
lifelessjdong: generally launchpad supports anything supported by the release-1 of bzr16:10
jdonglifeless: fantastic; how do I convert an existing branch to dirstate-tags?16:11
jdongwas I just impatien with bzr upgrade?16:12
=== Ng_ is now known as Ng
lifelessjdong: yes, I think so :)16:57
lifelessjdong: it takes a backup for safety16:57
MishaShi. can somebody recommend a doc about bzr merging? :)18:40
beunoMishaS, maybe this?  http://doc.bazaar-vcs.org/bzr.0.92rc/en/user-guide/conflicts.html18:44
* MishaS is checking the suggested doc18:48
MishaSbeuno, thanks, but it seems to address only part of my misunderstanding :)18:49
beunoMishaS, what are you looking for specifically?18:50
MishaSbeuno, let's have i have 'trunk'18:54
MishaSbeuno, and a lot of people (at least somebody beside me :)) is working on that18:55
MishaSbeuno, now i started to work on a new feature: bzr branch trunk new-feature18:55
MishaSbeuno, i did some changes to the branch and would like to catch up with trunk changes: bzr merge; <resolve conflicts if any>; bzr ci -m 'merged with upstream'18:56
MishaSbeuno, now, for one week i do not touch my branch as other things were happening18:56
MishaSbeuno, in one week i decided to catch up with changes again and my natural reaction is/was: bzr pull18:57
=== mw is now known as mw|food
=== mw|food is now known as mw|lunch
MishaSbeuno, how it does not work.  i need to again 'bzr merge' and then 'bzr ci'18:57
beunoMishaS, that's correct18:57
MishaSbeuno, so i'm looking for a document that would clarify why it must be done like this :)18:58
beunoMishaS, you can also use the SVN-like model, and use checkouts18:58
MishaSbeuno, sorry, i don't exactly follow :)18:59
beunoMishaS, http://bazaar-vcs.org/FAQ#head-73f0b8ea8515a0087ce8705fbaafc55c80a0a30e18:59
datobeuno: uuh, that wouldn't quite work, since he's working in a separate branch?18:59
beunothat might help18:59
beunodato, right, he'd have to do bzr update on a frequent basis18:59
MishaSbeuno, without having my changes committed?19:00
beunoMishaS, what about that workflow don't you understand?  If the parent branch has changes, you have to merge them into yours19:00
beunoMishaS, you have to have your changes commited so conflicts can be resolved19:01
MishaSbeuno, yes, but i did it once and then nothing was changed, why should i resolve non existing conflicts again?19:01
beunoMishaS, you don't have to resolve conflicts if there aren't any19:01
beunoif the merge was clean, you just have to commit the changes to your repository19:02
beunoor work on them, and then commit19:02
beunoconflicts are only for when bzr can't guess how to merge the changes19:02
beunoso you have to interveen19:02
MishaSbeuno, i kinda _feel_ inconsistency...19:02
MishaSbeuno, and cannot really explain it... :(19:03
beunoMishaS, that it's a bit hard for me to help  :D19:03
beunohave you used other VCS before?19:03
MishaSbeuno, probably the behaviour i expect is that after that merge new changes would be just on top of the last merge without additional effort19:03
beunoor rather, how would you want the workflow to work?19:03
beunoMishaS, ah, I understand19:04
MishaSbeuno, i have :)  and it was never like this :))  i just hope that bzr is closer to what i aniticipate... :)19:04
* MishaS used cvs, visual source safe, p4, and now is jumping between svn/git/hg/bzr :)19:05
MishaS(p4 was not for too long though)19:05
beunoMishaS, have you taken a look at: http://bazaar-vcs.org/Workflows19:05
beunoI'm not sure why merge can't just bring the commits into the revision history, one of the devs can probably answer that better then me19:06
MishaSbeuno, yes, it was quite some ago though....19:06
MishaSi would say that _some_ merges cannot be brought directly, but if they can, why not?19:07
MishaSand probably something like rebase would be more appriate for me..19:08
* beuno looks ar abentley, fullermd and jam-laptop for input19:09
datorebase *may* be what you want, *but* it doesn't fit the recommended bzr workflow19:10
MishaS(appropriate)19:10
MishaSdato: what do you mean "does not fit"? i believe if a feature is developed using 'rebase' than when it's merged to trunk it looks clean and nice, no?19:11
lifeless~.19:11
hstuartMishaS, I think one of the ideas is to allow you to merge another developers changes without having to commit them to your branch, for looking at experimental features or what have you - at least that makes sense to me19:11
* MishaS is now complete lost :)19:12
datoMishaS: well, in eg. git you can do many things with rebase, like merging commits into only one, and in general making them "nice"19:12
lifelessMishaS: rebase sacrifices collaboration for prettiness19:12
fullermdHm?  What?  Who called?  The goldfish were in the blender when I got there, I swear.19:12
datoMishaS: in bzrland, though, people have normally nothing against merging branches with many small commits, including those "merge upstream" ones19:13
beunoand I also heheh19:13
MishaSok. now, i think, i get it: bzr priorities are 'collaboration' and only then 'prettyness'.  that actually helps to understand the things. really.19:14
* fullermd doesn't quite understand the question...19:15
datofullermd: "why do merges which generate no conflicts require a commit"19:15
lifelessMishaS: there is a rebase plugin for bzr.19:15
datofullermd: more or less19:15
fullermdMmm.  Well, in this case, merging trunk into your branch, you wouldn't want rebase; that would cause big honkin' ugliness when you merge back into trunk.19:16
fullermdRebase is more for merging your branch back onto trunk, erasing all your intermediate steps.19:16
MishaSlifeless, thank you19:17
* MishaS checks bzr web site for rebase plugin19:17
Peakerfullermd: don't you want to merge in your branch, and try to only push to trunk?19:17
Peakerwhen you say rebase you make me think ClearCase19:17
MishaSfullermd, rebase will make my changes quite separate from trunk19:17
fullermdWell, that's a workflow question; neither answer is "right" per se, it depends on what you're trying to accomplish.19:18
fullermdI don't go in for push to trunk flows, since that could change trunk's LHS.19:18
MishaSfullermd, if i really have to 'merge with upstream' only when there are conflicts it'd still look 'clean' in the changelog, otherwise they do seem to make the changelog a bit too overloaded19:18
PeakerI think its probably easier to test the coherency of your work in your own branch where you usually do the work, so merges happen there, and when you push to trunk you know you are making it identical to your copy19:19
Peakerfullermd: LHS?19:19
fullermdWell, even if there are no conflicts, there still has to be a new revision, because you're making a state that doesn't already exist.19:19
lifelessPeaker: left-hand-side history19:19
Peakerlifeless: what does it mean?19:19
fullermdSome of the other DVCSen automatically commit if there are no conflicts (mtn and git I know do; not sure about hg).19:20
lifelessa merge merges two revisions X and Y to give Z. Z:[X,Y]19:20
MishaSfullermd, i see.19:20
Peakerlifeless: with common ancestor B, yeah19:20
lifelessthe left hand history is what you get by following just X at every step19:20
fullermdbzr doesn't.  I like that better; it means you can supply a more meaningful commit message.  Also, just because there are no textual conflicts, doesn't mean there aren't any conceptual conflicts.19:20
lifelessZ.parent_ids[0] -> Z.parent_ids[0].parent_ids[0] etc19:20
fullermde.g., somebody renamed a function that your code calls.  Merge won't find any conflicts, since there aren't any textual clashes in your changes, but now you're trying to call a function that no longer exists.19:21
lifelessPeaker: a merge does not imply a common ancestor :)19:21
Peakerlifeless: how can a merge be without one? Revision 0 is always a common ancestor, isn't it?19:22
Peakerfullermd: so you want such a revision to be considered a merge?19:22
lifelesswell, null: is a theorietical common ancestor, but if you have partial history for two branches, then you may not reach null:, nor a common ancestor.19:22
lifelesswe'll still allow a merge commit to be recorded then, though doing the merge is harder :). But this what joining two existing imports or projects does.19:23
Peakerlifeless: then how can you make a meaningful merge? You have a working tree merge, but not a history merge?19:23
fullermdPeaker: Not sure what you mean by 'considered a merge'...19:23
Peakerfullermd: that problem can happen when you merge into trunk, too, can't it?19:23
Peakerfullermd: I mean, why is it a factor against pushing into trunk?19:24
Peakerfullermd: if you push into trunk, you know that if it worked for you in your own development branch, then it will work for trunk, push has the nice property that it will be identical, so you know what's going to be there.. when you merge into a far away branch, you have theoretically no idea what the result is going to be19:25
Peakerlifeless: is there any way to do the opposite, btw? Split the histories of your working tree into separate projects?19:26
lifelessbzr split19:26
Peakerlifeless: ahhh, that explains a few things :-) Now I know why svn plugin uses that format...19:26
Peaker(bzr help split explains a few things, that is)19:27
fullermdPeaker: But pushing into trunk will change the LHS history, which means changing the revnos and the output from log, and I don't want that.19:28
fullermdPeaker: My above statements weren't re: pushing into trunk; they were re: merge requiring a commit.19:28
Peakerfullermd: I see. I don't have enough experience watching revno's/logs to understand that problem you're mentioning, I guess19:29
fullermdThe 'rollup' action of log is really handy for those situations.  It means my merges into trunk can give a quick description of the changes, and most of the time that's all anybody needs to see.19:29
Peakerfullermd: I do know that when we worked with ClearCase (yikes) there was no pull/push, only merge, so you could endlessly merge from/to trunk and never be sure the trees are identical19:29
fullermdThen they don't need to schluff through the 50 commits it took me to get it right when they're just browsing the history, unless they really need to delve into the internals.19:30
Peakerfullermd: I see, I guess you could use an empty merge from trunk before pushing for that purpose19:30
Peakerfullermd: oh, wait, forget that :)19:31
Peakerfullermd: if you're trusting developers to keep trunk clean and not pqm, then merging into trunk is a little dangerous, isn't it?19:31
fullermdWell, discharging small arms is dangerous, but I still spent Saturday afternoon doing it   ;p19:32
Peakerare you into weapons? :)19:33
fullermdWell, that's how I keep cow-orkers from messing up trunk, see.19:33
Peakermost of us in Israel handle weapons at one time or another.. I was stupid enough when I was 18 to test the bullets endurance on its explosive thing, it is not easy to blow :)19:34
=== mw|lunch is now known as mw
=== mrevell_ is now known as mrevell
lifelessjam-laptop_:  bzr pqm-submit -m '(robertc) Implement WorkingTree4.update_basis_by_delta giving a 30% performance improvement for commit. (Robert Collins)'20:27
lifeless:)20:27
lifelesscommit speed++20:27
mwhudsonlifeless: it would be good to get bzr.dev landings announced in here by some bot20:30
beunothere is a plugin somewhere to have an IRC bot hook into commits20:31
lifelessbeuno: bzr.dev commits are done by pqm, on a firewalled machine.20:32
lifelessmwhudson: pity launchpad won't announce to IRC: )20:32
beunolifeless, maybe we can have a mirror of bzr.dev and have the bot on a different server?20:32
beunomight have a delay, but still might be usefull20:33
lifelessbeuno: well it is announce to the bazaar-commits list20:33
beunolifeless, that might work too, a bot parsing those emails20:34
PeakerI don't understand how launchpad can be usable until it has shared repo's... it really is insane to upload entire repo/history for every branch20:34
beunoand would speed up a bit20:34
lifelessPeaker: we're looking at addressing the upload overhead there; shared repos are just one way to handle that.20:34
Peakerlifeless: what other ways are there?20:35
lifelessstacked pack repositories looks quite promising and may scale better for a multiuser site like launchpad20:37
mwhudsonlifeless: we don't need no new features, mate20:38
lifelessmwhudson: a feature a month keeps the doctor away20:40
mwhudsonlifeless: the problem here is the word "a" :)20:40
Peakerlifeless: what are stacked pack repos, compared to ordinary repos?20:41
fullermdRepos with more feminine allure?20:42
lifelessPeaker: a way of combining data from separate repositories20:43
fullermdbzr unionfs.20:44
=== cfbolz_ is now known as cfbolz
Peakerlifeless: when I upload a branch to launchpad, I'd somehow have to tell it that it shares/combines data from another repo if I am to avoid uploading history? would it require explicit data from the user?20:45
lifelessPeaker: magic 8-ball says future hazy, ask again later20:48
Peaker:)20:50
lifelessjam-laptop: it landed :)21:14
datois somebody tracking what's pending to merge for 0.92, and should I send a patch that splits  NEWS in the appropriate place, since 0.92 got branched off? (which leds me to ask: what of bzr.dev is 0.92 material, and how should it get merged, cherry-pick?)21:22
lifelessdato: it will get merged/cherrypicked yes; I'm not sure what commits are what to be honest :)21:22
lifelesspoolie will need to make that call as RM21:22
=== bigdo2 is now known as bigdog

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