/srv/irclogs.ubuntu.com/2010/11/23/#bzr.txt

pooliehi mwhudson01:48
pooliei'm going to try to fix some outstanding lp branches today01:48
poolietyping very slowly :)01:48
pooliehi vila ?06:28
pooliedid you implicitly fix bug 307316, or is that a dupe of something you know about?06:28
ubot5Launchpad bug 307316 in Bazaar "Contents conflicts in checkouts end up in .OTHER being added to the repository (affected: 1, heat: 6)" [Medium,Confirmed] https://launchpad.net/bugs/30731606:28
vilapoolie: almost there (~20min), I wasn't subscribed to this one, probably fixed, will check06:52
vilahi all !07:23
fullermdOh, it must be time for me to leave...07:24
=== stewart_ is now known as stewart
vilapeitschie: so, bug #307316 has not been fixed. I don't have plans to fix it either :-/ There are two main issues here, one is the names switching between THIS and OTHER (but that's just a reflexion on what happens underneath), the other is renaming into .OTHER a versioned file07:38
ubot5Launchpad bug 307316 in Bazaar "Contents conflicts in checkouts end up in .OTHER being added to the repository (affected: 1, heat: 8)" [Medium,Confirmed] https://launchpad.net/bugs/30731607:38
vilameh07:38
vilasorry peitschie, that was for poolie  :-/07:38
vilafullermd: no comment !07:38
vila:)07:38
fullermdHey!  That was a comment!07:38
vilafirst typo of the day...07:38
vilabah, I wanted to type tyop.... if I can't even make typos on demand now...07:39
spiv«C'est ne pas une comment»  ;)07:40
vilahehe, un commentaire :) Literally 'comment' in French means 'how' :)07:41
spivvila: merci :)07:41
vilade rien :)07:42
peitschievila: I was scratchin my head for a little there lol :)07:46
poolievila, hi07:56
=== stewart_ is now known as stewart
mkanatIt seems to me like loggerhead has a lot of stuff that really ought to be in bzrlib.10:35
mkanatpoolie: I think that at some point, a worthwhile project would be to de-duplicate loggerhead and bzrlib code.10:36
mkanatA lot of what loggerhead's backend code does is create wrappers around bzrlib objects with caches on them.10:37
mkanatA lot of that is probably historical, from when bzr was much slower than it is now, and I'd bet that bzr even has these caches itself in some cases, now.10:37
mkanatSo we're probably duplicating bzr's existing memory usage.10:37
mkanatAnd making it thread-safe.10:38
spivmkanat: +110:38
mkanat:-)10:38
PengOn horrible old repo formats, bzrlib probably isn't as fast or cachy.10:39
mkanatYeah, true, but in that case, we'd just say "loggerhead will be painfully slow until you upgrade your repo".10:40
PengYup.10:40
mkanatIt would be way better than, "loggerhead will always consume huge amounts of RAM and probably break". :-)10:40
PengDefinitely.10:40
mkanatI'd love to eliminate as much as possible of the History object from loggerhead.10:41
mkanatLike, is it still slow to call repository.get_inventory(revid) over and over on the same revid?10:43
mkanatHmm, I suppose it still is.10:46
mkanatAnd we're getting a whole inventory just to get a single file's id, or something.10:49
mkanatIs this really the fastest and best way to get a file's text? http://pastie.org/131971810:50
mkanatAnd name.10:50
Penghaha, os.path!10:51
Peng...Actually, that probably makes sense...10:52
mkanatAlthough actually, I think we don't even need the file name.10:52
mkanatWe just pass it to highlight(), and I don't see what highlight does with it, if anything.10:52
Pengmkanat: Type detection based on teh file extension.10:53
mkanatOhhh.10:53
PengPesumably.10:53
PengPresumably*10:53
mkanatRight, that makes sense.10:53
PengNot sure how necessary it is, though, since it analyzes the content too. But I think being able to use the file extension is supposed to make it more efficient or something.10:54
mkanatOkay.10:54
* Peng shrugs10:54
* Peng doesn't really know how Pygments works10:54
mkanatIs that really the best way to get the text, though? iter a whole inventory just so that I can get a revision tree, and then get the text from the revision tree?10:54
* Peng is happy that way.10:54
mkanatHahahaha.10:54
PengNoo idea!10:54
* mkanat looks at bzrlib.repository some more.10:55
spivmkanat: Repository.iter_files_bytes is probably a slightly better way to get the contents of a file11:14
mkanatspiv: Okay, that's the impression I was getting from the bzrlib docs.11:14
spivmkanat: and the best way to get a file name is probably inv[file_id].name11:15
mkanatspiv: Okay. So I do need a whole inventory for that?11:15
spivmkanat: where inv is retrieved via Repository.get_inventory or iter_inventories11:15
spivmkanat: well, in 2a that won't need to read in the whole inventory11:16
mkanatAll right. We have stuff that does that already.11:16
mkanatWhich should probably be in bzrlib--get_path(revid, file_id)11:16
spiv2a fixes a lot of problems we used to have where you couldn't avoid reading the entire inventory11:17
hrwmorning11:17
spivSo if loggerhead is caching stuff to work around that sort of problem, I'd definitely try removing the cache and seeing how it goes.11:17
mkanatspiv: Okay.11:18
spivmkanat: note that inv[file_id].name is not the full path of the file in the tree11:18
mkanatspiv: Okay. Just its name? That's actually all I want.11:18
spivmkanat: just the file's name in its directory11:18
mkanatGreat.11:19
spivGetting the full path is more complex (and so more expensive)11:19
spiv(I mean, more complex for bzrlib to do, I know there's an equally simple API for it somewhere)11:19
* mkanat nods.11:19
spivSo if loggerhead is calculating the full path... then it's wasting effort.11:20
mkanatYeah. It was doing it because it already had an inventory cache.11:20
spivI'd definitely be interested to hear how loggerhead goes if you rip that cache out.11:22
hrwI have a problem. I have one branch up to r128 and second which is r129-136. during merge it gives me text conflicts. so I decided to check which rev has a problem. "bzr merge -r129 ../merge-1.53" told me that there are text conflicts on debian/control and debian/changelog - but r129 changes only debian/rules ;(11:22
mkanatspiv: Okay. :-) It's not much work, I suppose I could try it. I just have to learn and locate the proper bzrlib methods.11:22
mkanatspiv: BTW, iter_file_bytes is not documented in Repository?11:22
spivmkanat: iter_files_bytes11:23
hrwfirst branch is lp:ubuntu/armel-cross-toolchain-base and second is lp:~hrw/ubuntu/natty/armel-cross-toolchain-base/1.53-rebased/11:23
mkanatAhh, thanks. :-)11:23
hrwcan someone take a look at tell me what is wrong?11:23
mkanatspiv: Also, we're doing this: http://pastie.org/131978011:25
mkanatspiv: Is that really necessary, or is there some self-decoding text retriever?11:25
spivmkanat: bzr stores files as a sequence of bytes, and doesn't know what encoding they are in :(11:26
mkanatspiv: Okay. So I'm guessing the internal "annotate" does something like this as well?11:27
spivmkanat: so if you want to display them as text you basically just have to guess the encoding :(11:27
* mkanat goes to read bzr cat.11:27
spivmkanat: the internal annotate probably just relies on \n always being the line delimiter, and then hoping that the terminal encoding matches the file encoding.11:28
spivmkanat: I'm not sure.11:28
* mkanat nods.11:28
spivhrw: compare the two branches with e.g. 'bzr qlog branch1 branch2'11:29
hrwok11:29
spivhrw: you'll see that actually 1.53-rebased appears to have branched off revision 2 of the other one11:29
mkanatspiv: Okay, yeah, annotate has in it to deal with encoding, too.11:29
mkanat*has code11:30
spivhrw: i.e. only the first two revisions are common, and the rest need to be merged.11:30
spivhrw: it appears these two branches are what we call "parallel imports"11:32
hrwspiv: they are11:33
hrwspiv: I use git-bzr-ng to import bzr into git, do all work and then 'bzr git-import' + 'bzr push'11:33
Peng@_@11:34
spivhrw: unfortunately it's late here so I'm off to bed.  Hopefully someone else can help you out from here.11:34
Pengspiv: Good night. :)11:34
hrwspiv: sweet dreams then11:35
hrwlooks like I need to find out how to emulate "git am" in bzr11:36
jelmerhrw: There is "bzr git-apply"11:36
jelmerhrw: It's part of the bzr-git plugin.11:36
hrwjelmer: cool11:36
hrwlovely11:37
hrwjelmer: thx a lot11:37
hrwAll changes applied successfully.11:39
hrwuf.11:39
jelmerhrw: np. Please report bugs if you find any; the parser seems to be a bit stricter than "git am" at the moment, and I've only tested it with a small number of files so far (~100)11:41
mkanatspiv: What's the standard way that I'm supposed to concatenate all of iter_files_bytes to get a single string?11:41
jelmerIt just uses "patch" under the hood at the moment, it should be possible to make it use bzr's merge code at some point.11:42
Kamping_Kaiseris someone aware of an up to date  comparison of metadata maintained by bzr vs that of git?11:42
hrwjelmer: for my use of bzr it is enough11:43
hrwbut other thing.. if I do "bzr branch lp:soemthing;cd soemthing;bzr merge lp:other" then 'bzr log' does not shows merged tree even with --include-merges option. why? I have to commit merges?11:45
jelmerKamping_Kaiser: bzr has file ids (rename tracking), revision ids, revision properties, ghost parent revisions, git has submodules11:46
jelmerhrw: yes, merge does not imply a commit11:46
hrwok11:46
hrwnow it is time to recreate another branches ;(11:48
Kamping_Kaiserjelmer: ok. i'll investigate submodiles to find out what they do. thanks11:49
hrwKamping_Kaiser: submodules are similar to svn:externals11:49
jelmerKamping_Kaiser: they're like nested trees11:49
jelmerKamping_Kaiser: what's the background of the question?11:49
Kamping_Kaiserjelmer: ultimately i'm wondering if there is data loss transfering between bzr and git11:50
jelmerKamping_Kaiser: git -> bzr is lossless, except where submodules are involved, the other way around is lossful.11:52
Kamping_Kaiserjelmer: ok. and the things that get lost are the bits you mentioned above?11:53
jelmerKamping_Kaiser: yep11:54
Kamping_Kaiserjelmer: i'm suppried there is no rename tracking in git. the other parts i don't understand well enough to hae an opinion on11:56
jelmerKamping_Kaiser: git infers renames on the fly11:56
Kamping_Kaiserah11:56
jelmerin other words, renames in git are a representation issue11:56
Kamping_Kaiserright.11:58
hrwjelmer: bzr->git is lossful? what do you lose?11:58
jelmerhrw: see above11:58
hrwahmm renames11:59
mkanatKamping_Kaiser: Part of the basic philosophy of git is that it's not tracking files, just content and a bunch of changes to that content.11:59
mkanatKamping_Kaiser: So the fact that files have names is pretty much a strange, incidental fact. :-)11:59
jelmerKamping_Kaiser: ah, there's another one. directories are implicit too, so empty directories (or directories with empty directories) are lost.12:01
Kamping_Kaisermkanat: hm, i seem to recall hearing that before. hopefully it stays in my brain this time12:02
Kamping_Kaiserjelmer: hm, ok12:02
hrwjelmer: thanks a lot for "bzr git-apply" - you made my live (as git user) much much easier12:03
hrwnow if there is a command to request merge review...12:04
jelmerhrw: glad to hear it's useful. I use it to apply patches from git-using contributors on a project that's maintained in parallel in bzr and git.12:05
jelmerhrw: I think there's "bzr lp-propose"12:05
hrwfound - lp-propose-merge12:05
mkanatspiv: I'll have to get you the info on the difference with and without cache on a later day. But I will let you know if I remember, when I'm done switching things around.12:06
awilkinsAnyone have a hand in the Bazaar plugin for Hudson?12:18
=== seiflotfy_ is now known as seiflotfy
ambvhey there13:54
ambvdoes anyone happen to be involved in configglue development?13:54
hrwhave a nice rest of day13:55
jelmerambv: no, what is configglue?13:56
ambvit's a Canonical project that blends ConfigParser with optparse, adding validation and a consistent API.13:57
jelmerambv: perhaps ask in the ubuntu one channel, it seems to've come out of ubuntu one.13:58
ambvjelmer: believe it or not, there's #configglue13:59
ambvhaha14:00
ambvthanks anyway :)14:00
=== beuno is now known as beuno-lunch
=== Leonidas_ is now known as Leonidas
=== deryck is now known as deryck[lunch]
=== rockstar` is now known as rockstar
=== Vorpal_ is now known as Vorpal
=== oubiwann is now known as oubiwann-away
=== beuno-lunch is now known as beuno
=== deryck[lunch] is now known as deryck
=== oubiwann-away is now known as oubiwann
=== maxb_ is now known as maxb
pooliehi all20:32
=== glyph_ is now known as glyph
jamhi poolie, how's it going?21:11
* jelmer waves to poolie, jam21:17
pooliejam, hi21:18
poolieand jelmer21:18
spivGood morning.21:28
pooliehi there spiv21:35
chxHi. Is there a plugin or something I could deploy that would automatically to try bzr up in case a commit fails on a bound branch ? too often i run a commit , turn to something else because it takes a while to commit over the network and forget that it failed jsut because someone else changed something else at a totally different place22:28
pooliechx, i don't think so, but it should be fairly easy to add22:37
chxpoolie: what should i rtfm?22:37
chxmaybe it can be even a shell script? something with return values. maybe. a pluginwould be better.22:38
pooliehow about just a shell script or alias that does 'bzr update && bzr commit "$@"'22:41
chxhrm, probably.22:47

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