[00:16] <lifeless> fuding
[00:19] <Pieter> *funding
[00:35] <lifeless> abentley: ping
[00:36] <lifeless> Pieter: it was a reference to a cartoon, wherein a dog has written 'Cat fud' on the door of a tumble dryer
[00:49] <jonoxer> Another noob question: how do I get a list of files changed in a commit? With svn it's something like "svnlook changed MyRepo -r 123"
[00:50] <lifeless> bzr st -c revno
[00:50] <lifeless> or bzr st -r x..y for arbitrary ranges
[00:50] <jonoxer> lifeless: perfect, thanks!
[00:53] <Pieter> how does bazaar show a diff with conflicts?
[00:53] <lifeless> Pieter: I don't know what you mean by that
[00:53] <Pieter> well, what does it look like?
[00:53] <Pieter> (can I get an example somewhere)
[00:54] <lifeless> do you mean 'if I run "bzr diff" when I have conflicts, what do I see?' ?
[00:54] <james_w> Pieter: you can only get them in your working tree, but it will just show the addition of the conflict markers and the "OTHER" block
[00:54] <Pieter> lifeless: yes
[00:54] <Pieter> james_w: ok, so no double +'s like git does?
[00:54] <lifeless> Pieter: bzr diff doesn't report on conflicts at all, so as james_w says you just see the herringbone markers
[00:55] <james_w> Pieter: you mean with diff --c etc?
[00:56] <Pieter> james_w: I guess.. git does it with --cc, which is a compacted version
[00:56] <Pieter> james_w: like in http://pastie.org/291669
[00:57] <Pieter> I was wondering if bazaar did the same thing with triple @'s
[00:57] <james_w> there's --c and --cc I think
[00:57] <james_w> it doesn't currently
[00:57] <james_w> I played with adding it once
[00:57] <Pieter> ok.. I want to use that to detect conflicting diffs in my app
[00:57] <lifeless> so, it marks the whole region, not just one side?
[00:58] <Pieter> So I thought I'd check other VCS's do that too
[00:58] <lifeless> james_w: file a bug please :P
[01:00] <james_w> Pieter already did: bug 250783
[01:01] <Pieter> Ah right, I thought bzr did the --c, but not the --cc
[01:02] <lifeless> we have the code internally to do it
[01:02] <lifeless> multiparent diffs
[01:02] <lifeless> but we don't have a UI
[01:03] <james_w> ah, didn't think of that, I was trying to do it around SequenceMatcher
[02:28] <akahn_> Does bazaar make it easy to collaborate with a co-worker on a lan the way git does?
[02:29] <arjenAU> akahn_: evenif they're 10k high and offline, yes
[02:30] <akahn_> i'm thinking bazaar might be easier for the two of us to manage our work (web development) and put it online
[02:30] <arjenAU> bzr rocks. and i'm not just saying that because it's the #bzr chan
[02:34] <lifeless> akahn_: yes; we have avahi integration, a built in server and other such things
[02:35] <akahn_> avahi?
[02:35] <lifeless> zeroconf
[02:35] <akahn_> not familiar with that
[02:35] <lifeless> its for completely adhoc networking
[02:35] <lifeless> no servers at all sort of thing
[02:36] <akahn_> i see
[02:36] <akahn_> ah, what apple calls bonjour
[02:40] <akahn_> thanks people
[03:07] <abentley> lifeless: pong
[03:07] <lifeless> abentley: I had a weird revert failure
[03:07] <lifeless> abentley: I suspect I did something to find a new corner case; so I filed a bug with the dirstate that caused it
[03:07] <abentley> lifeless: Okay.
[03:10] <abentley> lifeless: Is it possible reverting would have changed the root-id?
[03:10] <lifeless> abentley: non-rich-root trees *as far as I know*
[03:10] <lifeless> abentley: what I did was a parallel import of mysql, the pulled rev 1 of the import john did over that
[03:11] <lifeless> abentley: (which conflicted on everything, moving them 'to the root'). Then a 'bzr revert' and boom.
[03:12] <abentley> lifeless: I don't know whether that importer would create unique root-ids.  Can't say it wouldn't.
[03:12] <lifeless> abentley: indeed. I know the parallel import didn't.
[03:12] <lifeless> abentley: I can check one sec
[03:13] <poolie> lifeless: re your earlier question, if the previous job is still running the new one will just exit
[03:13] <lifeless> abentley: the mysql import has a unique root id, even though its not a rich roots repo:
[03:13] <lifeless> >>> r = b.last_revision()
[03:13] <lifeless> >>> t = b.repository.revision_tree(r)
[03:13] <lifeless> >>> t.path2id('')
[03:13] <lifeless> 'sp1f-changeset-20000731191004-fzqw7vgyzfnpbmw6f5gziiclvgyq4nc4'
[03:14] <abentley> lifeless: Sounds like we have a corner case with root ids changing.  I thought I had a test for that, but..
[03:15] <lifeless> abentley: yah
[03:16] <abentley> vila: ping
[03:18] <abentley> lifeless: Could you review http://bundlebuggy.aaronbentley.com/project/bzr/request/<48EFE285.7090402%40aaronbentley.com> please?
[03:21] <lifeless> abentley: I think it needs a default on the if
[03:21] <lifeless> in create_from_tree
[03:21] <lifeless> else:
[03:21] <lifeless>     raise AssertionError("unknown kind %r" % kind)
[03:22] <lifeless> all the rest has been reviewed by folk already
[03:22] <lifeless> so I don't think you need a review of the other parts of the patch
[03:24] <abentley> lifeless: I'm not sure the rest has been reviewed by others.
[03:25] <lifeless> abentley: poolie did the initial review saying that the iter_entries_by_dir hack was funky
[03:25] <abentley> lifeless: That was on another patch.
[03:25] <lifeless> abentley: which lead through the iterations to where we are today; I'm happy with the rest of the branch anyhow
[03:25] <poolie> (well, i was just noticing that fairly long repeated expression)
[03:26] <abentley> lifeless: Thanks.  I'll fix and submit.
[05:51] <lifeless> poolie: ping
[07:25] <vila> hi all
[07:30] <vila> abentley: pong
[08:06] <nubbun> Can one use the Intrepid APT repository for Debian Lenny systems?  or is there a more suitable repository?
[08:09] <jml> bazaar really can chew up memory when it wants too.
[08:09] <jml> s/too/to/
[08:11] <jml> oh wow, it's greying out my terminal :)
[08:17] <lifeless> poolie: ping
[08:42] <haoyu> is TortoiseBZR  included in bzr installer?
[08:48] <lifeless> for windows, yes I believe so
[08:48] <lifeless> poolie: on the off chance that you look at this tonight; usertest's in progress log has stopped at the set stage, the actual test run is progressing but not visible anywhere
[08:50] <haoyu> I have download bzr-setup-1.8rc1.exe
[08:50] <haoyu> but seems tortoisebzr not included..
[08:51] <haoyu> should I restart after install?
[08:56] <speakman> yo folks :)
[08:58] <speakman> (I was thinking of asking about PQM, but now I found the linuxfoundation.org article)
[09:09] <Odd_Bloke> poolie: What's "Kerguelen"?
[09:56] <poolie> kerguelen is (a) an island in the southern ocean, and (b) a windows virtual server for testing and building packages
[09:57] <speakman> how is bzrbashprompt.sh supposed to work?
[09:57] <Odd_Bloke> poolie: Ah, right.
[09:57] <poolie> speakman: do you mean what's it meant to do or how does it do it?
[09:57] <Odd_Bloke> Google told me the former, but not the latter. :D
[09:58] <speakman> oh, I loaded it wrong, now it works :)
[09:58] <speakman> (god it makes bash slow though...)
[09:59] <speakman> are there any generic ways to speed up bzr?
[10:00] <poolie> first you should make sure you're using the compiled extensions
[10:00] <poolie> (ie are running from a package or have run make)
[10:00] <poolie> then there is 'bzr shell' (in bzrtools) and bzr-client (a plugin)
[10:01] <lifeless> poolie: any thoughts on usertest ?
[10:01] <speakman> I'm running from ppa apt repo
[10:03] <speakman> bzr shell doesn't load my .bashrc or .bash_profile, and seems to lack tab completion :/
[10:04] <lifeless> speakman: in the last round of discussions folk were saying bzr is plenty fast for them; modulo really-big-trees
[10:04] <lifeless> speakman: are you talking basic response time
[10:04] <lifeless> speakman: or time to clone/do network stuff/etc ?
[10:07] <speakman> basic response time mostly, but the thought was more to make the bzrbashprompt.sh works a bit faster (it's a cool thing though!)
[10:09] <speakman> I do not have a problem with bzr in general (doing bzr commit and stuff), else I wouldn't promote it the way I do ;)
[12:03] <lifeless> l
[12:37] <guilhembi> abentley: hello! I am reading
[12:37] <guilhembi> http://doc.bazaar-vcs.org/bzr.dev/en/release-notes/NEWS.html#bzr-1-8rc1-2008-10-07
[12:37] <guilhembi> and wondering: does 1.8rc1 include all of 1.7.1?
[12:38] <guilhembi> and is there a way to tell (for next time I wonder :) ?
[12:38] <guilhembi> To rephrase: 1.7.1 contained fixes to --weave, are they in 1.8rc1 too?
[12:39] <abentley> guilhembi: Yes, 1.8rc1 includes everything in 1.7.1.  They always do.
[12:39] <guilhembi> abentley: thanks!
[12:40] <abentley> guilhembi: Anything in the NEWS file for a given release will pertain to that release.  If 1.7.1 wasn't listed in the NEWS, you might wonder.
[12:41] <guilhembi> abentley: the NEWS file, you mean I should download the tar.gz of the release and read NEWS?
[12:43] <abentley> guilhembi: No, you can look at http://doc.bazaar-vcs.org/bzr.1.8/en/release-notes/NEWS.html#bzr-1-8rc1-2008-10-07
[12:47] <guilhembi> abentley: how did you arrive to the link above? I was able to find http://doc.bazaar-vcs.org/bzr.dev/en/release-notes/NEWS.html#bzr-1-8rc1-2008-10-07 .
[12:48] <abentley> guilhembi: I went to http://doc.bazaar-vcs.org/
[12:49] <guilhembi> abentley: thanks!
[14:50] <ngnp> can I push/pull between server/debian bzr (0.11.0) together with laptop/ubuntu bzr (1.3.1) ... I guess not but how to solve this?
[14:51] <pysquared> Help please: I emailed someone a bzr branch.  They made changes and emailed me a merge-directive (MD). I merged the MD, made more changes, and I want to send back to them another MD.
[14:52] <beuno> oleavr, what's the problem?
[14:52] <pysquared> If I create a copy of the branch I originally emailed them and "bzr pull" their MD, I can then do "bzr send ../original_plus_pulled_md"
[14:52] <pysquared> But can I do this without creating a copy of what their branch looks like?
[14:53] <oleavr> beuno: ?
[14:53] <pysquared> e.g. something like "bzr send -r-2.. ." (which does not work by the way)
[14:53] <beuno> oleavr, misstyped, meant pysquared   :)
[14:54] <oleavr> beuno: ah :)
[14:54] <beuno> pysquared, so, you want to create a merge directive, without creating a branch?
[14:55] <beuno> I don't think you can do that, because you need to have his revisions in the ancestry
[14:55] <beuno> so you do actually have to create the branch
[14:55] <beuno> but abentley is the expert on the subject
[14:57] <abentley> pysquared: The only way to calculate which revisions need to be sent is using a branch that lacks the revisions they lack.
[14:57] <pysquared> Or specifying which is the last revision of the current branch they have??
[14:57] <pysquared> (Or am I being dumb?)
[14:57] <abentley> pysquared: No, that's a way of specifying what merge you want them to perform, not which revisions need to be sent.
[14:58] <pysquared> Sorry, please could you elaborate on "what merge" means.
[15:00] <abentley> Merge is a bzr command.  It combines two lines of development.  It can merge either from a branch or from a merge directive.  When it uses a merge directive, it performs the merge that was specified in the merge directive.
[15:01] <abentley> So when you specify bzr send -r 53..54, you're saying "merge just the changes from 53..54, even if you haven't merged 52"
[15:03] <pysquared> I have used merge before (just a beginner though).  I'm just testing some merges now...
[15:04] <pysquared> Is this correct: If I specify bzr send -r 10-30, and they are already at revision 20, then part of the merge directive is ignored, and they get the latest 10 revs?
[15:05] <abentley> That is true.
[15:06] <pysquared> Good, so it seems like I can do what I want: generate a merge-directive without having access to their branch, as long as I know what is a common ancestor revid?
[15:07] <abentley> pysquared: Do they already have copies of your revisions?
[15:08] <pysquared> Hmmm?  I think that is what I am trying to send them in the merge directive no?
[15:10] <abentley> pysquared: No, you're telling them *what* to merge.
[15:10] <pysquared> I basically want to find the most efficient way to generate the smallest merge directive which contains the work I have done since merging the work they did.
[15:11] <abentley> pysquared: In your example, if they already have revision 20, bzr only needs to send revisions 21..30.
[15:11] <pysquared> Cool.  What is the incantation?
[15:11] <abentley> pysquared: In my example, if they don't have 52, it needs to be sent, because it will be used indirectly.
[15:12] <abentley> pysquared: bzr send path/to/mirror/of/their/branch
[15:12] <pysquared> I cannot find a way to produce a merge directive using a standalone branch which matches the one generated using a copy of their branch.
[15:13] <pysquared> I think using path/to/mirror/of/their/branch should be unnecessary, but perhaps I am missing something important.
[15:13] <abentley> pysquared: If you use your own branch as the submit location, you will always get an empty bundle, and that will never be what you want.
[15:13] <abentley> pysquared: It is used to calculate which revisions need to be sent.
[15:13] <pysquared> *Yes* that was what I was getting - empty bundles
[15:14] <abentley> pysquared: By default, it is also used to calculate the merge to be performed, though you can override this with -r.
[15:15] <pysquared> Can I tell "bzr send" which revisions need to be sent and the merge to be performed, and therefore lose the dependency on path/to/mirror/of/their/branch?
[15:15] <abentley> pysquared: No.
[15:16] <pysquared> Oh :-(
[15:16] <pysquared> That felt strangely like chasing my own tail :-)
[15:16] <abentley> pysquared: I said that at the start.  You need to use a branch that lacks the revisions they lack.
[15:17] <ahasenack> bzr is giving me a weird url to break a lock, does this look right?
[15:17] <ahasenack> bzr break-lock chroot--1217453396:///some/path/trunk/.bzr/branch/lock
[15:17] <abentley> ahasenack: No.  Just use the normal URL for that branch.
[15:18] <pysquared> abentley: Is it possible do you think to add this feature?
[15:18] <ahasenack> abadger1999: thanks
[15:18] <ahasenack> er
[15:19] <ahasenack> abentley: thanks. Known bug? Should I open one?
[15:19] <abadger1999> heh.  I need to change the first two letters of my nick.
[15:19] <abentley> pysquared: It is possible, but pretty pointless.  Branches are ~44k
[15:20] <abentley> pysquared: And the overhead of keeping track of their branch manually instead of letting bzr do it seems not worth it.
[15:26] <pysquared> abentley: thanks for your patience and help.
[15:40] <abentley> vila: I'd like lp-login to set the username that is used whenever bzr+ssh://bazaar.launchpad.net is specified.  It seems like the best way to achieve this is to use AuthenticationConfig.  Does that make sense to you?
[15:41] <vila> abentley: yes
[15:42] <abentley> vila: Where would be the best place for this?  In the SSHVendor code, or the individual transports?
[15:43] <vila> I didn't address it at times because... can't remember exactly, lack of test infra or shyness to touch the launchpad plugin code
[15:43] <vila> Well, if you do declare bazaar.launchpad.net in the file, it should already work
[15:44] <vila> That is the intent at least :)
[15:44] <abentley> vila: Really?  I see that for paramiko, but I thought the rest didn't use it.
[15:44] <vila> hmm, let me refresh my memory
[15:48] <vila> Ha yes, only paramiko implement access to auth
[15:49] <vila> The sub process ones are alien to me (I use only paramiko), but I guess the right place is in connect_[ssh_sftp] for SubprocessVendor, LoopbackVendor doesn't care
[15:50] <abentley> vila: Any suggestions how to test that?
[15:51] <vila> Tricky :)
[15:51] <vila> I think we lack the infrastructure for authenticating test servers
[15:52] <vila> So... the closest existing code will be in test_http/http_utils/http_server I guess
[15:54] <vila> I tested the AuthConfig in test_config.py and then there are some full stack tests in test_http (test_prompt_for_password, test_no_prompt_for_password_when_using_auth_config)
[15:54] <jam> vila: do we actually use AuthenticationConfig for ssh ?
[15:55] <vila> Only for paramiko apparently
[15:55] <vila> scratch apparently
[15:55] <jam> well, we would like it there
[15:55] <jam> I'm not sure if we should be more consistent
[15:55] <jam> but as paramiko doesn't have another way to configure it
[15:55] <abentley> jam: My motivating example is Launchpad.
[15:55] <jam> that is at least a start
[15:55] <jam> abentley: I understand what you are after, and I've read the bugs as well
[15:55] <vila> jam: more consistent ?
[15:56] <jam> I think that having a way to configure the username for paramiko is a good thing
[15:56] <jam> and perhaps "launchpad-login" is good enough
[15:56] <jam> vila: If we are going to use AuthConfig for paramiko, shouldn't we also use it for ssh and plink?
[15:56] <jam> arguable either way
[15:57] <abentley> jam: launchpad-login doesn't do enough.  It doesn't allow users to use "bzr+ssh://bazaar.launchpad.net" URLs that have no username.
[15:57] <abentley> jam: If we are going to insist that people specify their username via launchpad-login, not .ssh/config, we should ensure that it works all the time.
[15:58] <vila> abentley: well, I'd argue that either you use lp: or you use bzr+ssh://user@bazaar.launchpad.net... No ?
[15:58] <abentley> vila: That's not a shareable URL, so it can't function as a public URL.
[15:59]  * vila should stop editing branch.conf and put lp: urls there ? :-)
[15:59] <abentley> vila: I think that forcing a username into bzr+ssh urls is a bad choice because the resulting URLs can't be shared with other users.
[15:59] <vila> Haaa, misunderstood
[16:00] <vila> but then use lp: !
[16:00] <abentley> vila: That's not usable by people who don't have the launchpad plugin.
[16:00] <vila> and propagate it to .conf files so I can stop editing them :)
[16:00] <abentley> And it's not a real URL.
[16:01] <vila> there are people who don't have the lp plugin and want to use lp, oook. Fair enough :)
[16:01] <vila> abentley: shaking the tree, don't take it personally :)
[16:01] <abentley> I've implemented lp as a directory service.  This makes much more sense than implementing it as a transport.  But it means that the canonical url is whatever lp resolves to.
[16:01] <jam> abentley: the number of users that are going to be using launchpad with bzr but not have the launchpad plugin is roughly -10% at the moment
[16:01] <jam> (yes negative)
[16:01] <jam> :)
[16:02] <abentley> jam: Are you proposing to make it part of the core, not a plugin?
[16:02] <vila> on the subject of AuthConfig with ssh, we decided to refuse to handle passwords, pointing people to agents instead (just a reminder)
[16:02] <jam> abentley, vila: care to comment on bug #283123, I don't really want it to be just me versus bialix
[16:03] <jam> abentley: well, how many installs *right now* don't have the plugin... 0
[16:03] <jam> how many installs in the future to we expect to not have it
[16:03] <jam> roughly 0
[16:03] <jam> unless something changes dramatically
[16:03] <abentley> jam: If we're going to require it, it shouldn't be a plugin.  If it's a plugin, we shouldn't require it.
[16:03] <jam> abentley: I think requiring it for people using lp: urls is just fine
[16:04] <jam> as private urls won't resolve for everyone anyway
[16:04] <jam> some people won't be able to reach your server, etc.
[16:04] <jam> and branches move from time to time, servers disappear
[16:04] <jam> I think we can make a "reasonable effort" without having to turn the world around
[16:04] <jam> Obviously you feel stronger about it, and you're welcome to feel that way
[16:05] <jam> I think using "lp:" urls is a nice pretty way to do things
[16:05] <jam> that actually helps more than hurts
[16:05] <jam> that said, I agree that I'd rather not have "bzr+ssh://myuser@"
[16:05] <abentley> I really dislike lp urls, because they mask what's really happening.
[16:05] <abentley> Having a way to look up URLs is great.
[16:05] <abentley> Pretending it's the actual url... gross.
[16:06] <jam> anyway bbiab, taking my son to day-care
[16:12] <Verterok> mornin' all
[16:18] <abentley> jam: I think that if a user specifies a username in authentication.conf, Bazaar should respect that.  I think it simplifies documentation and knowledge transfer to have this work for all SSH vendors.  However, if they haven't specified something in authentication.conf and the SSH vendor has its own configuration mechanism, that should be respected.  Do you disagree?
[16:37] <jam> abentley: so I think it should be "URL username", "auth.conf", "ssh/config", in that order
[16:37] <jam> I'm a bit concerned about "accidental" entries in authentication.conf
[16:37] <jam> because we put them there, rather than just users
[16:37] <jam> however, if we are careful, it should be finee
[16:37] <jam> oh, and I wanted to point out an advantage of using lp:...
[16:38] <jam> users who *don't* have an lp account or haven't issued 'lp-login' can still get the public branch
[16:38] <abentley> jam: I agree with your order.
[16:38] <jam> (the only bug I know of is problems behind an http_proxy, because xmlrpc doesn't support it)
[16:39] <abentley> jam: We currently do add entries to auth.conf, or we would?
[16:39] <jam> abentley: probably "we would", though I thought vila had some specs about adding things automatically when we connect to a server for the first time and prompt the user
[16:40] <jam> I'm not sure what has been implemented
[16:40] <abentley> jam: Okay.
[16:41] <vila> abentley: we currently don't add entries to auth.conf, but we would
[16:42] <abentley> jam: Certainly it would be possible supply credentials via AuthenticationConfig without touching auth.conf if we decided we wanted to.
[16:44] <abentley> Something like that would happen if we supported native keychains/seahorses anyway.  But I doubt it's the right choice here.
[16:44] <vila> jfroy is working on supporting OS X keychain
[16:45] <vila> I made an attempt to accept pluggable credential stores at: lp:~bzr/bzr/pluggable-credential-stores
[16:46] <vila> but that doesn't address your need which is to provide a *user* name (not a password)
[16:48] <vila> And if we want to provide more public URLs, that may be needed
[17:36] <abentley> vila: I took a look at lp:~bzr/bzr/pluggable-credential-stores.  I'm confused because it says "We don't use the netrc ability to provide a user since this is not handled by authentication.conf".  AIUI, authentication.conf can provide users.
[17:37] <abentley> vila: Do you mean that only authentication.conf should provide users, not .netrc?
[17:37] <vila> abentley: netrc can provide a default user, but we don't get it
[17:37] <vila> abentley: yes
[17:37] <vila> badly phrased, AuthConfig can't handle it, of course authentication.conf can
[17:39] <vila> May be we should rename 'password_encoding' to 'credential_store' and allows the user to be provided :)
[17:39] <vila> may be that 'we' is really an 'I' :)
[17:39] <abentley> I'm confused.  AuthConfig has a get_username method.
[17:40]  * jfroy|work listens to the conversation
[17:41] <abentley> Maybe I don't understand the intended layering.
[17:41] <vila> but it doesn't delegate to the credential stores so it can't get the user provided by netrc in that case
[17:41] <vila> it just get the ones that are declared in authentication.conf
[17:42] <vila> as described in the spec, only the password was intended to stored outside of authentication.conf
[17:42] <vila> s/to/to be/
[17:42] <abentley> vila: So I think you want authentication.conf to specify the user, and then to allow credential stores to provide credentials for that user.
[17:44] <vila> Well, either the user is specified in authentication.conf or provided by the credential store, otherwise users would get confused
[17:45] <vila> credentials are for user at a host, optionally at a path and so far is only a password
[17:45] <vila> at a path or at a realm even
[17:46] <vila> rephrasing: now, the user in authentication.conf only and credential stores can provides passwords
[17:46] <vila> We can change that so that credential stores can provide user and password. But in that case the user shouldn't appear in authentication.conf (IMHO)
[17:55] <vila> abentley: is the following clearer :
[17:55] <vila>                 # We don't use the netrc ability to provide a user since there
[17:55] <vila>                 # is no way to give it back to AuthConfig. So if the user
[17:55] <vila>                 # doesn't match, we don't return a password.
[17:57] <abentley> vila: That's better.  But it implies a flaw in AuthConfig, rather than a design decision.
[17:58] <vila> abentley: agreed, especially with your new use case
[18:01] <abentley> vila: Oh.  I thought you believed that AuthConfig should not allow a user to be specified.  So I thought you should say something like "To reduce confusion, users are specified only on AuthConfig.  So we don't use netrc to choose a default user."
[18:02] <abentley> vila: But if you now think it makes sense for credential providers to specify a user, then your revised comment is good.
[18:04] <vila> It makes sense for credential stores to be able to provide user, in which case the user shouldn't be specified in authentication.conf. If the credential store doesn't provide user then it should be specified in .conf.
[18:04] <vila> So I will work in that direction in that branch which is  work-in-progress with a nick that perfectly fits :)
[18:05] <vila> abentley: Thanks for the feedback
[18:06] <abentley> vila: No problem.
[19:03] <woutc__> hello
[19:04] <woutc__> i am trying to use the bzrlib in my application
[19:04] <LarstiQ> evening woutc__
[19:05] <woutc__> but now i want to know the best function to check if a branch was changed by other people (somebody pushed the branch to a new rev)
[19:05] <woutc__> so i would like the log and the new rev number
[19:05] <woutc__> without pulling the branch
[19:06] <LarstiQ> woutc__: are the two branches the same (same url), or do you have one local branch you want to check against a remote one?
[19:06] <LarstiQ> woutc__: ala `bzr missing`
[19:06] <woutc__> i want to check a local branch to a remote one
[19:06] <LarstiQ> ok
[19:06] <rocky> jelmer: bzr-svn 0.4.13 is for bzr 1.7.x right?
[19:07] <jelmer> rocky, also for 1.8
[19:07] <rocky> ah cool
[19:07] <woutc__> bzr missing does what i need?
[19:07] <jelmer> rocky, I'll probably release a 0.4.14 that silences the compatibility warning at some point
[19:07] <rocky> jelmer: am i better off playing with bzr-svn 0.4.x branch (bzr 1.7.1 here) or bzr-svn 0.4.13 ?
[19:08] <LarstiQ> woutc__: yes. Looking at that code, it seems to be find_unmerged(local_branch, remote_branch, ...)
[19:08] <jelmer> the 0.4 branch is for bzr 1.9.x
[19:08] <LarstiQ> woutc__: see bzrlib/builtins.py, search for cmd_missing
[19:08] <woutc__> thank you so much! :)
[19:08] <LarstiQ> woutc__: let me have a look at the IDE integration page btw
[19:08] <LarstiQ> woutc__: if it isn't on there, it should be
[19:08] <rocky> jelmer: huh? so no more releases for bzr 1.7.x or 1.8.x ?
[19:09] <jelmer> rocky, not for 1.7, maybe one for 1.8 that is 0.4.13 + silences the compatibility warning
[19:09] <woutc__> LarstiQ: it seems that it isn't listed on the integration page
[19:09] <rocky> jelmer: i take that to mean bzr 1.8 is right around the corner?
[19:09] <LarstiQ> woutc__: right. When you figure out exactly what to do, could you add it to http://bazaar-vcs.org/Integrating_with_Bazaar?
[19:10] <LarstiQ> woutc__: I'm happy to review or help otherwise
[19:11] <woutc__> ok, i am the developer from specto (http://specto.sf.net) and i am trying to create a watch that notifies you when somebody committed to a branch :)
[19:15] <LarstiQ> woutc__: do you also support events instead of polling? Would need the help of the remote branch to work though, but would be less intensive.
[19:18] <woutc__> the current specto design works only with polling
[19:19] <woutc__> so if the refresh (or poll) time is not set too low, it is not really a problem
[19:23] <LarstiQ> k
[19:24] <rocky> jelmer: looks like that ghost revision bug thing i talked to you about before is back (it went away there for a bit) .... http://cluebin.appspot.com/pasted/2401
[19:39] <woutc__> i found the function but i get an error
[19:39] <woutc__> >>> local_branch = Branch.open_containing(u".")[0]
[19:39] <woutc__> >>> parent = local_branch.get_parent()
[19:39] <woutc__> >>> local_extra, remote_extra = find_unmerged(local_branch,parent)
[19:39] <woutc__> Traceback (most recent call last):
[19:39] <woutc__>   File "<stdin>", line 1, in <module>
[19:39] <woutc__>   File "/usr/lib/python2.5/site-packages/bzrlib/missing.py", line 62, in find_unmerged
[19:39] <woutc__>     remote_branch.lock_read()
[19:39] <woutc__> AttributeError: 'unicode' object has no attribute 'lock_read'
[19:47] <abentley> woutc__: You have the location of a branch as a unicode string, and you're treating it like a Branch object.
[19:49] <woutc__> but the variable local_branch is a Branch object, no?
[19:49] <woutc__> >>> type(local_branch)
[19:49] <woutc__> <class 'bzrlib.branch.BzrBranch6'>
[19:50] <LarstiQ> woutc__: but 'parent' is not
[19:50] <the-geek-inside> Programming Python, O'Reilly, Mark Lutz, ISBN-10: 0-596-51398-4
[19:50] <LarstiQ> woutc__: the two first arguments to find_unmerged are the two branches you want to compare
[19:50] <LarstiQ> woutc__: and branch.get_parent() returns a url, not a branch
[19:51] <woutc__> haha so i have to create a branch object with the url :)
[19:52] <woutc__> ok that did the trick
[20:01] <the-geek-inside> OSamaK: Learning Python is good when you don't know about the language, so I guess thath you find some a little more advanced
[20:03] <jelmer> rocky, yeah, afaik 1.8 should be released soon
[20:04]  * rocky finds it odd that he's the only person in the world to have such a glaring problem
[20:09] <jelmer> rocky, ?
[20:10] <rocky> jelmer: well this is preventing me from using bzr-svn (whether it's bzr's fault or not) ... just seems strange that this "showstopper" isn't severe enough to have fixed for bzr 1.7.1
[20:10] <jelmer> rocky, which showstopper?
[20:10] <LarstiQ> jelmer: http://cluebin.appspot.com/pasted/2401
[20:10] <rocky> jelmer: you didn't see my paste above?  http://cluebin.appspot.com/pasted/2401
[20:10]  * LarstiQ does drive by pasting and leaves the house
[20:11] <rocky> lol
[20:11] <jelmer> LarstiQ, :-)
[20:11] <jelmer> rocky, :-(
[20:18] <jelmer> rocky, That's a bzr-svn bug primarily, unfortunately (IIRC caused by older versions of bzr-svn that wrote incorrect data)
[20:19] <rocky> jelmer: old data shouldn't be an issue... how do i get rid of old data?
[20:22] <jelmer> rocky, the old data in the svn repository, if you do a fresh checkout (remove ~/.bazaar/svn-cache) outside of your existing shared repo it should work
[20:34] <jelmer> james_w, ping
[20:34] <james_w> hey jearl
[20:34] <james_w> er, jelmer
[20:34] <james_w> how are you?
[20:34] <jelmer> Very good, thanks (-:
[20:34] <jelmer> james_w, You asked about bzr-notify crashes earlier
[20:34] <james_w> cool
[20:35] <jelmer> I've uploaded a new snapshot of bzr-gtk that should fix those issues
[20:35] <james_w> yeah, apport has shown that it affects a few people
[20:35] <james_w> ah, great
[20:35] <james_w> to experimental?
[20:35] <james_w> bug 283294 arrived today, but I'm not sure why that only seems to affect Ted
[20:36] <jelmer> yep, I uploaded to experimental
[20:36] <jelmer> I'm not sure what Ted's bug is about either
[20:37] <james_w> I mean no mainloop is defined as far as I can see, so it's right
[20:37] <james_w> but why isn't that always a crash?
[20:39] <jelmer> I think it (used to ?) creates a mainloop implicitly
[20:42] <james_w> jelmer: I'd like to just cherry-pick the fixes out, as we're two days from RC freeze, and it will avoid a freeze exception request
[20:43] <jelmer> james_w, One sec, I'll look up the relevant revnums
[20:44] <james_w> jelmer: there are a couple of fixes missing that I put in to the Ubuntu package, I'm sure I checked they were fixed in trunk though
[20:44] <james_w> http://paste.ubuntu.com/57563/ for a start
[20:47] <james_w> thanks for the heads up, I'm going to eat now, I'll work on it after that
[20:47] <jelmer> james_w: http://people.samba.org/bzr/jelmer/bzr-gtk/trunk, revisions 607-611
[20:47] <james_w> thanks
[20:48] <jelmer> james_w, bon appetit
[20:48] <jelmer> james_w, I think we may not have those changes, will check
[21:07] <rocky> jelmer: i'll take a crack at that as soon as i finish preparing supper for the kids )
[21:07] <rocky> :)
[21:20] <ryanakca> could somebody help me figure out the mess I got myself into please? bzr is telling me to resolve a file that isn't conflicted: http://paste.ubuntu.com/57581/
[21:27] <poolie> hello all
[21:28] <poolie> ryanakca: maybe you're not in the base directory of the tree?
[21:28] <poolie> like you're already in ./debian/?
[21:28] <poolie> in which case you just want 'resolve changelog'
[21:28] <poolie> jam, ping?
[21:28] <jam> poolie: pong
[21:29] <ryanakca> poolie: nope
[21:29] <poolie> hey, Shang was just checking about bug 242510
[21:29] <poolie> that is definitely fixed in 1.8 right?
[21:29] <poolie> well, news says so
[21:29] <poolie> lp is unreachable atm
[21:30] <jam> poolie: that one should indeed be fixed in 1.8
[21:31] <jam> bug 153786 is not, though
[21:32] <poolie> ryanakca: what does 'bzr st' show
[21:39] <ryanakca> poolie: http://paste.ubuntu.com/57588/
[21:39] <poolie> oh, i see
[21:40] <poolie> so someone has actually committed three files called changelog.BASE .OTHER and .THIS
[21:40] <poolie> maybe you :)
[21:40] <poolie> that might not really be what you want?
[21:41] <ryanakca> poolie: bzr ls debian/ doesn't show those files?
[21:43] <poolie> what about plain ls?
[21:44] <ryanakca> poolie: same
[21:45] <poolie> how about just 'bzr resolve' then
[21:47] <ryanakca> poolie: it tells me it auto-resolved nothing and then it spewed out the same as the conflicts part of bzr status
[21:47] <GhostFreeman> Is there a channel for tortoisebzr?
[21:47] <poolie> no, just ask here
[21:49] <GhostFreeman> Ok. Well I installed Bazaar on my windows vista machine (1.8rc1) and while bzr works, I can't get TortoiseBzr to show up in Windows Explorer
[21:50] <poolie> GhostFreeman: using the python-based 1.8rc1 installer?
[21:50] <poolie> GhostFreeman: i think that only includes bzr, not any plugins
[21:50] <poolie> the person who normally makes windows builds, mhammond, is on holidays
[21:50] <poolie> i'm getting set up to build 1.8 myself
[21:50] <GhostFreeman> I did install using win32-py2.5
[21:51] <poolie> in the meantime you could try 1.7-setup.exe, which does have it
[21:51] <poolie> s/it/tbzr
[21:51] <GhostFreeman> Alright. Should I remove 1.8 before I revert to 1.7?
[22:10] <poolie>  probably a good idea
[22:10] <poolie> jam, yeah it'd be good to fix 153786
[22:32] <mwhudson> is it expected that you can call branch.set_stacked_on_url() on a branch that is write-locked by another process?
[22:35] <lifeless> mwhudson: no, bugger a file please
[22:35] <mwhudson> lifeless: okidoke
[22:36] <jam> poolie: when it comes time for the standup, ping me. If I don't respond, call my cell phone
[22:36] <poolie> ok
[22:36] <poolie> that sounds painful
[22:40] <lifeless> poolie: did you see my query re usertest log ?
[22:40] <poolie> mm, i did
[22:40] <lifeless> http://benchmark.bazaar-vcs.org/usertest/log/usertest.log.inprogress <- shows only the pull phase
[22:40] <poolie> and then i fell asleep :)
[22:40] <lifeless> fair enuff
[22:41]  * poolie looks
[22:41] <mwhudson> lifeless: https://bugs.edge.launchpad.net/bzr/+bug/283457
[22:42] <lifeless> mwhudson: I suspect its really 'config objects don't honour lock status of their branch'
[22:42] <mwhudson> mm, that would make sense
[22:47] <jfroy|work> jelmer: ping
[22:47] <jfroy|work> (and hi!)
[22:47] <jelmer> jfroy|work, pong!
[22:48] <jfroy|work> So, I have mostly addressed the issues I've (suddently) been having with bzr-svn, at the cost of a rather large performance problem.
[22:49] <jfroy|work> What showed up as corrupted knit exceptions in bzr 1.7.1 and bzr-svn 0.4.3 became not-a-branch exceptions or problems in top of tree (both for bzr and bzr-svn).
[22:49] <jfroy|work> The svn repository I'm working with has ... a tortured history of projects being moved around several times, not always following svn conventions.
[22:50] <jfroy|work> And it was clearly tripping bzr-svn up.
[22:51] <jfroy|work> So I managed to write up a list of branch paths in subversion.conf that made it mostly work (some branches in certain projects no longer can be checked out, the entire project (e.g. the root containing trunk, branches, tags) has to be checked out).
[22:51] <jfroy|work> However, now, sending a changeset takes upward of 15 seconds to complete, pegging Python to 100% of the core it's running on.
[22:52] <jfroy|work> Any ideas why that might be?
[22:53] <jfroy|work> Also, how reasonable would it be to have an option to force a specific svn revno to be considered the "baseline", from bzr-svn's POV. E.g. it wouldn't look in the Subversion history earlier than that revno, to help deal with old svn repositories that have had a less than ideal history.
[22:55] <jonoxer> jfroy|work: you could dump from a specific revision using svnadmin, populate a new repo with just that history, then convert that
[22:55] <jfroy|work> Not viable in this case, I do not control or own the subversion repository in question.
[22:55] <jonoxer> Ah, right
[22:58] <jonoxer> It's kinda brute-force, but I did something nasty once where I scripted a sequence of "svn up -r $i" updates to let me pull a sequence of commits from a remote repo and run analysis on them. Maybe something similar?
[22:59] <jfroy|work> Well my understanding is bzr-svn has to map svn paths to branches (since svn has no formal notion of branches), and when a svn repository is really messed up, bzr-svn blows up :p
[23:00] <jfroy|work> You can grab its hand by specifying a custom list of branches, but that has limits, and apparently bad performance implications for commit operations.
[23:02] <jelmer> re
[23:03] <jelmer> jfroy|work, 0.5 will be a lot of better in that regard
[23:03] <jfroy|work> jelmer: 0.5 is "working" for the most part, commits are exceedingly slow though
[23:04] <jfroy|work> And for one project the branches trick didn't quite work because of a svn mv operation (IIRC my analysis of the bzr log)
[23:05] <jfroy|work> if log files can help, I'd be happy to provide them to you, just let me know the debug flags you need
[23:05] <jelmer> jfroy|work, s/0.5/0.4 ?
[23:05] <jfroy|work> I'm using bzr and bzr-svn mainline
[23:05] <jfroy|work> I'm bleeding-edge :p
[23:05] <jelmer> jfroy|work, trunk or 0.4 ?
[23:05] <jfroy|work> 0.4 just explodes, and 0.5 needs what appear to be 1.9 API
[23:05] <jfroy|work> trunk
[23:06] <jelmer> jfroy|work, Please be careful with that, you wouldn't want to use it with production-type stuff
[23:06] <jelmer> jfroy|work, how does 0.4 blow up?
[23:07] <jfroy|work> I am using it on production stuff, I trust it to not delete every file :p
[23:07] <jfroy|work> 0.4 throws corrupted knit errors
[23:07] <jfroy|work> I haven't, though, tried 0.4 with the custom branches option
[23:08] <jfroy|work> I never would have found out what the problem even was without 0.5's much more helpful errors.
[23:13] <jfroy|work> So yeah, if there's anything useful I can do, let me know.
[23:14] <jfroy|work> I have, incidentally, a small change to trunk that addresses assertions (usually on branch names) that checked if certain parameters were str objects, also allowing unicode objects
[23:21] <jam> lifeless: for bzr.dev, 'time bzr pack' w/ normal compression: 39.5s & 5.7MB, w/ max compression: 42.7s and 4.5MB
[23:21] <jam> I'm off for now
[23:21] <lifeless> jam: ciao
[23:22] <lifeless> jam: I do wonder about just turning it on; indices are never done in isolation
[23:23] <lifeless> jam: and the proportion to data written should be roughly constant
[23:23] <lifeless> jam: (we'd want spill indices to have it off)
[23:23] <awilkins> jelmer: The trunk of bzr-svn is the not-tied-to-a-fixed-concept-of-branch-mapping branch, yes?
[23:24] <jelmer> awilkins, yes
[23:24] <awilkins> jelmer: E.g. - if you have a wacky repo layout it's ok
[23:24] <jelmer> jfroy|work, any chance you can send me those patches?
[23:24] <jam> lifeless: so for 'bzr pack' it is 10% more time for 25% less space. I was tuning it to be minimal by request for 'bzr commit' time.
[23:24] <jam> Which seemed reasonable
[23:24] <awilkins> jelmer: How stable is that now?
[23:24] <jelmer> awilkins, not recommended for use with production code
[23:24] <awilkins> jelmer: I have some really horrible repos I can run it on :-)
[23:25] <awilkins> jelmer: I don't mind it not being OK for production at the moment but I'm happy to devote a few CPU cycles to trying it out
[23:26] <awilkins> jelmer: We are moving to another office that may have limited bandwidth and I think people might appreciate something that can buffer the gap to the server a bit
[23:26] <awilkins> jelmer: 0.4 struggled with the repo layout of our main repo the last time I tried it (large revisions where there should have been tiny ones for branches)
[23:27] <awilkins> jelmer: And of course, there's that KeyError thing (is that fixed?)
[23:27] <jfroy|work> jelmer: can I bzr send that to some email address?
[23:28] <jfroy|work> awilkins: I saw those key errors a bunch of times too
[23:29] <jfroy|work> I had to experiment a few times on my branches setting to get bzr-svn to checkout.
[23:29] <jelmer> jfroy|work, just "bzr send" against the main branch should do the right thing
[23:29] <jfroy|work> commits are also exceedingly slow
[23:29] <jelmer> awilkins, use of trunk may silently break the ability to use bzr-svn in the future on those branches
[23:30] <jfroy|work> jelmer: bzr send complains it wants a mail-to address
[23:30] <jfroy|work> whoa, really?
[23:30] <jelmer> jfroy|work, are you using http://people.samba.org/bzr/jelmer/bzr-svn/trunk ?
[23:30] <jfroy|work> jelmer: ah no, that was against the launchpad mirror
[23:31] <jfroy|work> Complained against that branch too :/
[23:32] <jelmer> Ah, looks like I've only got it set on 0.4
[23:32] <jelmer> one sec
[23:32] <jfroy|work> I didn't know a branch could specify a mail-to address, that's kind of very cool :)
[23:33] <jelmer> jfroy|work, please try again
[23:34] <jelmer> jfroy|work, you can set "child_submit_to = email@address" in .bzr/branch/branch.conf
[23:36] <mwhudson_> something doesn't seem right here: http://pastebin.ubuntu.com/57627/
[23:36] <mwhudson_> lifeless: more set_stacked_on_url/write lock interaction nasties :(
[23:36] <mwhudson_> ^
[23:36] <awilkins> jelmer: Do you mean the ability to use bzr-svn on the actual SVN branches?
[23:36] <awilkins> jelmer: Or just the bzr branches?
[23:37] <jelmer> awilkins, the ability to use bzr-svn on the actual SVN branches
[23:37] <awilkins> jelmer: That down to the bzr: properties?
[23:37] <jelmer> awilkins, yep
[23:37] <awilkins> jelmer: Is this because experimental progression is neglecting to put migration steps for the properties in?
[23:38] <jelmer> awilkins, that, and the fact that several corner cases are not well tested yet for trunk
[23:38] <jelmer> and so may set invalid values for the properties
[23:38] <awilkins> jelmer: Is this only a problem if you push?
[23:39] <jelmer> awilkins, generally, yes
[23:39] <jelmer> awilkins, however, if you use trunk for pulling you may also corrupt your local bzr branch
[23:39] <jelmer> awilkins, since trunk may sometimes be broken (it warns you every time you use it for a reason)
[23:40] <awilkins> jelmer: Fair enough - less of a risk if you are just pulling branches on a particular trunk revision for experimental purposes?
[23:41] <awilkins> jelmer: Since 0.4 can't pull the trunk of my "big nasty" repo, it's not too much of a loss
[23:41] <jfroy|work> ack, this is kind of scary -- to never be able to use bzr-svn again on a repository.
[23:42] <awilkins> jelmer: If you dropped the bzr: properties, and re-pulled your branches, you'd lose some metadata but the compatibility problem would be fixed, yes?
[23:43] <jelmer> awilkins, you can'y drop them without taking the repository down
[23:44] <awilkins> jelmer: Are they all revprops or are there fileprops there too?
[23:45] <jelmer> all fileprops at this point
[23:45] <awilkins> jelmer: So you'd need a dump | filter | load ?
[23:45] <jelmer> awilkins, yep
[23:45] <jfroy|work> jelmer: do you think a "baseline" revno option would be a suitable workaround for the extreme case of a broken subversion repository that is not under your control?
[23:46] <awilkins> Happily, I am the server admin :-)
[23:46] <jelmer> jfroy|work, that means you can't allow dir push to svn
[23:46] <jelmer> s/dir/direct/
[23:46] <jfroy|work> I don't know enough about how this stuff is working to understand why that is, but I'll trust you on that
[23:47] <jfroy|work> Urg, I might have owned myself for all time :|
[23:47] <jfroy|work> (patch sent, btw)
[23:47]  * mwhudson_ bounces
[23:48] <mwhudson_> lifeless, poolie: could one of you look at http://pastebin.ubuntu.com/57627/ for me?
[23:56] <poolie> mwhudson: really
[23:57] <poolie> mwhudson: and where is the repository for them?
[23:57] <poolie> i presume they're in the same repository?
[23:57] <poolie> that's probably the bug, can you file it?
[23:58] <mwhudson> poolie: i don't think that matters, actually, it seems you get this when the branches are both standalone
[23:58] <mwhudson> poolie: i can check though