/srv/irclogs.ubuntu.com/2009/01/27/#bzr.txt

Peng_The progress bars showing bandwidth usage is very cool, but why did it take 2.2 MB to download half a dozen revisions? :(00:00
Peng_...OK, a dozen revisions.00:00
lifelessPeng_: from a 1.9 format repo? if not, its because the index layer in < 1.9 is quite inefficient (which is why it was replace)00:00
lifelessalf: is bzr not doing something you want it to?00:02
alflifeless: I would just expect bzr diff to inform me that the tree is not in sync with the branch tip (as bzr status does)00:05
Peng_lifeless: Ah, right. (It was bzr.dev.)00:06
lifelessalf: ah! So the reason bzr diff doesn't do that is that its not really relevant to diff - diff is about textual changes, not overall status00:06
lifelessalf: diff also doesn't show pending merges for instance00:06
alflifeless: I have (finally) understood what is going on and its necessity, I must however admit it is a bit unintuitive because of the difference in behaviour between local/remote push00:23
RaceConditionis it possible to use the bzr command inside a virtualenv that has been activated?00:24
RaceConditionright now it seems to me that no, but maybe there are workarounds00:24
lifelesswhats a virtualenv?00:30
RaceConditionhmm, it works on the root level of a virtualenv, but not in a subdirectory that is a python module...00:30
RaceConditionlifeless: it's a Python tool for creating virtual environments for Python installations/apps00:31
davidstraussWhat happens if you branch from a loomified branch?00:31
lifelessdavidstrauss: you get a loom00:31
lifelessdavidstrauss: with the state of the last record of the loom00:31
lifelessRaceCondition: bzr should just work regardless, unless you're only copying in some of the bzr modules00:33
lifelessRaceCondition: what error do you get?00:34
RaceConditionlifeless: that bzr cannot find bzrlib00:34
RaceConditionthe cause of this issue is pythonpath actually00:34
RaceConditionhttp://dpaste.com/113360/00:34
lifelessRaceCondition: 'python -c "import bzrlib"'00:34
RaceConditionit's different depending on which folder Python is run00:34
RaceConditionI guess it's a Python matter/queston, not a bzr one00:35
lifelessseems likely to me00:35
RaceConditionmercurial is having the same issue00:36
lifelessboth hg and bzr use lazy imports00:36
lifelesshow does virtualenv decide what to copy in ?00:37
RaceConditionlifeless: I dunno00:38
RaceConditionI'm neither a Python nor a virtualenv expert00:38
lifelessmy guess is the lazy import nature00:39
alflifeless: Thank you for the explanation, it has been very helpful00:41
lifelessalf: my pleasure00:41
RaceConditionlifeless: nope, it's because sys.path actually does not contain what needs to be there00:44
jfroy|workjelmer: ah, svn-upgrade is what I need if I want to move to bzr-svn 0.5 while keeping existing branches around, correct? My situation is a "trunk" branch in Subversion, a local trunk mirror Bazaar branch and a set of local and remote Bazaar branches created from that local trunk branch.01:08
jelmerjfroy|work: Only for your local branches that are not in svn01:11
jfroy|worknone of them are besides trunk01:20
jfroy|workjelmer: and what is the correct procedure? upgrade bzr-svn, wipe the cache, nuke my local trunk, re-checkout from svn, then svn-upgrade all the local trunk branches?01:21
ronny*sigh*01:40
ronnyjelmer: i hit a whole new kind of hell now that i dont only want to have a view on stuff like branches but also getting them from remotes in the various possible flavours01:42
jelmerronny, hi01:42
jelmerjfroy|work, no need to wipe the cache (unless you've used experimental versions of bzr-svn 0.5)01:43
jelmerjfroy|work, no need to re-checkout from trunk01:43
jelmerjfroy|work, I wouldn't use svn-upgrade atm, pending LarstiQ's  bug01:43
jfroy|workOK01:44
ronnyjelmer: i cant find any reasonable model that fits all ways of bzr to get a repo/branch/workdir01:44
jfroy|workjelmer: so I can just update bzr-svn and move along?01:44
jelmerronny, is your current interface definition up somewhere?01:44
ronnyjelmer: no01:44
jelmers/definition/design/01:44
ronnyjelmer: the whole checkout vs branch vs dir branch in repo is kina nasty cause bzr is the only one that is that "complex" there01:45
jelmerronny, I don't think it's complex01:46
jelmerronny, you basically have branches and trees, either of which can be present01:47
jelmerworking trees always have a pointer to some branch01:47
jelmerthat's it basically01:47
ronnyjelmer: still, hg, git, darcs do all of that more simple01:48
jelmerronny, more simple in what regard?01:48
lifelessgits index is approximately our tree01:48
ronny1 repo, 1 workdir, 1 way to get it01:48
jelmerronny: Bazaar is the same, 1 branch, 1 work directory - there's also only one way to get it if you ignore checkouts01:49
jelmer(which I think make sense if you do abstraction like that)01:49
lifelessgit can do naked repos and trees without repos too01:50
lifelessyou have to set environment variables though :)01:50
ronnyjelmer: it gets nasty as soon as i want to track multiple remote branches in a single repo01:51
jelmerhi nevans01:51
jelmerronny, How would you do that in darcs?01:51
lifelessronny: I'd just ignore the repo, its not meant to be semantic; its all about branches01:51
lifelesss/its/they are/01:51
ronnyrepos are kinda important, at least for monotone, git and hg01:53
ronnybut those dont have brnaches as subdirs within repos, but as semantic entities01:53
lifelessronny: all quite different though01:53
lifelessgit branchs are refs in a repo; hg branches are unmerged revs in a single repo, and monotone branches are non-signed revs01:54
lifelessbzr branches are revision ids01:54
ronnylifeless: but they exist as actual entities in the fs01:55
lifelessronny: yes, thats a key design point01:55
lifelessronny: it gives them unique URL's01:55
ronnylifeless: but adds massive amounts of complexity to deal with for me01:56
lifelessronny: in what way01:56
ronnyand i think its important enough to deal with01:56
lifelessif its adding complexity for our users, we may need to change this, so I really would like to understand01:57
ronnylifeless: it makes getting a repo + branches really different from the others01:57
lifelesswhy worry about the repo01:58
lifelesswhy not 'get branches'?01:58
jelmerperhaps some background is required here01:58
ronnyim intrested in sets of branches01:58
ronnynot just one01:58
jelmerronny, this is for your work on a vcs abstraction library, right?01:58
ronnyjelmer: yeah01:58
jelmerlifeless, ^01:58
lifelessI'd ffigured that much :P02:00
ronnyand bzr always manages to look the most complex from *my* point of view02:00
ronnyat things where the others have one oblivious way i see 3 different ways that are all valid02:00
lifelessits true that there are many combinations bzr supports; I think you'll find that git and hg both support the same things bzr does, but not as clearly in the UI02:01
ronnyand the whole standalone branch vs dir branch in repo vs checkout is my most nasty thing i see02:01
lifelesswhich suggests to me that what jelmer said is very applicable - there is no need to represent everything in your library02:02
lifelessronny: how is it nasty for you?02:02
lifeless(I'm not an ELIZA bot honest)02:03
ronnylifeless: it seems very complex02:03
ronnyi learned dvcs with monotone02:03
lifelessronny: tree.branch.repository02:03
lifelessronny: three objects, left->right dependency so if you have tree, you always have branch and repo02:03
ronnyso git/hg feel rather natural, but bzr is kinda alienating02:03
ronnythis is mostly related to having n ways instead of just one02:04
lifelessronny: but git has more than one way! and so does hg02:05
lifelessronny: so I *fail* to understand that commend02:05
ronnylifeless: git/hg have only clone there02:05
ronnyi fail to see how that can be more than one way02:06
lifelessronny: uhm, sounds like there are wires crossed.02:06
lifelessronny: are you talking about how to get a branch, or about the way things can be laid out on disk ?02:06
ronnylifeless: how to get a branch02:07
ronnyor better a set of them02:07
lifeless'bzr branch' is the only command in bzr to get a branch02:07
lifelessand we don't have a UI for getting a set of branches at the moment, not in the core02:07
ronnya clone in git/hg (or sync in monotone) always gets me the stuff thats currently up - including tracked branches02:08
ronnybascially i get my set of branches, then work on them like i need to02:09
lifelesswell, hg doesn't do branches in a way thats friendly to that, but sure, git does02:10
ronnyfor me it makes no sense to limit dealing with them to exactly one at a time02:10
lifelessI'd use loom or jelmers colocated plugin to do that in bzr, if I felt the urge02:10
ronnycolocated?02:11
lifelessjelmer wrote a plugin that gives something approximating git branch management02:12
lifelessI didn't think darcs did sets of branches either02:13
lifelesscodeville either02:13
jelmerlifeless: Speaking of which, I'm still interested in feedback on the spec for that :-)02:13
lifelesssvn doesn't02:13
ronnylifeless: darcs is kinda different02:13
lifelessjelmer: on my todo02:13
jelmerlifeless, cool, thanks!02:13
ronnyand svn is just a workdir, the branches are always remote02:13
lifelessronny: but remote branches are one per url, and a 'repo' may have thousands of unrelated things in it02:14
lifelessronny: svn's branch management is actually quite similar to bzr IMO02:14
lifelessexcept in bzr they are typed rather than free-form (which is fugly)02:14
ronnylifeless: local+remote vs only remote02:15
lifelessronny: URL based, which is all I'm talking about02:15
lifeless'bzr branches' -> list of branches02:15
lifelessetc02:15
ronnylifeless: i dont actually care about url's, all i need is a name02:16
lifelessronny: branch.get_nick() I think is the API, that will give you the name02:17
trolifeless: is that plugin called loom?02:18
lifelesstro: which plugin?02:18
ronnylifeless: thats not my issue here, its the n ways to get the thing set up as well as the different fs layout02:18
trothe one that jelmer wrote to approximate git branch management02:18
lifelessronny: you say there are n ways, but I only know of one way to get a branch to work on.02:18
lifelessronny: which is 'bzr branch'02:18
jelmertro, it's bzr-local-branches02:19
lifelesstro: no loom is for patch management; ^ is jelmers02:19
troah, ok02:19
jelmertro, it mainly does multiple branches in one dir though, no tracking of remotes like git02:19
ronnyhmm, so its just as powerfull as hg bookmarks02:20
trothat would work for me, i think. my use case is that i've got a large project that takes like 30 mins to setup in my IDE. it's not fun to branch around into separate directories because of that02:20
ronnyhmm02:20
lifelesstro: you do know about 'bzr switch' yes ?02:20
trolifeless: yes, it's what i use, but then i have to think about where to put the repository. then when i wanna switch i have to remember what the branches are called02:21
tromaybe all i need is a plugin with a "switch history"02:22
ronnyreminds me, i'll have to implement "switch" support too02:22
* igc lunch02:22
lifelesstro: I see. What I generally do is just have the repo at ~/src/project, then branches under that are cheap02:22
troso i could do "bzr switch -1" to go back to the previous see branch02:22
troseen*02:22
lifelesstro: for C projects I just checkout --lightweight one branch to 'working' and then swtich from there02:23
lifelesstro: thats a nice idea02:23
troi'll see if i can do something about it :)02:23
lifelesstro: perhaps the bookmarks plugin could grow that, writing something to the tree02:23
troi'll take a look at the bookmarks plugin, thanks02:24
ronnyhmm02:25
ronnyi'll ignore checkouts and figure a good way to deal with repos + branch dirs02:26
thumperwhere has bzr shelve put the shelf now?02:36
trothumper: i think it's inside .bzr/checkout/shelf , if it's a checkout, anyway02:37
thumpercan I just move that to another checkout?02:38
lifelessprobably02:40
thumperyep, it works02:42
lifelessstatik: ping02:45
statiklifeless: hi02:59
lifelessabentley: replied to our thread; hoping we can get consensus before you crash03:04
lifelessstatik: mailed you about ack ;)03:04
statiklifeless: yeah, just saw it. i'll have to try bzr-search out again, but this week might be pretty tough. i'm on the wrong side of a deadline, and flying to london on saturday03:05
* statik pulls the latest trunk of bzr search03:07
abentleylifeless: Quite a while 'till we crash, but I doubt we'll get consensus.03:16
lifelessabentley: ah. Well I want to make sure I don't cause problems for lp or bb. As long as I know what those constraints are I'll be happy03:17
abentleylifeless: Well, the nub of it is that I don't believe there are sane default paths for plugins.03:18
abentleylifeless: There are sane paths for given clients, but they'll vary based on circumstance.03:19
lifelessabentley: I believe the default should be what bzr does, because that is least confusing for users of bzrlib.03:23
abentleylifeless: I believe the default should be to do nothing, because that has the least potential to explode when the user's system bzr is upgraded.03:25
abentleyI think that bzrlib.plugins is, itself, confusing.  Because it doesn't behave the way other packages do.03:26
lifelessabentley: how does it behave differently?03:26
spivI'm a little bit uncomfortable about bzrlib doing that, it feels a bit too much like assuming bzr is the only client.  I don't feel strongly about it, it just makes me slightly nervous.03:26
lifelessspiv: qualify 'that' please.03:26
abentleylifeless: Importing from bzrlib.plugins imports things from directories other bzrlib/plugins03:27
lifelessabentley: thats standard python functionality03:27
lifelessabentley: the __path__ in the module controls the search03:27
lifelesswe used to have some really complex stuff, but I unified it with default python logic some time ago03:27
abentleylifeless: I know how it works.  It's still unlike every other package I've encountered.03:28
lifelessok03:28
spivlifeless: doing things at import time, basically.  I think this case is likely to be just fine, it's just the sort of thing worries me slightly :)03:28
abentleyIt is magic.03:28
lifelessit was fine for years. I think a totally different change borked things03:30
spivWhatever we do, we should clearly document both how to get a typical bzr plugin path, and how to do something different that will make e.g. launchpad feel safe.03:30
abentleylifeless: To me, that totally different change brought the problems with default paths to the fore.03:31
abentleylifeless: That's why I submitted a patch to stop loading default paths, instead of reverting the other change.03:31
spivI am a little curious about the use case for "import bzrlib.plugins.FOO" without first telling bzrlib to configure the plugins path.  Just interactive convenience?03:31
lifelessspiv: sane default, interactive convenience03:32
lifelessI'd say load all plugins by default too but that makes me twitch too. (Not to mention that there is a bootstrap issue trying to do --no-plugins if we did that).03:33
spivRight, loading all plugins by default conflicts with being able to write other than bzr on bzrlib.  (And even conflicts with bzr itself, as you say.)03:35
spivWhereas this proposal just sets some configuration a certain way by default... It's still a bit weird that "import bzrlib.plugins.FOO" won't work, but "import bzrlib.plugin; import bzrlib.plugins.FOO" will.03:36
spivOr is bzrlib.plugin always imported by bzrlib?  I guess it is.03:37
lifelessspiv: loading bzrlib.plugin doesn't set a path either03:46
lifelessspiv: importing bzrlib.plugins sets a path of ['.'] basically, because thats what python does03:46
jameshit might be useful to have an API like "load this one particular plugin using the same logic to find it as load_plugins() does"04:07
jameshgiven that "import bzrlib.plugins.FOO" won't find everything04:08
lifelessjamesh: there is such an api - 'import bzrlib.plugins.PLUGIN'04:08
lifelessjamesh: what won't it find?04:08
jameshlifeless: I've had problems using that to find plugins in ~/.bazaar/plugins.  Has that been fixed since then?04:08
lifelessjamesh: did you file a bug? They are asserted to be the same04:09
jameshlifeless: if they are under bzrlib/plugins, things work as you describe04:09
jameshlifeless: I didn't know that it was a bug.04:09
lifelessjamesh: were you acting as a bzrlib client?04:09
jameshlifeless: yes.04:09
jameshif by that you mean a Python program that imports bzrlib04:10
lifelessjamesh: then this is likely exactly the bug I'm talking about04:10
lifelessjamesh: starting in (I think) 1.11, you have to manually set the plugins path. Which is what I want to back out.04:10
jameshlifeless: hmm.  I've got bzr-1.10 here04:11
lifelessjamesh: does bzrlib/__init__ contain a call to set_plugins_path()?04:11
jameshlifeless: no04:12
lifelessok, then it was 1.10 that this got changed in04:12
lifelessdiff __init__.py with 1.9 :)04:12
asabilwhat would be the best way to iterate over the revisions of a branch starting from revision 1 and preserving the merging history ?04:31
asabilseems like branch.get_history () only returns the mainline rev-ids04:31
asabils/get_/revision_/04:31
lifelessyou'll need a topological sort04:53
lifelessand you have to rewrite most of the merged nodes too because they may refer to nodes you are rewriting04:53
lifelessanyhow,the tsort module is your friend05:02
nDuffooh05:08
* nDuff wonders if bzrlib.tsort.TopoSort is faster than the topological sort in the NX graph library he's using elsewhere.05:08
lifelessnDuff: worth giving it a spin05:10
lifelessabentley: /win 5105:26
lifelessbah05:26
lifelessabentley: I'd really like to get something that won't break lp/hitchhiker/bundlebuggy etc. I *will* be putting up a patch though, so please help me to put one up that doesn't break those other tools.05:26
=== mneptok_ is now known as mneptok
lifelessalso, freenode fail. yay05:27
=== thumper_laptop is now known as thumper
rockstarabentley, you're not around are you?06:32
vilahi all07:01
sohailbzr version 1.11, bzr update => *** Bazaar has encountered an internal error.07:12
sohail _unpack_entry() got an unexpected keyword argument 'entry_cache'07:12
sohailany ideas?07:12
spivsohail: pastebin a full traceback?07:18
spivsohail: also, maybe try --no-plugins.07:18
sohailspiv, will do07:19
sohailspiv, can you access https://bugs.launchpad.net/bzr/+bug/32176507:20
ubottuUbuntu bug 321765 in bzr "When executing bzr update, get error: _unpack_entry() got an unexpected keyword argument 'entry_cache'" [Undecided,New]07:20
spivsohail: looks like a bug!07:23
spivcongrats ;)07:23
sohailspiv, groan...07:24
sohailworkaround possible?07:24
sohailhmm07:24
* sohail notices no bzr stash07:24
sohailah bzr shelve07:25
spivsohail: looking...07:26
spivsohail: that's a strange one.  I can't see the cause by reading the code, but I'd expect to be able to.07:28
sohailspiv, yep07:30
sohailI was looking at the code too07:30
sohailno idea07:30
igchi vila07:30
vilahi Ian !07:30
spivsohail: can you print the type of self in that failing _unpack_inventory method?07:31
sohailspiv, ok07:31
sohailspiv, so you mean print type(self) yeah?07:31
spivRight.07:31
spivigc, vila: good evening07:32
sohail<class 'bzrlib.xml5.Serializer_v5'>07:32
sohailthat doesn't help!07:32
spivHeh, no.07:32
spivI guess I was forgetting that you were using --no-plugins, so it was hardly going to be otherwise.07:33
sohailspiv, I think I may have got it?07:34
sohailit should be inheriting from v7 not v607:34
spivNo, I don't think so.07:35
spivBesides, Serializer_v7 defines _unpack_entry with the same signature.07:35
sohailno, v6 does not have the cache parameter07:35
sohailb/c v6 inherits from v807:36
spivYou must be looking at a different 1.11 than me...07:36
sohailI must be...07:36
sohailhm.. wtf07:36
spivBecause in mine, v6 inherits from v8 (as you say), and v8 defines _unpack_entry with the same signature as v7.07:37
sohailwt07:37
sohailf07:37
sohailI'm using bzr from ppa or something07:37
sohailI wonder if it didn't uninstall properly07:38
sohaildoh that must have been it07:38
sohailspiv, I think that's it!07:40
sohailgigantic PEBKAC07:40
spivsohail: phew :)07:40
sohailwait... still checking07:40
sohailyep, all good07:41
sohailgeez07:41
sohailthanks spiv07:41
spivsohail: maybe file a bug about the packaging? :(07:41
spivOh, d'oh, you already closed your bug just before I did :)07:42
sohailspiv, no what happened was that I had the ubuntu version of it07:42
sohailswitched to ppa before uninstalling07:42
sohailand presumably THEN removed it (or something)07:42
sohailbut still... it shouldn't have royally screwed up like that07:43
* sohail shrugs07:43
spivYeah, neither the ubuntu or the ppa versions should do that.07:43
* sohail unshelves and continues07:43
spivFirst time I've heard of it happening!07:43
sohailI'm pretty sure I did something wrong07:43
sohailso unless it happens again, I'm happy07:44
spivOk :)07:44
sohailbzr shelve is quite cool07:44
hnobzrtools needs to be updated in launchpad ppa.08:49
Lo-lan-doCan the rebase plugin help move revisions between "unrelated" branches?09:27
Lo-lan-doUse case: after the GForge→FusionForge fork^Wrenaming, we're considering starting with a mirror of the previous SVN repository.09:28
Lo-lan-doSame contents, same history, but different repo UUIDs and therefore different bzr revision ids.09:29
Lo-lan-doBut I'd like to graft the previous branches onto the trunk based on the new SVN repo.09:31
Lo-lan-doI suppose rebase could help, but I fear it would complain about unrelated branches.  And the doc doesn't help me much.09:31
* Lo-lan-do tries with --onto09:32
Lo-lan-doDoesn't seem to work :-/09:37
=== asac_ is now known as asac
asabilLo-lan-do: try to run bzr replay10:44
Lo-lan-doAha!10:44
asabilit is a hidden command from bzr-rebase10:45
* Lo-lan-do tries that10:45
Lo-lan-doNot working either.  I get conflicts :-(10:47
=== Guest44711 is now known as jelmer
jelmerasabil, Lo-lan-do: replay and rebase are in essence the same thing, just different UIs11:14
CaMasonIs it possible to utilise 'external' branches within a project, similar to svn:externals ?11:18
Odd_BlokeI just updated to bzr HEAD and am impressed with the new pull output.  So kudos to whoever did that. :)11:33
=== sabdfl1 is now known as sabdfl
Odd_Blokejelmer: Do you have your subvertpy packages available anywhere?11:50
jelmerOdd_Bloke, yes, http://people.samba.org/bzr/jelmer/bzr-svn/debian12:02
jelmerehum12:02
jelmerOdd_Bloke, yes, http://people.samba.org/bzr/jelmer/subvertpy/debian :-)12:02
jelmerOdd_Bloke, there's also packages uploaded to the subverpty PPA and NEW12:03
jelmerCaMason, that's nested branches, which have been stalled for a while12:03
Odd_Blokejelmer: Yeah, I saw them in NEW.  But I don't want to have to wait. :p12:03
asabil_how can I create a commit with 2 parents using bzrlib ?12:05
jelmerLo-lan-do, the problem is that the file ids are still different even if the revision ids are not12:06
jelmerLo-lan-do, bug 23167412:07
ubottuLaunchpad bug 231674 in bzr-rebase "can't replay, need maptree support in rebase" [Wishlist,Triaged] https://launchpad.net/bugs/23167412:07
jelmerasabil: You can specify the parent ids to the commit function12:07
Odd_Blokejelmer: Thanks. :)12:07
jelmerasabil_: You can specify the parent ids to the commit function12:07
jelmerOdd_Bloke, just "bzr builddeb http://people.samba.org/bzr/jelmer/subvertpy/debian" should build you a package12:07
asabil_ok thanks jelmer12:07
=== asabil_ is now known as asabil
=== poolie2 is now known as poolie
hsn_!pastebin12:23
ubottupastebin is a service to post multiple-lined texts so you don't flood the channel. The Ubuntu pastebin is at http://paste.ubuntu.com (make sure you give us the URL for your paste - see also the channel topic)12:23
asabilcan someone help me with this code: http://pastebin.com/m315e778212:23
asabilafter a while I get the following error:12:24
asabilbzr: ERROR: Working tree is out of date, please run 'bzr update'.12:24
hsn_http://paste.ubuntu.com/110254/ - i can not get bzr shelve work in 1.10 or 1.11, it reports same error12:25
asabilhsn_: run bzr break-lock12:26
Lo-lan-dojelmer: That makes sense.  I guess I'll go the old way then, and apply diffs by hand.12:27
hsn_asabil: it doesnt help, after breaking lock i will get could not obtain lock error again12:27
vilajelmer: did you see my comment on bug #25661212:28
ubottuLaunchpad bug 256612 in bzr "should handle 401 (unauthorized) response" [High,In progress] https://launchpad.net/bugs/25661212:28
jelmervila, could we do password prompting for 401 responses?12:29
vilaerr, we already do password prompting for 401, are you asking for *user* prompting instead ?12:30
vilajelmer: anyway, that would be a different problem, 256512 is about getting the credentials from svn when we connect to a svn server12:32
jelmervila: ah, I wasn't aware we did password prompting already12:32
jelmerI'll have a look at the svn side of things12:32
vilaI'm pretty sure we fail right now because we have no *user* to provide which a svn credential store plugged into authentication.conf *can* provide12:33
vilafrom there bzr can prompt for password, fail its probe, fall back to bzr-svn probe, which finally can succeed12:34
vilaThat's the scenario you and I identified months ago for which there was no good solution. Remember that ?12:35
hsn_my error is same as this: https://bugs.launchpad.net/bzr/+bug/305006 - so its currently fix commited to devel bazaar version?12:36
ubottuUbuntu bug 305006 in bzr "shelve fails with "Could not acquire lock"" [Undecided,Fix committed]12:36
asabiljelmer: any idea about my code ?12:39
jelmervila, yeah12:39
jelmerasabil, which code?12:40
asabilhttp://pastebin.com/m315e778212:40
asabilI am trying to rebuild a branch from another branch12:40
asabilin the same way that bzr-rebase does12:40
asabiland it fails when it encounters a merge12:41
jelmerany reason for not just using rebase?12:41
jelmerasabil, How does it fail?12:42
asabiljelmer: I am trying to write bzr filter-branch12:43
jelmerasabil, ah, cool12:43
asabilit fails asking for update to be ran12:43
asabilwhen I add tree_to.update () before the commit12:43
asabilit fails with conflicts12:43
jelmerasabil, why whould you be calling update() ?12:48
asabiljelmer: its asks for it12:49
james_wI don't think you actually need to *do* a merge do you?12:51
asabiljames_w: I just copied what bzr-rebase does12:51
james_wdo you not know what the tree of the revisions is supposed to look like at each point?12:51
asabilI do know12:51
james_wyou can just put the tree in that state and use "tree.set_parent_ids()" and then commit in that case12:53
asabiljames_w: and how can I put it in that state ?12:54
asabilsorry I am not yet familiar with theses apis12:55
james_wwell, that depends on where you get the information from12:55
james_wpresumably you check out the old revisions tree12:55
james_wapply the filter-branch transform on it12:55
james_wand then commit the result12:56
asabilI just need the no-transform case for now12:56
asabilI will find my way later12:56
james_wfor a merge it will be the same thing, but you set an extra parent or three on the working tree before committing12:56
james_wok, just checking it out and committing12:56
james_wthough I see your point now, I'm not sure what the API is for checking out the old revision tree in to the new working tree12:57
james_wvila: is RedirectRequested something new?12:58
asabilthat's what I am looking for12:58
vilajames_w: no12:59
vilajames_w: I think it's even pre-1.0...12:59
james_wvila: hmm, my transport.do_catching_redirections code appears to have just broken12:59
james_we.get_target_url()13:00
james_wAttributeError: 'RedirectRequested' object has no attribute 'get_target_url'13:00
vilawow, where are you using such code ?13:00
LarstiQvila: is ~/.netrc supposed to work for regular sftp:// and bzr+ssh:// usage yet?13:00
james_wvila: in a plugin(ish)13:00
vilajames_w: ouch, I may have broken backward compatibility then, but on the other hand there was several bugs there13:01
james_wI need to follow some launchpad redirects to get the librarian url for some files I need13:01
james_wvila: no problem, this code is only running in one place, so it's not difficult to fix13:02
james_wvila: do you know off-hand what the new way of doing that would be?13:02
vilajames_w: give me a minute to page-in the code13:02
* vila 's memory acess times is in the minute range... what a shame13:02
james_wvila: thanks. I can search if you are busy with something else13:02
jelmervila, what sort of settings should I expect in the credentials dictionary ?13:04
vilajames_w: bzr diff -c3903 in trunk should be the most helpful for you13:04
=== lamont` is now known as lamont
vilajelmer: you mean when credential_store.decode_password is called ?13:05
jelmervila, yeah13:05
james_wvila: perfect, thanks13:06
vilayou should have host, user, password, the later can be None,13:07
vilaoptionally path can be present and scheme could be there too13:08
jelmervila, what about realm?13:09
vilajelmer: you get the section defined in the authentication.conf file, if the user put a realm, you get it13:09
jelmervila, yeah, but the HTTP implementation will be prompting my credentials provider13:10
jelmervila, ideally without a section in authentication.conf13:10
vilajelmer: I don't parse that13:11
jelmervila, So when a user connects to a svn http server, the http server will send back a 40113:11
jelmerthat will prompt bzr to look for credentials13:12
vilathe http client will then query authentication.conf13:12
jelmerand will ask all the credentials providers for credentials for that server13:12
vilathat's not how it works13:12
jelmerok, in that case I misunderstood13:13
vilaThe user decides where he wants to put his credentials, he declares that through authentication.conf13:13
vilaThere is no way to say: spread my credentials here and there13:13
jelmerso the user can't use more than one credentials tore?13:13
vilaHe can, but only one by section in authentication.conf13:13
vilaActually that's wrong: "There is no way to say: spread my credentials here and there"13:14
vilaThat's even the purpose of authentication.conf, I should have say: we don't query credential stores blindly, the user tell us how13:15
jelmerthat just means the user has to edit authentication.conf for every svn repository they connect to13:15
jelmereven if they already have credentials for that repository in ~/.subversion/13:15
vilaWell, authentication.conf uses a 'first match wins' rule, so you can define a fallback section with svn as the credential store13:16
jelmeryes, but in that case you can't really use netrc as well13:17
vila...except you'll need the actual url in that case (or usr/host/realm/path already splitted)13:17
jelmervila, I would expect the netrc credentials provider to do the splitting in that case13:19
vilajelmer: meh, the nertc provider is onvoked only if people mentioned it in authentication.conf13:20
jelmervila, Yeah, but I think that's wrong too13:20
jelmerone of the nice things about netrc is seamless integration, and being able to use your existing stored credentials13:21
jelmerhaving to set things up in authentication.conf per host just defeats that13:21
vilayou can set things up by scheme, host, host+port, many combinations exists13:22
vilayou can set things up by scheme, host, host+port, many combinations exist13:23
LarstiQaha13:23
vilaThat's the whole point of authentication.conf, it can even be used for smtp13:23
LarstiQI have to mention netrc in authentication.conf?13:23
* LarstiQ tries that13:23
jelmeryes, but the point is that you have to set up something in authentication.conf, most likely for each host13:23
LarstiQjelmer: I use [DEFAULT]13:23
vilascratch that 'most likely' :-)13:24
vilaThere is more than one way to use it :)13:24
jelmervila, I don't think it's that easy to scratch13:24
vilaYou can even set by domain13:24
LarstiQvila, jelmer: so if I understand it correctly, it would be nice to try the svn credential store for svn, even if not explicitly mentioned in authentication.conf, but that is not currently possible?13:24
jelmerI have different usernames on different hosts, and even some hosts with and without Subversion13:25
jelmerLarstiQ, yes13:25
jelmerLarstiQ: and for the netrc store13:25
LarstiQvila: scheme won't work for bzr-svn because you can't distinguish http bzr and http svn?13:25
jelmerLarstiQ, yes13:25
vilaLarstiQ: yes13:25
vilajelmer: you can even set by user/host13:25
jelmervila, yes, but that requires configuration in authentication.conf13:25
jelmerwhich is unnecessary imho13:26
LarstiQvila: it is not clear to me from http://doc.bazaar-vcs.org/bzr.dev/en/user-reference/bzr_man.html how to tell authentication.conf to use .netrc13:27
vilajelmer: explicit is better than implicit for credentials, especially since we are not trying to address storing crentials securely, delegating that to extrenal credentials stores13:27
LarstiQbrb, will check the code after that13:28
vilaand since that will be externalized, user must have control over it13:28
LarstiQvila: yes but, for svn, isn't it rather obvious to try the svn credential store always?13:28
vilaLarstiQ: So because svn is a special case we should change the general case ? Or should we provide some hook for svn purposes instead ?13:29
vilajelmer: the whole purpose of authentication.conf is to give user control over which credentials to use when, if you don't need that, fine, don't use it, but leave the user the option to use it13:32
LarstiQvila: I don't think svn is a special case actually. For ssh/sftp, I'd also expect to try ~/.ssh/config13:32
jelmervila: it means users will *still* be confused when they try to use https://13:32
vilaLarstiQ: ssh is out of scope as said in the spec :)13:32
jelmervila, also because it doesn't prompt for a username13:33
vilajelmer: prompting for user is a different problem, it can be wprked around so far by specifying the user in the url, so we can neglect it in this discussion13:33
LarstiQvila: ah hmm, does that explain why my [DEFAULT] authentication.conf setting is not helping me with sftp:// ?13:33
vilaLarstiQ: did you try -Dauth ?13:34
LarstiQ(it does actually work for bzr-svn)13:34
LarstiQvila: no, good point13:34
* LarstiQ goes off and tries13:34
jelmervila, that's more specifically where this bug is about imho13:34
jelmervila, if you specify a username atm you'll just be prompted a couple of times13:34
LarstiQvila: 0.592  Using authentication section: 'DEFAULT'13:35
LarstiQ0.720  ssh implementation is OpenSSH13:35
jelmerno 401 error13:35
LarstiQvila: not really helpful13:35
jelmerhi poolie13:35
vilaLarstiQ: if you try to use auth.conf for passwords you should get a warning, using for users should work13:36
LarstiQvila: I get no warning.13:37
* LarstiQ is on bzr.dev r395813:37
vilaLarstiQ: Strange, I'm a bit lost here, I *think* either the ssh client thinks it can authenticate without password or should query auth.conf and issue a warning13:38
LarstiQvila: I'll try to debug it further13:39
* LarstiQ afk for a bit13:39
vilajelmer: regarding "if you specify a username atm you'll just be prompted a couple of times", that's the precise point I want to address, the yse should be queried at most once13:39
vilaonce the http connection is set, we should be able to share it without having to prompt again13:39
LarstiQright13:40
LarstiQvila: but, I'd like to be prompted again if I mistype my password. Though not infinitely.13:40
jelmervila: That's not what this bug report about though, it's about users getting "Unable to handle 401" when they are trying to contact a authenticated http server and are not specifying a password.13:40
vilaWhether that can be achieved in a single bzr command may be a bit ambitious right now, but at least issuing an svn command should populate some credetial store that can then be resued y bzr13:40
jelmervila: bzr-svn will already use authentication.conf13:40
vilajelmer: the point is to have a svn-specific credential store that can *provides* the credentials that svn knows about13:41
vilathat's where netrc is an *example* on how to implement one for svn13:42
jelmervila: the point of this bug report? in that case the bug report would be "bzr asks for a password more than once"13:42
vilaghaa, let's start again13:42
jelmervila: There's no point in having a svn-specific credentials store with the current API; the use in having that would be seamless integration, but that's pointless if there's additional configuration required.13:43
vilajelmer: I agree we disagree: I think there is value in having the ability to say "I want to use svn credentials for these sections, not for these" if only as a way to get rid of cruft13:44
jelmervila: I see *some* use in that, I don't think that's what this High-importance bug is about13:45
vilajelmer: I'm not *against* allowing bzr-svn to be a fallback for authentication.conf if you want seamless integration13:45
vilaThat's two different use cases13:45
jelmerok13:46
vilajelmer: When we diagnosed the root cause together, the consensus (as I remembered it) the bug was that bzr was stopping to query other formats because it couldn't authenticate13:49
jelmerI think we can agree about that, actually - I still don't think this is the "unknown 401 response" bug13:49
vilathat is the cause I try to address here, not querying for user is another bug in my mind13:50
vilaand it appears my mind is wrong13:50
vilasince bug 216614 is a duplicate, I thought it was still stnding on its own13:50
ubottuLaunchpad bug 216614 in bzr "should not immediately abort of .bzr/format can't be opened (dup-of: 256612)" [Undecided,Incomplete] https://launchpad.net/bugs/21661413:50
ubottuLaunchpad bug 256612 in bzr "should handle 401 (unauthorized) response" [High,In progress] https://launchpad.net/bugs/25661213:51
jelmerah, ok13:51
jelmerI'll open a separate wishlist bug about allowing to query other stores without additional configuration13:52
jelmerdoes that sound reasonable?13:52
vilaso if we can't share these credentials, the user is prompted, the result thrown away before svn provides the right ones automatically and we still get bug reports :)13:52
vilajelmer: sounds reasonable *too*13:53
vilaAt least we could discuss it separately13:53
jelmervila: Yeah, I think that would be a good idea13:54
vilajelmer: pfew :)13:55
jelmervila: Ok, I've got the credentials store implemented14:04
vilajelmer: So, to clarify, my initial question regarding my comment... lol14:04
vilaexactly, thanks,14:04
jelmervila: I'm not seeing any of the other keys from my section in authentication.conf14:05
vilawhere ?14:05
jelmervila, it would be nice to get the realm the http server sends available somehow14:05
vilaright, I may have been wrong in my previous comments, that can be considered a bug in the actual implementation14:05
vilait should provide more context14:05
vilai.e. the actual url (and realm for http) for which the query is done14:06
jelmeryeah, that would be nice - Subversion uses the realm as key, so I need that to do the querying14:07
jelmershould I file a bug about that?14:10
vilaright, just checked it, the actual implementation provides only user and section name (that can be used to get the whole section if needed) but it should also provides the actual context14:11
vilajelmer: yes, do so, I'll fix asap14:11
vilain fact I think it's buggy for netrc too, the tests are probably too restrictive14:12
vilajelmer: apart from the realm what is used for the key ?14:13
jelmervila: realm and optionally username14:13
vilano host ? no path ?14:13
vilano port ?14:14
vilano scheme ? :-)14:14
jelmervila: sorry, host/port as well14:14
jelmerthey're included in the realm in a specific format14:15
vilaok, host/port/realm and no path then ?14:15
jelmere.g. "<http://svn.collab.net:80> Subversion Committers"14:15
jelmeryeah, no path14:15
vilaok, good14:16
vilaSo that you can use different user by using different realms and you don' care about path14:16
jelmervila: I also think the keyring support in GNOME would be another good candidate for Bazaar querying all credentials stores14:19
jelmervila: Since that will require you to confirm (using a GUI thingy) when you're using one of its credentials14:19
vilajelmer: I'm going step by step here because I've yet to define how we want to *save* credentials from bzr14:21
vilaIf you can imagine querying them all to *find* credentials, you don't want to do that to save them14:21
jelmeryeah, that makes sense14:21
vilaAnd if you want to be explicit about where to save them, not doing it to find them will lead to surprising behaviors14:22
jelmerwell, it would depend on the ordering you use I guess14:22
jelmerSubversion would be a candidate for fallback credentials - you should never have to store new credentials there14:23
vilaI try to take the most paranoiac users into account there, that means being explicit14:23
jelmerand it would only have to be queried if all else has failed14:23
vilajelmer: agreed for svn being a fallback14:23
jelmervila: For gnome-keyring I would personally want to use that as an alternative to authentication.conf, so not using authentication.conf at all14:23
vilajelmer: once we figure a way to handle the explicit cases, finding ways to make them implicit should be easy14:24
vilabut, yes, back in the early days of auth.conf, I looked into gnome-keyring and OSX keychain as credential stores and I realized they have different APIs so I tried to provide a single point where any user will have a minimal setup to do in auth.conf. making the minimum == 0 is the holy graal :)14:27
vilaFor example, I can imagine people going from svn to bzr on the same host yet wanting to use different users for their svn repo and their bzr repo14:28
vilaI can also imagine they want to *keep* the same user though14:29
jelmervila: They should be able to differentiate by including the username in the URL14:30
vilajelmer: yes, but we want to get away from embedding user in urls so that people can share urls14:31
vila:)14:31
jelmervila: ah, hmm14:31
jelmerok, my SubversionCredentialsStore works if I hardcode scheme, port, host and realm \o/14:31
vilajelmer: sorry, I should have told you that :-/14:32
vilaerrr, no, I think I don't understand *why* that succeeds in fact :)14:32
jelmer(this is with configuration in ~/.bazaar/subversion.conf)14:33
jelmerargh14:33
jelmer(this is with configuration in ~/.bazaar/authentication.conf)14:33
jelmerI've hardcoded those variables in config.py, not in the configuration file14:34
vilaha, good :)14:34
vilaSo that means you know how to *query* svn credentials ! Great, that's the part I missed !14:35
phinzeso how do you #bzr people maintain your local file structure14:38
phinzespecifically, how do you organize mirror and task branches14:38
jelmerI have one repository per project14:39
jelmerand then various branches in there, mixing mirror and task branches (usually I name the mirror branches after the people they're from)14:39
phinzeso all your branches just sit in the root of the local repo then?  you don't mirror the directory structure of any shared repo14:40
jelmerphinze, no14:41
jelmerphinze, I mean yes to your first question, no to the second14:41
phinzejelmer: yeah sorry making it difficult for you :)14:41
phinzeokay, so are your mirrors branches or checkouts14:41
jelmervila: Yeah, I did the work for that already a bit earlier.14:42
jelmerphinze, branches14:42
phinzesounds good, thanks for giving me a use case :)14:42
vilajelmer: where can I have at look at that ? 0.4 ? 0.5 ?14:43
jelmervila: 0.5, auth.py14:43
vilajelmer: thanks14:44
jelmervila, if you need a good test repository: http://chaina.tigris.org/svn/chiana/trunk14:45
jelmer(user: guest, password: guest)14:45
vilajelmer: great, copying that in due place14:47
=== rizitis is now known as rizitis_away
trowhy is it that branching is so much faster in git than in bzr? is it because git doesn't do any copying?15:11
Jc2ktro: you need to give more context than that15:12
troJc2k: just a simple branching op. git is almost instant. bzr takes a while. does git not make any copies of WT files?15:13
Jc2kif you dont use a shared repository branching is like git clones with --local --no-hardlinks15:13
Jc2kand if you dont use a shared lightweight copy then it copies the WT files15:13
Jc2kso its a double hit15:13
trooh i see. what's a shared lightweight copy? a lightweight checkout from a shared repo?15:15
Jc2kyes15:15
tromy use case is windows with a large tree (i think around 10k files). so no hardlinks :(15:16
Jc2kmake sure your share repo has --no-trees, or you'll still get duplicated WT's and it will be slow15:16
Jc2k*shared15:16
troright. that's what i've got.15:17
Jc2kthen it should be quick15:17
troso a lightweight checkout/switch would be faster, right? my shared repo is local.15:17
Jc2kyes15:17
trothx15:17
Jc2ktheres a plugin somewhere to help you with this layout.. let me find you the link..15:18
Jc2ktro: https://lists.ubuntu.com/archives/bazaar/2009q1/051801.html15:24
Jc2ktro: that plugins gives you a 'start' command which is like branch and switch in one swoop15:25
trooh cool. thanks.15:25
Jc2ktro: also http://theironlion.net/blog/2009/01/23/more-advanced-bazaar-concepts/15:25
Jc2k(tho that post is a little different to what you want, you can adjust it easily enough)15:26
pooliejam, if you're around, re debug flags15:43
jammorning poolie15:43
pooliedid you mean you wanted me to add a new test, or just that i might have broken an existing one?15:43
jampoolie: sorry, I thought you might have broken an existing one16:05
pooliei might16:07
pooliei ran the obvious tests, doc, help etc16:07
luke-jrjelmer: 0.5 rc 2 anytime soon? :/16:07
jelmerluke-jr, 3 more bugs to fix16:08
luke-jr:/16:08
jelmerluke-jr: Nothing should be blocking you from using the 0.5 branch though..16:08
luke-jrit's not packaged16:08
jelmerluke-jr, Not packaged for what?16:09
luke-jrGentoo16:09
luke-jrcrap, none of those 3 look easy enough for me ☹16:10
luke-jractually, I was assuming the Triaged16:11
jampoolie: "test_osutils.py" around line 150416:12
jampoolie: TestResourceLoading.test_resource_string16:13
jamalso, poolie, what do you think about the "remove whitespace bandaid" patch. Should we land it now or wait for a release?16:13
pooliei think now16:13
poolieah you're right16:16
fullermdHm.  Progress bar seems to have some interactions with commands that print out stuff while they're running through the bars.16:17
fullermde.g. running info on the main bzr.dev branch.16:17
ollieahh i am going around in circles with bzr mv bzr: ERROR: Could not move awards_entry_form.php => awards_entry_stage1.php: system/application/views/forms/awards_entry_stage1.php is already versioned.16:18
fullermd  repository branch: http://bazaar-vcs.org/bzr/bzr.dev/16:18
fullermd\      1kB @    0kB/s16:18
fullermdRelated branches:16:18
fullermdollie: Well, if the new location is already a versioned file, you can't move an old file to the same place.16:18
fullermdWhat are you wanting to accomplish?16:18
olliebzr rm --keep awards_entry_stage1.php: system/application/views/forms/awards_entry_stage1.php16:18
luke-jrjelmer: any ETA on those 3 bugs?16:19
olliebzr mv --after system/application/views/awards_entry_form.php system/application/views/forms/awards_entry_stage1.php16:19
olliebzr: ERROR: Could not move awards_entry_form.php => awards_entry_stage1.php: system/application/views/forms is not versioned.16:19
olliedon;16:19
jelmerluke-jr, about a week probably16:19
olliedon't get it firstly it tells me it is already versioned so i guess it needs to be unversion16:19
ollieso i unversion it and it tells me it is not versioned!16:19
luke-jr:/16:20
* fullermd frowns.16:20
luke-jrjelmer: happen to recall the rev that fixed the bug I need?16:20
jelmerluke-jr, I'm not sure which bug that was, sorry16:20
jelmerluke-jr, you should be able to just checkout bzr-svn in your ~/.bazaar/plugins16:20
luke-jrjelmer: somethign about it not liking tags16:20
olliefullermd: i have renamed a file so i want to tell bzr the file has moved so i keep its history16:20
luke-jrjelmer: cd ~/.bazaar/plugins && bzr co lp:bzr-svn ?16:21
jelmerluke-jr: Yeah16:21
fullermdNote that it's talking about the dir the second time, not the file.16:21
fullermdDoesn't seem to make sense...16:21
olliebut i can't version a dir without adding its contents..16:21
fullermdWell, of course you can.  You just can't version its contents without versioning it.16:22
fullermdSo if _entry_stage1.php were versioned, forms/ would have to be.  But you only unversioned the .php (unless you're skipping steps in the explanation), so forms/ should still be.16:22
luke-jrjelmer: after renaming it to 'svn', 'bzr branch' errors out immediately16:23
olliecracked it :)16:23
ollieso i have to unversion each file manually16:24
olliebut keep the dir versioned16:24
luke-jrhttp://pastebin.com/m7f85637616:25
fullermdRight.  Can't move into a dir that isn't versioned.16:25
luke-jrjelmer: curiously, I don't see the warning on line 79 anywhere16:26
jelmerluke-jr, I've pushed a fix16:27
jelmerluke-jr, http://people.samba.org/bzr/jelmer/bzr-svn/0.516:28
luke-jrbzr: ERROR: Cannot lock LockDir(http://bazaar.launchpad.net/%7Ejelmer/bzr-svn/0.5/.bzr/branch/lock): Transport operation not possible: http does not support mkdir()16:29
jelmerluke-jr, you'll need to use "bzr branch" rather than "bzr co"16:29
jelmer(I thought that bug was fixed?)16:29
luke-jr:/16:30
luke-jroh, maybe 'bzr pull' doesn't work in a 'bzr co'16:30
luke-jrwhich makes sens16:30
fullermdWell, I'm pretty sure it _works_...16:32
jelmerah, in that case it makes sense16:32
fullermdJust doesn't do what you're trying to do in this case   :p16:32
jelmerif you run "bzr pull" it will try to update the master branch as well16:32
jelmerand you don't have write access to the master branch16:33
luke-jr16:33
luke-jrugh, bzr branch is so slow16:33
Lo-lan-doUse git then.  Oh wait, you can't, git people don't care about interoperability.16:34
luke-jr  File "/home/luke-jr/.bazaar/plugins/svn/__init__.py", line 100, in <module>16:34
luke-jr    from bzrlib.plugins.svn import format, revspec16:34
luke-jrImportError: cannot import name format16:34
jampoolie: care to chat a bit about the code.python.org email?16:34
jelmerluke-jr, Please have a look ~/.bzr.log16:36
luke-jrjelmer: curiously, the ~/.bazaar one seems to break the main install too16:36
luke-jrjelmer: it says the same thing16:38
luke-jrshould I remove the system bzr-svn?16:39
jelmerluke-jr, pushed another fix16:39
jelmerluke-jr, any chance you can try with that (pushed to the samba.org location)16:39
luke-jrcuriously, I couldn't even 'bzr info/pull' without moving it out of the plguins dir16:43
=== bac is now known as bac_lunch
luke-jrjelmer: ok, now I get bzr-svn: at least subvertpy 0.5.0 is required16:47
luke-jrjelmer: subvertpy is part of bzr-svn tho ;)16:47
jelmerluke-jr, no, it's a separate package these days16:47
luke-jrit was in rc1 :/16:49
jelmerluke-jr, Yes, but no longer16:49
luke-jrlp:subvertpy ?16:50
jelmerluke-jr, yep, or one of the tarballs16:50
luke-jrugh, it won't work from ~/.bazaar/plugins16:51
jelmerno, subvertpy isn't a plugin16:51
jelmeryou need to install it16:51
luke-jrit's not packaged16:52
luke-jrany reason it won't work if I put it inside plugins/svn/ like it used to be?16:52
jelmerI removed the support in bzr-svn for supporting that - it extended the python system path, slowing imports down16:53
luke-jrsigh16:54
jelmerLo-lan-do, is there any chance of having a newer bzr installed on alioth?16:57
luke-jrok, reverted that16:57
luke-jrUnable to load plugin 'svn'. It requested API version (1, 11, 0) of module <module 'bzrlib' from '/usr/lib/python2.5/site-packages/bzrlib/__init__.pyc'> but the minimum exported version is (1, 7, 0), and the maximum is (1, 10, 0)16:58
luke-jr:/16:58
jelmerluke-jr, yes, you need at least bzr 1.1116:58
luke-jrsigh16:58
jelmerluke-jr: alternatively, you can wait for bzr 1.12 and bzr-svn 0.5.0 to be released/packaged16:59
luke-jr16:59
luke-jrif I wait for those do I get copy support? ;)16:59
jelmer(-:17:00
luke-jrit's a pain to push, svn checkout, svn commit, pull, all just to make a copy :/17:00
luke-jr  File "/home/luke-jr/.bazaar/plugins/svn/__init__.py", line 159, in lazy_register_optimizers17:01
luke-jr    if _optimizers_registered:17:01
luke-jrNameError: global name '_optimizers_registered' is not defined17:01
luke-jr(this is in my bzr-svn test stuff, branch of a file:/// URI17:02
fullermdMan, I hate trying to read diff when a lot of binary files are involved   :(17:04
jelmerluke-jr, one sec17:04
jelmerluke-jr, that's caused by my ad-hoc fixes for you earlier17:04
luke-jrheh17:05
Lo-lan-dojelmer: I'm fine with backports in general, but I'm a bit iffy about using stuff from experimental on etch.17:05
jelmerluke-jr, please try again17:06
luke-jrjelmer: fwiw, that error exists even with a regular svn+http thing17:07
jelmerluke-jr, sorry, forgot to push. pushing now17:07
jelmerluke-jr, yeah, it was just a typo I introduced17:08
jelmerLo-lan-do, I can upload to backports if that helps17:08
jelmerluke-jr, r241217:08
luke-jrok, it's trying now17:09
luke-jrjelmer: so is there plan for per-file revisioned metadata for bzr?17:10
luke-jror perhaps more appropriate for copy-simulation would be per-file unrevisioned metadata, but that's easily simulated by not changing it ;)17:11
jelmerluke-jr: there already is per-file revision metadata (e.g. name, executable bit). There are no plans for per-file custom revision metadata.17:11
luke-jri c17:12
luke-jrso how would you store extended attributes? ;)17:12
luke-jrjelmer: branch successful17:14
luke-jrnow if only copies worked, I could drop the constant VPN link ;)17:15
jelmerheh17:15
beunodeos anyone know hot so use bzr+ssh in a different port?17:20
pickscrapeDoes anyone have any idea when bzrtools 1.11 will make it into the PPA?17:21
fullermdbeuno: bzr+ssh://foo:12345/some/path/ ?17:21
pickscrapebeuno: is what fullermd said doesn't work, could ~/.ssh/config help at all?17:22
pickscrapes/is/if/17:22
Lo-lan-dojelmer: That would be nice, yes.17:22
beunofullermd, ay...  thanks17:25
aboSamoorHI, my bandwidth is very bad and it disconnects frequently I got this message after breaking a push process "If you're sure that it's not being modified, use bzr break-lock lp-46717904:///~rmyeid/+junk/code/.bzr/branch/lock"17:26
fullermd(in checking it myself, I discover that ssh doesn't die very quickly if you point it at a SMTP-speaking port   :P)17:26
Peng_aboSamoor: "bzr break-lock lp:~rmyeid/+junk/code"?17:32
=== bac_lunch is now known as bac
aboSamoorPeng_: Thanks very much. so why the message add number to the lp ?17:51
garyvdmaboSamoor: It's logged as bug 25045118:05
ubottuError: Could not parse data returned by Launchpad: The read operation timed out (https://launchpad.net/bugs/250451/+text)18:05
garyvdmhttps://bugs.launchpad.net/bzr/+bug/25045118:05
ubottuLaunchpad bug 250451 in bzr "bzr suggests wrong URL for break-lock with a LP hosted branch" [High,Confirmed]18:05
=== dereine[OFF] is now known as dereine
=== _thumper_ is now known as thumper
garyvdmHi - Is there a way to increase the allowed number of Concurrent Requests for the smart protocol?19:04
garyvdmLet me explain why: In qbzr I'm now displaying the transport activity. When the transport activity gets updated, I call processEvents, which causes the QT event loop to cycle.19:13
garyvdmI was testing this with Andrews branch that displays the transport activity for the smart protocol. (http://people.ubuntu.com/~andrew/bzr/traffic-smart/)19:15
garyvdmSo if qbzr is loading somthing, and you do something else though the user interface that causes something else to be loaded, to get a TooManyConcurrentRequests error.19:17
asabilanyone knows the API to use in order to copy an old revision tree into a new working tree ?19:27
jelmerasabil: rebase has a function to do a complete revert19:31
jelmerasabil, you can do a "set_revision()" call followed by that call19:31
asabiljelmer: maybe my question wasn't clear19:31
asabilas I said earlier I am working on filter-branch for bzr19:32
asabiland I just want to create a new branch based on an old branch with no transform operation for now19:32
asabilI just don't know how to recreate new commits identical to the ones from the source branch19:33
asabilbut with a different revid19:33
james_wasabil: revert is the correct operation I guess19:33
james_wrevert is "set the working tree to be the same as this revision tree"19:33
asabilhmm ok19:34
asabilso I should use the code from bzr-rebase ?19:34
james_wgive it a go19:35
asabiloki thanks for the help19:35
james_wor just lookup what the revert builtin does19:35
asabilok thanks19:36
jelmerasabil: I would imagine bzr-rebase and bzr-filter-branch share a lot of code, I think it makes sense to have them in the same plugin19:40
jelmer(maybe we'll need to rename that plugin)19:40
asabiljelmer: yes they will, but I am still experimenting for now :)19:40
asabilI would be really happy to add filtering to bzr-rebase19:40
asabilI am not very familiar with the bzrlib APIs19:41
fullermdHow are you defining what to adjust in the filtering process?19:42
asabilit is not really filtering19:43
fullermd(from a user perspective, I mean)19:43
asabilbut more like copy-and-modify19:43
asabilfor now I would like to be able to apply a filter on commit messages to rewrite them19:43
asabilfullermd: not sure if I answered your question :)19:44
fullermdNot exactly, no.  I mean "How do I as a user of filter-branch specify what to change?"19:44
asabilI will probably go for the same solution as git-filter-branch19:46
asabilsomething like19:46
asabilbzr filter-branch source destination --message-filter="sed -i -e 's/hello//'"19:46
fullermdAh.19:46
asabilit is not optimal, but still, it will be useful enough for most users I guess19:47
fullermdI have this occasionally-recurring idyll that it would be kinda fun (in my CFT of course) to try designing a somewhat VCS-agnostic grammar for describing history rewrites like that.19:48
asabilhmm, that would be a good idea indeed19:50
fullermd(at least general enough to handle the general class of DAG-history VCSen, anyway)19:51
fullermdYah.  Could be pretty useful.  And I think it'd be a fun thing to play with.19:53
fullermdI currently have it scheduled to do after I deal with some more urgent things on my todo.19:54
fullermdWhich means it's currently scheduled for spring 2075...19:54
asabilrofl19:54
bialixyou're immortal I guess19:55
fullermdI am indeed.19:56
fullermdSo far, so good.19:56
bialixanybody saw LarstiQ here today?19:57
fullermd6 hours ago or so...19:57
bialixheh19:57
bialixfullermd: did you made bzrtools package for FreeBSD?19:58
fullermdI didn't make it, but I'm the current maintainer of the port, yah.19:58
fullermd(packages are auto-built from the port; I don't have any direct control over that)19:59
bialixyeah, thank you. I know you're take care about bzr @ FreeBSD19:59
bialixso  have the luxury to use bzr at my hosting19:59
bialixI have the luxury19:59
fullermdIt's 'cuz I'm too impatient to wait for someone else to get around to updating it when new releases come out   ;)20:00
bialixcan you suggest me the link for bzrtools @ FreeBSD? so I can nag my hoster to install it20:00
fullermdIt's in ports/devel/bzrtools/, next to bzr at devel/bazaar-ng/20:01
bialixoh, indeed. I'm not very smart20:02
bialixgreat20:02
fullermdThe bug thread earlier today about the package depends in Ubuntu did make me think about whether the graphviz depend should be on by default...20:03
fullermdMaybe I'll flip that next time there's a release.20:04
bialixwhat's the filter-branch discussed here earlier?20:08
bialixasabil?20:10
asabiljames_w: using tree.revert complains about unversioned files20:11
asabilbialix: a small proof of concept plugin, to be able to generate new branches from an old branch20:11
asabilby applying transforms20:11
bialixasabil: does your code public already?20:11
asabil(changing commit message, removing files ...)20:11
bialixI'm interesting in such plugin20:11
asabilno it is not working at all yet20:12
jelmerasabil, Did you try the complete_revert () from rebase?20:12
asabilI am still diving into the bzrlib APIs20:12
jelmerfullermd, I've already done that for Debian20:12
asabiljelmer: I am not sure how to use it20:12
bialixI need the way to factor some subdir out of the branch20:12
jelmerfullermd, since it was pulling X libraries on servers, etc20:12
asabilwhy does it take newparents as a parameter ?20:12
bialixbut instead of split I'd like to copy only relevant history20:13
bialixasabil: does your plugin will allow this?20:13
asabiljelmer: for revision 1, the parents is []20:13
asabilbialix: it is inexistant yet, I will release it asap20:13
fullermdjelmer: Yah, that was what I was reading   ;)20:13
bialixyep, I understand. I'm just trying to understand what it will an what it won't20:14
asabilbialix: it is more of the other way around, but it will sort of allow you to do such things20:14
jelmerasabil, it resets to the contents of parents[0] and sets the other parents as pending merges20:14
asabiljelmer: and how to handle the 1st commit ?20:15
jelmerasabil, the empty tree you mean?20:15
jelmerasabil, [NULL_REVISION]20:15
asabildoesn't work20:15
asabilERROR: Reserved revision-id {null:}20:16
jelmeroh, that would need special casing then I guess20:16
jelmerrevision_tree() ?20:17
asabiljelmer: ok I special cased it and it does work :)20:18
asabilthanks a lot20:18
asabilI will just need to make the tree.commit () shut up20:18
asabiland it will be awesome20:18
jelmerasabil, any chance you can send a patch for that to bzr-rebase?20:18
asabilthanks a lot :D20:18
LarstiQbialix: heya20:19
asabiljelmer: the special casing for complete_revert ?20:19
bialixheya!20:19
jelmerasabil, yeah20:19
jelmerhey LarstiQ20:19
asabilyes sure, will do20:19
asabilI just have to run right now20:19
jelmerooh, LarstiQ and bialix here at the same time20:19
asabilwill work on it this evening20:19
asabilttyl20:19
jelmerasabil, thanks!20:19
* LarstiQ starts up his mail client20:19
bialixasabil: I've read help on git-filter-branch20:19
LarstiQbialix: did you get my mail in the end?20:19
bialixyes, this morning20:20
LarstiQcool, I wasn't sure it would actually be delivered20:20
bialix--subdirectory-filter <directory>  -- that's what I need for scmproj20:20
bialixwhy not?20:20
bialixjelmer: btw, the text from ukr.net was in the Russian actually. but there is very small difference20:21
jelmerbialix, ah, sorry20:21
bialixbrrrr, why you said sorry?20:21
LarstiQbialix: and got your reply, thanks20:21
bialixLarstiQ: I'm very interesting to know about nested-by-reference20:22
bialixhow the reference is stored? can you nest already nested trees?20:23
jelmerbialix: In case I had offended by confusing the two.20:23
bialixoh, no20:23
bialixnonono20:23
bialixno offence20:23
jelmerok :-)20:24
bialixactually my native language is Russian20:24
nuaanyone recognise this error: "bzr: ERROR: Server sent an unexpected error: ('error', "invalid literal for int() with base 10: 'None'")" ??20:24
LarstiQbialix: I have to page in the knowledge of how this works exactly again20:24
bialixif this possible, please20:25
bialixam I understand correctly that nested-by-values are stored in the parent dirstate?20:25
bialixdirstate of child tree -> parent dirstate20:26
LarstiQiirc, nested by value includes the file graph of the child in the parent's graph20:26
LarstiQso that would get into the dirstate, yes20:27
bialixso the graph is recalculated?20:27
LarstiQbut this is all airi, too long not looking at it20:27
LarstiQbialix: the join and split commands should be in bzr core for a while now, I don't think that code is too different20:27
bialixmay be I'll try to describe my problem wuth scmproj, so universe supermind can suggest something?20:28
bialixwith20:28
* LarstiQ nods at bialix 20:28
bialixscmproj tries to operate with "project" as set of branches20:28
bialixit's like a cheap emulation of nested trees20:29
bialixhi amanica!20:29
AmanicAhi guy20:29
bialixbut I'd like to put some smaller project into other bigger megaproject20:30
bialixand call it subproject20:30
bialixbut what if my subproject also has inside another subproject?20:30
AmanicA(bailix are you talking to me or did I join a conversation halfway?)20:31
bialixI've thought idea or implementation of nested tree "by reference" will give me some klue20:31
bialixclue, sorry20:31
bialixI'm talking to LarstiQ, and to universe supermind here20:32
AmanicAcool :)20:32
LarstiQbialix: nested-trees has a CompositeTree, that allows for a nesting of subtrees more than one level deep, which you seem to be running into?20:32
* LarstiQ believes lifeless wasn't too fond of that solution20:32
bialixI guess so20:32
bialixmy subprojects always will be nested by reference, IIUC20:33
LarstiQyeah, that makes sense20:33
bialixthere is another nasty problem I can't figure out yet: recursion20:33
LarstiQoof20:34
Lo-lan-dojelmer, Jc2k: I've been wondering about the colocated branches and bzr-git, thinking about the possibility of interacting with several git branches from bzr.20:34
LarstiQbialix: is it needed? If not, it should be possible to disallow it?20:34
bialixLarstiQ: I guees bzr can detect recursion by TREE_ROOT id?20:35
bialixLarstiQ: what's exactly? to dissalow20:35
Lo-lan-doAssuming push-to-git is completed soon, could one use branch renames in git to interact with various git branches in the same git repo?20:35
bialixdisallow20:35
bialixI can disallow nested subprojects, but I think it will be bad20:36
Jc2kLo-lan-do: i think so.. as a temporary hack until we can properly do colocated branches..20:37
bialixLarstiQ: CompositeTree implementation in your branch only? or in bzr.dev too?20:37
LarstiQbialix: in my branch only20:37
LarstiQbialix: there are still bugs in there20:37
LarstiQbialix: like, moving a file across subtree boundaries20:38
bialixthat's nightnare problem20:38
Lo-lan-doJc2k: That's cool, since we could just script something that renames each git branch to master, then push/pull into it, then rename it back.20:38
bialixnightmare20:38
bialixLarstiQ: how the branches are changed after join?20:38
LarstiQbialix: I meant disallowing recursion, at add time you should be able to figure out, with TREE_ROOT, wether you're looping, and if so, don't add it20:39
LarstiQbialix: join and split are for by-value20:39
bialixLarstiQ: it's not my case20:39
* LarstiQ nods20:39
bialixbzr join has option --by-reference20:39
LarstiQah right20:40
* LarstiQ is more familiar with the bzrlib side of things20:40
bialixno, sorry, just --reference20:40
LarstiQbialix: and as I said, it has been a while, but I would be very happy to get it back on track20:40
LarstiQbialix: you're providing excellent stimulation to work on it :)20:40
Jc2kLo-lan-do: well people desperate enough could, i dont think we'd want to ship anything quite so.. unique! :D20:40
bialixLarstiQ: it will be great20:40
LarstiQbialix: so thank you for that20:40
bialixme?20:41
Lo-lan-doJc2k: The point is to allow me and the git guy to work on the same project without the SVN wart in the middle.20:41
LarstiQbialix: yes, thank you for motivating me20:41
Jc2kLo-lan-do: yeah, it would be ideal for you20:42
* bialix still don't understand how the nested tree will work under the cover20:42
AmanicAbialix: so is this recursion problem about finding the parent project?20:42
bialixyes20:42
LarstiQbialix: the most relevant code is bzrlib/composite_tree.py (and bzrlib/tests/test_composite_tree.py) btw20:42
lifelessmoin20:42
* bialix going to run bzr branch20:42
lifelessJc2k: you had questions for me20:43
LarstiQbialix: adding a subtree: tree.add_reference(subtree)20:43
lifelessLarstiQ: I was fine with the solution as a stepping stone; but loading all the trees always doesn't scal20:43
AmanicAbialix: why cant we just split /x/y/z into ('x','y','z') and then chop off one, check, repeat?20:43
LarstiQbialix: iirc, some of the semantics were still up in the air. One thing jelmer wants for example is ala svn:externals, "give me HEAD of that library over there"20:44
LarstiQlifeless: ok. And agreed.20:44
bialixAmanicA: umm?20:44
AmanicAbialix we can use path.split(/x/y/z) to get ('x','y','z')20:45
Jc2klifeless: oooh. umm. for one of them, see the bzr-hookless-email thread on ML20:45
bialixLarstiQ: my plugin now working exactly this way20:46
AmanicAbialix: then we can move up one by one and check if it has a .scmproj20:46
lifelessJc2k: I saw; I'm curious why smart server hooks didn't do what you need - but hookless polish is nice too20:46
bialixamanica: let's imagine you already have some megaproject20:46
bialixamanica: and then you add it to another megaproject as subproject20:47
bialixwe need to catch recursion at fetch/checkout operations20:47
Jc2klifeless: i presumed that doing a lot of stuff in smart server hooks would mean more time until the user at the end of bzr push could resume hacking, and thats why hookless existed20:48
AmanicAbialix: so that they don't contain each other..20:48
bialixamanica: actually, I'd like to keep all metainfo about subprojects (even nested) inside parent control dir20:48
lifelessJc2k: hookless exists because smart server hooks are recent20:48
lifelessbrb20:49
LarstiQand because not all sites run the smart server20:49
AmanicAbialix: so you don't want to assume that all subprojects are in a subdir of its parent project?20:49
bialixLarstiQ: your branch is indeed old! it gave me upgrade warning20:49
LarstiQbialix: yes :(20:49
* bialix still branching...20:50
LarstiQbialix: I've started to merge bzr.dev back in20:50
Jc2klifeless: so there are hooks and smart server hooks..?20:50
LarstiQbialix: I'll upgrade the branch format when I push that20:50
bialixamanica: we need the way to mark subprojects as such20:50
AmanicAbialix: then we so while we walk the subproject tree, we just keep a cache of visited projects, and don't add them again.20:51
bialixeither we keep their own .scmproj all around (a-la .svn) or we keep everything inside parent .scmproj20:51
bialixAmanicA: but how we detect visited projects?20:51
* bialix guess scmproj should force usage of rich-roots20:52
AmanicAbialix: I think each project/subproject should have its own .scmproj20:52
* Lo-lan-do guesses rich-roots really should be enabled by default20:52
* bialix too20:52
bialixbut it's the trap door, and this is pain in the ass20:53
* LarstiQ would like to have rich-root default, or a way to get data from rich-root to non-rich-root20:53
LarstiQbialix: yeah :/20:53
* bialix too20:53
Lo-lan-doWell, it depends on what there is to gain on the older side of the trapdoor.20:53
* bialix guesses fast-import can help here20:54
AmanicAbialix: I don't know where the proj tree traversal code is, I can play with it I might understand better20:54
fullermdI think the last concensus was that the fence would be jumped with the repo format with new inventories, since that require rewriting $LOTS anyway.20:54
bialixAmanicA: there is no traversal code yet20:54
bialixit should be in the run_actions loop20:55
bialixas the resursive call20:55
bialixI really need to figure out how to store subproj info first20:55
kfogelSo what is "rich-root"?  Doing a search for it on bazaar-vcs.org turns up two links, neither of which explains it.20:55
AmanicAbialix: so when/if you actually run into this, call me up and we can figure it out. I'm sure we will be able to.20:55
bialixAnybody wanna throw in me rotten tomatos?20:55
bialixwell, we are already here20:56
lifelessJc2k: smart server hooks -> hooks fired on the server, same interface, same registration, just needs a client that knows to tell the server 'run now'20:56
fullermdA root that engages in oppression and exploitation of the proletariat, of course.20:56
bialixI'd like to keep the subprojects info in the .scmproj/subproj/<NAME>20:56
AmanicA:)20:56
bialixfullermd: LOL20:57
bialixI'm born in the USSR20:57
lifelesskfogel: the root node was treated specially in early bzr, which we think was a mistake20:57
bialixI've born20:57
LarstiQkfogel: rich-root formats store an extra bit of metadata, namely the fileid of the tree root20:57
AmanicAbialix: just because of the recursion problem?20:57
lifelesskfogel: rich-roots correct that and have them treated normally.20:57
bialixI guess svn has the ID too20:57
lifelesskfogel: in principle the root of a rich root could be a file or symlink even :P. in PRINCIPLE.20:58
lifelessbrb fooding20:58
bialixAmanicA: no, just to make the entire project looks flat20:58
kfogellifeless, LarstiQ: um.  Thank you.  But, as a user, what does "rich-root" mean to me? :-)20:58
Jc2klifeless: right. and if you wanted to do stuff for each revision that just got inserted, it would block the user that is pushing until it finishes?20:59
AmanicAbialix: I'm hoping that we can avoid it, but its your call.20:59
LarstiQkfogel: pain.20:59
AmanicAditto20:59
bialixWDYM: it's my call?20:59
LarstiQkfogel: a concrete problem with non rich-root formats, is that if you want to do nested-trees, you have two entries that have the same fileid, 'TREE_ROOT'20:59
LarstiQkfogel: so with rich-root, each would have their own unique id21:00
AmanicAbialix: its your decision21:00
bialixyou don't like it? why?21:00
LarstiQkfogel: bzr-svn makes use of rich-roots (I believe because it can/wants to split and join trees)21:01
fullermdAnother is that it means you can't do a root pivot, if bzr had a root pivot command.21:01
AmanicAbialix: I don't want the subproject info in the parent project's special dir21:01
bialixbut we need to mark somehow subproject as such21:01
bialixhow?21:01
Lo-lan-doLarstiQ: I thought it's because it stores additional metadata as properties of the root dir, but I might be talking nonsense.21:02
AmanicAbialix: we can have a section in project.cnf21:02
AmanicA.cfg21:02
bialixfor backlinks?21:02
bialixit's bad idea21:02
bialixwe version control this file21:03
bialixso we need to use local config21:03
AmanicAbialix: I think its good21:03
LarstiQLo-lan-do: quite posisble, I'm a bit detached from the actual bzr-svn usage21:03
LarstiQkfogel: now, all this is fine and good.21:03
AmanicAto version what subprojects are part of the superproject21:03
bialixbut then you'll get subproject as standalone project and this backlink will be there forever?21:03
LarstiQkfogel: except, non rich-root formats can't represent this information, so when someone branches of a non-rich root, then upgrades, their work can no longer flow back.21:04
LarstiQkfogel: which I think is a major PITA21:04
Lo-lan-doLarstiQ: I'm trying to get detached too, but I'm stuck with it until bzr-git gets push support.21:04
bialixAmanicA: well, we already should explicitly point at subproject in the megaproject config21:04
etenilHello21:05
LarstiQetenil: hello21:05
AmanicAbialix: I mean the magaproject needs to know of its subprjects, not backlinking it21:05
kfogelLarstiQ: I started half understanding that, toward the end...21:05
bialixAmanicA: look please at the bug https://bugs.launchpad.net/bzr-scmproj/+bug/31315021:06
ubottuLaunchpad bug 313150 in bzr-scmproj "project comands for local project checkout should be possible to run from subdir" [Medium,Confirmed]21:06
AmanicAok21:06
kfogelLarstiQ: (not trying to play-act the part of stubbornly ignorant user -- I really am struggling to understand when/how to use/care about rich-root.)21:06
etenilI'm using bzr with tortoise-bzr for work but a lot of features are missing. What GUI is the most advanced for windows currently?21:06
* LarstiQ nods at kfogel 21:06
bialixetenil: if you need standalone GUI -- bzr-gtk then21:07
LarstiQkfogel: right now, I'd say, stay away from them, unless you know you need them.21:07
bialixif you can live with command-line -- QBzr then21:07
etenilbialix: even for windows?21:07
AmanicAbialix didnt we discus having a --me-only option?21:07
pickscrapeDoes anyone know when bzrtools 1.11 will hit the PPA?21:07
bialixetenil: bzr-gtk? yes21:07
AmanicA(or something like that)21:07
bialixetenil: for bzr-gtk see http://bazaar-vcs.org/WindowsInstall21:08
etenilbialix: thanks a lot, i'll give it a try. Some of my colleagues are allergic to the command line21:08
bialixetenil: I'm very happy with FAR21:08
LarstiQetenil: I'd go with QBzr (which tortoise uses under the hood too)21:08
bialixit's more than just command-line21:08
LarstiQetenil: what features are you missing?21:08
bialixAmanicA: --me-only?21:08
bialixI don't remember21:09
AmanicAbialix: some option to say that we run command for this subproject only21:09
bialixetenil: what is missing for you in TBZR?21:09
etenilLarstiQ: conflict resolution, update to a previous revision21:10
bialixAmanicA: yes, it's make sense21:10
etenilrevert only a file21:10
etenilthis kind of thing21:10
AmanicAbialix: that bug is important for me too21:10
AmanicA(to get fixed)21:10
bialixAmanicA: this bug is main confusion for me and subprojects21:11
bialixif we put subprojects as is we need the way to somehow mark them as subprojects21:11
bialixbut then one can just copy the subproject by hand and things will be broken21:12
bialixthis is *the* problem21:12
bialixLarstiQ: may I ask you to look at my plugin in the near future and say me what you think?21:13
LarstiQbialix: yes21:13
bialixI need more feedback21:13
LarstiQbialix: my day off is wednesday, I have some prior commitments, but I intend to spend time on nested-trees and scmproj both tomorrow21:14
bialixone guy call it "clunky". but I don't understand what it means21:14
LarstiQbialix: other than that, I will be on vacation in Finland 10-18 february, so also more time for these things21:14
bialixmmmm, vacation!21:14
LarstiQbialix: clunky is similar to cumbersome21:14
LarstiQ(visiting my girlfriend actually)21:14
bialixyou're happy21:14
bialixLarstiQ: but what it means exactly? what's wrong?21:16
bialixit's the only a word21:16
LarstiQbialix: I'm also a non-native, let me look up how to describe this differently :)21:17
bialixno21:17
bialixI mean: this means that guy don;t like something21:17
bialixbut I need to know what exactly21:18
bialixsomething in the design? or in the implementation?21:18
LarstiQbialix: yes, it is a feeling/impression that it is not elegant21:18
bialixor main idea is clunky?21:18
LarstiQah, that I don't know21:18
LarstiQis his comment public?21:18
LarstiQ'clunky' by itself isn't very useful feedback21:19
bialixyep21:19
bialixI need more helpful feedback21:19
bialixeven negative one21:19
* LarstiQ nods21:22
LarstiQbialix: I'm going to try to apply it to some of my branches from work tomorrow.21:23
LarstiQand will report my experience21:23
lifelesskfogel: rich root means 'a one way upgrade that propogates to all users of a project'21:23
lifelesskfogel: thats about it21:23
bialixoh, your branch is cloned21:23
bialixLarstiQ: I hope we will have better scmproj implementation in the Feb21:24
* garyvdm wishes he could use python 3.0's nonlocal feature.21:26
LarstiQbialix: I started reading the current docs/devel.text and docs/howto.txt, is that knowledge going to get obsoleted?21:26
bialixdocs/devel.txt: we are working on new project.cfg format and new layout of .scmproj21:27
bialixsome new docs available at http://bazaar-vcs.org/ScmProj/ (under the horizontal bar)21:28
LarstiQbialix: k21:30
kfogellifeless: one thing that it took me a while to get through my head: bzr's storage format and transport format are intertwingled.  That is, in many systems the format on the server side can be independent of the format on the client side.  But in bzr, the client gets whatever the server has, and (apparently?) doesn't do automatic downgrade/conversion if client is a lower version than server?21:30
bialixLarstiQ: main idea of new config: everything is optional21:30
Lo-lan-dokfogel: There's a question of losing information if the client isn't able to represent it.21:31
lifelesskfogel: well, the only system I know of that is truely seperate is hg; git uses its local pack format, cvs uses its delta format etc21:31
lifelesskfogel: anyhow, many operations in bzr use a VFS rather than smart verbs, mainly due to 'TODO'. (Clearly working over plain http is all VFS based, as is local disk, so diminishing returns apply to structuring those operations that also perform well on their own)21:32
kfogellifeless: no, CVS's server-side storage is actually independent of the client (they just look similar); SVN is also independent.21:33
kfogelObviously, any time a server sends something a client can't represent, there's going to be a problem :-).21:33
lifelesskfogel: they may be defined as being independent; having written a CVS parser though, I am pretty sure they are the same :)21:33
kfogellifeless: ?  Server just sends diff format to the client.  The diffs are not actually the same ones that appear in the RCS files, usually.21:34
kfogel(not that any of this matters for bzr, so maybe I should shut up :-) )21:35
lifelesskfogel: depends on the verb you call, you can ask for the whole rcs file21:35
lifelesskfogel: IIRC - I'll dig it up if it really interests you21:35
kfogelno, it definitely does *not* interest me :-)21:35
lifelesskfogel: (its in cscvs's CVS module21:35
* LarstiQ grins at kfogel 21:35
* kfogel looking as uninterested as possible21:35
kfogellifeless: I believe you! :-)21:36
lifeless:P21:36
lifelesscheck up, I could well be wrong. I just don't think I am :)21:36
LarstiQaaanyway21:37
* LarstiQ goes home21:37
bialixLarstiQ: bye21:38
bialixI'll read your code, hope will have more specific question tomorrow21:39
LarstiQbialix: most of it is still Aaron's code, I didn't actually do all that much21:41
bialixLarstiQ: where add_tree method lives?21:42
fullermdI think mtn's wire format is completely divorced from its storage as well.21:42
LarstiQbialix: add_reference?21:43
bialixah, yes21:44
bialixmu bad21:44
lifelessfullermd: opposite - its a merkle tree21:44
lifelessfullermd: so there is a canonical representation you need chained hashes all the way down - doing it without it being precalculated (e.g. your native format) -> expeeeensive21:45
lifelessmtn syncing is closer to bittorrent than anything else :)21:45
fullermdWell, I meant in the sense that it comes off disk, is converted to a different format, sent across the wire, converted to a different format, then blatted onto disk.21:48
fullermdIt doesn't just stream all the bytes coming off the network into a file (or DB record), like git sending whole packs, or bzr doing its VFS thing.21:48
fullermd(at least, AIUI)21:48
lifelesswell sure21:49
lifelessbut bzr doesn't do that either in a manner of speaking :)21:49
fullermdWell, no.  That's why it's not fast enough  ;p21:49
=== rizitis_away is now known as rizitis
fullermdOr alternately, it does too little to be real fast, and too much to be real independant of the far side format...21:51
nuaHi, trying to get someone set up on a shared repo and they are using windows. I want them to use bzr+ssh:// but they can't seem to log in and the ssh key they generated in putty me looks different to mine :S ...its all numbers only21:52
lifelessfullermd: my point is that independence is not about disk representation so much as how much of the stack you depend on to write a lookalike server. e.g. for git you need chained hashes to infinity. Same for hg and mtn.21:52
nuaany help would be great :D21:52
lifelessnua: well, there is a faq about windows and ssh I think, on the bazaar-vcs.org website21:53
nuawe've been following that :s, says nothing about the keys21:53
bialixnua: where you host your repo? at windows or linux?21:54
fullermdlifeless: OIC.  That would be a somewhat different axis than occured to me in scanning my scrollback.21:55
nuabialix: linux21:56
kfogelWhy does https://lists.ubuntu.com/archives/bazaar/2009q1/051589.html say "An embedded and charset-unspecified text was scrubbed..." instead of having the body of my message?21:56
bialixputty generate keys in its own format21:56
bialixnua: you need to convert it to linuc format21:56
nuabialix: ah ok, how do I do that?21:57
lifelesskfogel: not sure; ask a sysop?21:57
bialixputtygen has the menu option for this IIRC21:57
kfogellifeless: ok, thx21:57
bialixnua: main menu -> conversion -> export oen ssh key21:59
bialixopen ssh21:59
bialixwhy for open_branch hook is designed? what's use case?22:09
lifelessbialix: policy control for smart servers22:10
bialixcan it be used for ACL?22:10
lifelessif you raise an exception the branch can't be opened, so yes. Though it might look a little ugly as-is22:11
bialixto prevent read/write access?22:11
bialixwhat is policy control then?22:12
lifelesscurrently just setting the stacking information22:15
lifelessbut its wide open for extension if you have something you want it to do22:15
bialixI need access control22:18
bialixsetting up ssh on windows is not funny22:19
bialixanother way (as I understand) is using Apache22:19
fullermdWith what assurance level?22:20
bialixI will be very happy to have built-in ACL support in bzr smart server22:20
fullermdI mean, as long as VFS support is enabled, any access control short of the hard root is pretty soft.22:20
lifelessbialix: once we get VFS disabled I too am interested in ACL's22:20
lifelessfullermd: write-ACL is easier22:20
lifelessfullermd: just prohibit writes until ACL check passed22:21
fullermdThat would still only protect you at repo boundaries.22:21
lifelessfullermd: and outside that you're chrooted anyhow, and we shouldn't write to non repostuff at all with acl's on22:22
fullermdRight, but I mean as soon as you're OK'd to do anything in a given repo, you can pretty much to anything to anything in that repo.22:23
bialixkfogel: it's nice story: http://bazaar-vcs.org/Scenarios/PrivateShare :-D22:25
kfogelbialix: uh, please feel free to whip that one into shape :-)22:26
bialixI'm not native English speaker22:26
kfogelHmmm, while we're at it, what is our commit email story?22:26
kfogelSo far, all the systems I've seen for generating commit mails run on the individual developer's machine.22:26
lifelesskfogel: install bzr-email on the server, use bzr server and client 1.8 or newer (if I recall the version correctly)22:27
kfogel*nod*22:27
Lo-lan-doI thought there was one hook called on the server?22:27
lifelessLo-lan-do: its the same hook22:27
lifelessLo-lan-do: see the most recent bzr-email commit, I changed hooks and thus it works ;)22:28
Lo-lan-doHaven't started bzr-email so far, but will do at some point.22:28
Lo-lan-doEr, haven't started *using* it.22:28
kfogellifeless: the real issue (not one we should try to solve now) is probably that there are two distinct concepts: a "checkpoint" and a "commit" (or a "commit" and a "merge", or something).  What devs do with their local branches are usually checkpoints; when they pull or push a set of changes, the result is a merge, and (on the master branch) that's what should produce a so-called commit email, IMHO.22:28
lifelesskfogel: yes, thats what I describe does22:31
lifelesskfogel: though some projects want continual integration, others want stronger qa, etc etc22:32
kfogellifeless: "that's what what I describe does"?  (just checking that I'm parsing right)22:33
lifelessbzr-email on the server will trigger emails on push/uncommit/commit to the branches its set to notify on22:34
kfogellifeless: so the comments near the top of https://savannah.gnu.org/support/index.php?106612 (comments #4, #5, #6, #7) are confused, and I should tell the Savannah admins that bzr-email does what we want?22:34
lifelessJc2k: re blocking the user - 'maybe'. Some hooks want to block the user. Others want to be async; the hook interface specifies whether things are pre-or-post - pre should block, post shouldn't.22:35
lifelessreading22:35
* bialix waves bye22:35
lifelessciao bialix22:35
Jc2klifeless: so post hooks run after the bzr client has been and gone?22:36
kfogellifeless: so if I push N commits into branch B, and bzr-email is set to trigger email, one email will go out, containing the cumulative diff of the N commits, not N diffs nor N emails, right?22:36
lifelessJc2k: implementation vs interface :P22:37
lifelessJc2k: I'm saying that having post hooks on the server run via e.g. dbus, or threads, or fork, is all permitted22:37
lifelessJc2k: though ones that want to give feedback to the user naturally have to block the UI22:38
Jc2kright..22:43
lifelessanyhow, like I said, hookless polish is nice22:44
lifelessfor folk wanting to use e.g. sftp for hosting where server side hook firing is much harder22:44
ronnyoh, heh - yay - i just figured how to exactly to deal with bzr in anyvc22:45
Jc2kin that case use case, reusing Branch.hooks is probably the right thing to do, even if the PostBranchTipChange behaviour is slightly different22:45
Jc2k(2 branch tip changes could become a single event)22:46
lifelessJc2k: yeah, I don't really see any reason to have different interfaces22:46
lifelessunless things really are different22:47
Jc2klifeless: yeah, it was only a worry if there was a use case for using this (out of process) instead of using the hooks in process. if i use Branch.hooks, the hook would happen in-process and out-of-process22:48
Jc2kbut it sounds like you'd never want out-of-process (hookless) when you have the smart server22:48
lifelessJc2k: there is a similar concern with client and server hooks22:48
nuamy friend is trying to connect to a shared repository hosted on linux from his windows machine using tortoise-bzr and now we only get the following error: bzr: ERROR: Server sent an unexpected error: ('error', "invalid literal for int() with base 10: 'None'")22:49
ollieis there a way to do a cat of a specific file at a specific version?22:49
lifelesswe want some things to run on the client, but not if the server will run *the same hook*; and the server has to have the plugin active to meet that check - its unsolved today :P22:49
nuathe only way to fix it is to delete the repo, bzr init again and push from my machine22:49
lifelessollie: bzr cat -r X path22:49
ollielifeless: thanks :)22:49
lifelessbeuno: please give me scroll bars back : http://bazaar.launchpad.net/~bzr/bzr-email/trunk/revision/3922:50
asabiljelmer: http://pastebin.com/m6c2e8a0d22:51
asabildoes this look good ?22:51
jelmerasabil, yeah22:52
lifelessspiv: ping22:54
asabilcool22:55
lifelessspiv: when did you activate post_change_branch_tip in the server?22:55
Lo-lan-doasabil: Is that the thing which will allow a rebasing onto an unrelated branch?22:55
Lo-lan-doAh, no, sorry.  Misread.22:56
asabil:)22:56
* Lo-lan-do goes back to bickering about bzr-svn and bzr-git22:56
jelmeruhoh22:57
jelmershould I be expecting a flood of bug reports?22:57
Jc2kjelmer: i have one, but i cant decide wither its bzr or bzr-git :P22:58
Lo-lan-dojelmer: Not yet, and I'll probably try to fiddle with stuff first.22:58
Lo-lan-dojelmer: I'm trying to bzr checkout (or branch) a copy of the old svn repo, and I get "NoSuchRevision: KnitPackRepository() has no revision foo"22:59
Lo-lan-doI suspect tricks with the repo's uuids.23:00
Lo-lan-doI'll probably end up doing svnadmin dump | filter.pl | svnadmin load to remove old bzr-related properties from the SVN repo, unless you're confident it won't help.23:00
lifelessJc2k: file it on bzr-git then23:01
Jc2klifeless: should repo.gather_stats work if there is no history yet?23:02
jelmerLo-lan-do, no, that may very well help23:02
jelmerLo-lan-do, is this the same repository you filed that debian bug about?23:02
spivlifeless: hmm23:02
jelmerJc2k, ah, that bug23:02
jelmerJc2k, that's both a bzr and a bzr-git bug23:02
Lo-lan-dojelmer: I think it's another one obtained from the first one, or from the same source.23:02
lifelessspiv: its hard to tell; I think thats a bug23:03
spivlifeless: probably 1.6, I think the Branch.set_last_revision_ex verb was the key23:03
jelmerJc2k, bzr should be allowing a *completely* empty repository and bzr-git should be mentioning NULL_REVISION23:03
Lo-lan-dojelmer: svn://scm.fusionforge.org/fusionforge if you want to give it a try.23:03
kfogellifeless: re my earlier question -- I'd like to pass along the answer to savannah admins:23:03
kfogellifeless: so if I push N commits into branch B, and bzr-email is set to trigger email, one email will go out, containing the cumulative diff of the N commits, not N diffs nor N emails, right?23:03
spivlifeless: (I think it had perhaps briefly worked during a 1.4 rc, but an apparently unrelated change had stopped the client from using the necessary verb, or something like that)23:04
spivlifeless: I agree that that's a bug23:05
lifelessJc2k: is inotify support in bzr-hookless trunk?23:05
lifelesskfogel: 1 email23:05
lifelesskfogel: it might be ugly, patches appreciated.23:06
lifelesss/might/probably is/23:06
Jc2klifeless: there is inotify in bzr-hookless-email and in my pluginified hookified version in lp:~johncarr/+junk/bzr-watcher23:07
lifelessJc2k: cool23:07
lifelessJc2k: https://savannah.gnu.org/support/index.php?10661223:07
kfogellifeless: great.  That might even be a patch I can do, but at least this is enough for Savannah admins to get started.23:09
Jc2klifeless: i was under the impression that hookless-email had had inotify for yonks23:09
lifelessJc2k: my bad- your mail confused me :)23:10
Jc2ki fail at english :(23:10
Jc2kjelmer: if i want to implement dpush, GitRemoteBranch.dpull is where i should start?23:13
Jc2kjelmer: i've been thrown off by GitRemoteBranch.__init__ doing a fetch :\23:13
jelmerJc2k, I'm already working on dpush, to make sure we can push dulwich back into git..23:13
jelmerI'm working on local though, not remote23:14
Jc2kah23:14
Jc2ki'll leave it alone for now then23:15
Jc2kjelmer: does dpush rebase post-push to alter the revision ids?23:22
jelmerJc2k, yes23:22
Jc2kjelmer: so if i hack on branch a, then branch that (as b) and hack on that, then dpush a.. i wont be able to merge b into a?23:22
Jc2k(unless i dpush first)23:23
jelmerJc2k, yes23:24
* Lo-lan-do finds the SVN::Dumpfilter module for Perl23:27
Lo-lan-doThat's probably going to make my life easier :-)23:27
Lo-lan-doBut not tonight.  /me → sleep23:28
asabilvery quick and dirty, will probably get rewritten someday: lp:~asabil/+junk/bzr-filter-branch23:35
=== sabdfl1 is now known as sabdfl
asabilouch23:38
asabilit doesn't work :/23:38
igcbbl23:38
lifelessjelmer: what did you need VirtualVersionedFiles.iter_lines_added_or_present_in_keys for ?23:47
lifelessjelmer: (it should _never_ get called unless you are claiming to have xml backend storage)23:47
jelmerlifeless, somebody had created a branch stacked on a svn branch23:47
jelmerlifeless, and was running "bzr stacked_branch new_branch"23:48
lifelessso bzr format stacked on svn format; branching from the bzr format23:50
lifelesshmm23:50
jelmerlifeless, it works with that function23:50
lifelesseep23:50
lifelessok23:50
lifelessI'm not sure how you can tell what xml format to expose23:50
lifelessstacking is still _very_ format specific; I'm guessing you lie about your serialisation type?23:50
jelmerlifeless, I've just hardcoded it to a particular version at the moment23:50
jelmerlifeless, without that, I can't do versionedfiles *at all*23:51
jelmeras Repository.inventories and Repository.revisions use it23:51
jelmerlifeless, this is one of the reasons I've been asking about a more generic stacking API :-)23:52
lifelessjelmer: I think you need to write it :)23:52
lifelessjelmer: I'd like to see it too, but ETIME.23:52
jelmerlifeless, I was afraid that's what you were going to say :-)23:52
lifelessjelmer: did you have any idea why the compressbench thing worked for you?23:53
lifelessjelmer: also, could you paste me a comparison of knit<->git<->dulwich using that23:53
jelmerlifeless, do you remember the arguments?23:54
lifeless--delta git --delta dulwich --delta knit23:54
lifelessoh, and --limit if you have a really big repo, otherwise it will use all the inventories23:54
jelmerok23:55

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