/srv/irclogs.ubuntu.com/2011/02/25/#bzr.txt

caravelBlazingSun: I'm researching this since I may have the same issue -- we're really off-topic now, we'll be kicked out soon :)00:02
caravelBlazingSun: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=58143400:02
BlazingSuncaravel: yeah i found that too, but i cant find where to change the umask00:33
BlazingSuncaravel: i think bzr+ssh and bzr over sftp are different, not 100%sure thou00:35
* caravel didn't know about the bzr+ssh prefix ^^ and -- finally, understands BlazingSun ^^00:35
caravelBlazingSun: well, my little brain can't see how else that could work00:36
caravelhave you tried the Subsystem command ? found another one for more recent version of openssh, hold on00:37
caravel(since 5.4p1) Subsystem sftp /usr/lib/openssh/sftp-server -u 02200:38
caravelBlazingSun: found this too http://forums.debian.net/viewtopic.php?f=30&t=59365#p34499800:40
caravelBlazingSun: but really, I think you should ask on #debian :)00:40
BlazingSuncaravel: yeah if i dont find whats wrong i will probably do00:41
caravelBlazingSun: look at /etc/login.def still, see my last link00:41
caravelCould anyone confirm everybody, how bzr+ssh works ? Can hardly find any doc about smartserver on official doc, and that's two of us who are interested. Does this not result in using sftp ?00:43
BlazingSuncaravel: changing umask in login.def didnt change anything00:43
BlazingSuncaravel: everything working fine, except creating new branches :(00:44
caravelBlazingSun: did you try Subsystem and restart sshd ?00:45
BlazingSuncaravel: not yet00:45
BlazingSuncaravel: but sftp isnt ssh, as far as i know it only uses the permissions of ssh00:45
fullermdsftp is a protocol that runs over ssh.00:49
fullermdbzr+ssh doesn't use sftp at all, it just talks to bzr.00:49
caravelthanks fullermd: I couldn't find anything about how the "smart server" mode works, from what I read there are basically two instances of bzr talking to each other, hence "optimizing" transfers by doing as much server side work as possible -- so I take it as similar to rsync, right ?00:50
caravelis there ANY doc avail any where ? been digging the whole of canonical, yet (I believe !)00:51
fullermdWell, insofar as you've got bzr talking to bzr, like rsync talking to rsync.  The protocols don't have any resemblance to each other...00:51
fullermdAt the protocol level?  I think there are some (probably outdated) docs in the tree...  it's mostly just in the code.00:51
BlazingSunfullermd: you have any idea how to get bzr+ssh to work? the write-permission doesnt get set right when creating a new branch. not directly bzr relatet00:53
BlazingSun*related00:53
caravelfullermd: sure. so who's writing on disk, is this the bzr executable on the server side, and doing the entire rsync-like file combination ? or is it just telling the bzr client what files to upload over sftp ?00:53
fullermdNo, it's all bzr-bzr.  There's no sftp involved in bzr+ssh.00:54
fullermdBlazingSun: What's "not right"?00:54
caravelfullermd: ok thanks00:54
BlazingSunfullermd: i want to have several users that can access the same branch, but when i create the branch with one, the write-permission for the group does not get set00:56
BlazingSunfullermd: so the other users cant push00:56
BlazingSunfullermd: seems umask-related00:56
caravelfullermd so BlazingSun may face a bzr issue, right ? bzr is the process receiving the user perms from ssh login, and applying them wrongly when writing ?00:56
fullermdCreating a new branch follows umask.  You'd need to reset it after creating for group write or the like.00:56
fullermdWell, "wrongly" is a matter of perspective.  It's certainly inconvenient in this case.00:57
BlazingSunfullermd: i am using debian6 but setting the umask in login.def doesnt change anything00:58
BlazingSunfullermd: and cant find any other place, that may overwrite the setting there00:58
caravelBlazingSun: tried it first over simple ssh login ?00:58
BlazingSunsure00:59
BlazingSunsame problem00:59
BlazingSuneverything working, only the w-flag doesnt get set00:59
fullermdGot me.  I always just use shell rc files.01:00
caravelBlazingSun: look at this : Another solution to set the permissions would be to use dnotify. Create /usr/local/sbin/dnotify_handler-reset_perms.sh script with the following01:04
caravelhttp://serverfault.com/questions/127658/how-do-i-set-permissions-structure-for-multiple-users-editing-multiple-sites-in/127686#12768601:04
caravelBlazingSun: fullermd's rc files sound a bit, well, lighter ^^01:07
fullermdBut not without ugliness.  You probably wouldn't want to permanently wire umask that far open.01:07
fullermdAt least if the account is used for anything other than bzr.01:07
caravelfullermd: right01:08
BlazingSunhmm yeah, i only want to have files ctreated in my bzr-repository have rw-flags for the group01:08
BlazingSunand i dont want to change them manually for every new branch01:09
BlazingSun(changing manually works)01:09
BlazingSuni just want that everyone is h his groupable to create new branches and share them wit01:09
BlazingSuni just want that everyone is able to create new branches and share them with his group01:10
caravelthen dnotify may help, again you should ask #debian what to do better, but that should work01:10
fullermdAs ugly hacks go, you could just setup a chmod in cron to whack it every hour or something.01:11
caravelfullermd: ^^ I'll go now, can you confirm there is no official doc about the "SmartServer" mode ?01:11
BlazingSunthen it wouldnt be instantly01:11
fullermdI'm not sure what sort of doc you want...01:11
caravelfullermd: user doc for a start01:12
fullermd"Use bzr+ssh://whatever and have bzr installed on the server"01:12
fullermd's about all there is...01:12
caravelfullermd: right -- so it's just executed by the ssh user, no daemon whatsover running on the host ?01:13
BlazingSunnot really :(01:13
fullermdYes.01:13
BlazingSunhm you dont have to set anything up, but setting permissions right seems a little bit complicated01:14
fullermdMuch like CVS :ext: mode, etc.01:14
BlazingSunim no expert but still have some knowledge and im trying for a few hours now...01:14
caravelfullermd: thanks a lot, gotta go now. Bye & BlazingSun, good luck ^^01:15
BlazingSunhmm maybe acl would be a solution01:16
BlazingSuncaravel: gn801:16
spiv [5~[6~[6~[6~ / .http://doc.bazaar.canonical.com/latest/en/admin-guide/simple-setups.html#smart-serverhttp://doc.bazaar.canonical.com/latest/en/admin-guide/simple-setups.html#smart-server  is the doc01:17
spivUgh, bad connection.01:17
BlazingSunthe doc doesnt mention anything that would help setting up a bzr-system with multiple users01:17
BlazingSunover ssh01:19
=== james_w` is now known as james_w
caravelspiv: thanks! I wonder how I could miss it. Before I left I had found this doc also, a bit closer to my search http://wiki.bazaar.canonical.com/Specs/SmartServer Also, BlazingSun's issue would deserve being documented here http://wiki.bazaar.canonical.com/Bzr_and_SSH ...but isn't either. Night'03:26
spivWoo, I have bzr-loom passing tests with bzr.dev and fetching all threads in one operation.04:49
spivOnly slightly nasty hackery required :/04:50
lifelessspiv: \o/04:52
lifelessthats -awesome-04:52
lifelessspiv: would you like a job working on bzr ?:)04:52
spivlifeless: right now I'd settle for a working car and less bouts of gastro being brought home by my son... do you think you can arrange that? :)04:59
spivIt was a bit thornier to do than I expected, actually.05:00
lifelessspiv: let me wave my magic wand05:00
lifelessspiv: good test case for the API though, right? ;)05:00
spivIt mostly went smoothly, more code deleted than added, etc.05:00
spivYeah, it was, the API will need a small tweak :)05:00
spivBut then the hpss acceptance tests broke...05:01
spivThe tension is that we'd like to ask the remote side which heads to fetch: for built-in formats it's tip + tags, but for loom it's different, so we need the ability for loom to give a different answer there.05:02
spivBut ideally without adding in an extra round-trip that we didn't need before (for the built-in formats0.05:03
spivSo it's easy to add a heads_to_fetch RPC, but usually we don't want to call it because it'll be an extra roundtrip.05:05
spivAt the moment I have an ugly hack that looks at the branch format, and if it's a metadir format then it checks the _branch_class.heads_to_fetch, and if it's the same as the base Branch.heads_to_fetch, it just uses that.05:07
spivOtherwise it asks the remote instance.05:07
spivI'm not especially happy with that.  Somehow our layering isn't working so nicely for us: the caching of the tags dict and last-revision-info etc isn't completely automatically accelerating everything that would use them.05:10
spivThere's also the aspect where we aren't very clear about where exactly the division of responsibility is for local vs. remote.  Is it up to the client to calculate the heads to fetch by itself, or should the server always be in control?05:11
spivAnyway, I've hacked around this case.   Hopefully we don't need many more like it :)05:12
lifelessspiv: why would the receiver know the tags06:00
lifelessspiv: I mean - surely the server should be determining the heads06:00
lifelessoptionally constrained by the client - 'Oh, and I want X also, kthanxfetch'06:01
lifelessor 'but not tags today'06:01
spivWell, all of branch/pull/merge fetch tags already today.06:03
spiv(And after recent fixes they fetch the revisions those tags refer to as well)06:03
lifelesswhich is great06:04
spivSo, currently in lp:bzr, there's no 'heads_to_fetch' RPC or anything like that: it's entirely up to the client to inspect the branch and decide what heads to fetch based on that.06:05
lifelesssure06:07
spivI have a branch now that adds a heads_to_fetch method and RPC, and a branch of bzr-loom to override that to add in the threads' heads...06:07
lifelessI'm just riffing on the long term concepts06:07
lifelessthis is great stuff06:07
spiv...but my issue today is that actually using that RPC unconditionally regresses the HPSS call count tests.06:07
fullermdThat sounds...  oddly backward to my uninformed speculation...06:07
spivfullermd: which part?06:08
fullermdWell, the whole 'heads_to_fetch' concept/workflow.06:09
fullermdI mean, from the cheap seats (they're very comfortable, thank you) it seems like it's just a single request/response:  "I want branch XYZ, here are the heads I already have"  "OK, your new head is X, and here's a stream of the revs you need to get there"06:10
fullermd(I guess even the 'your new head is' bit is technically redundant, but...)06:10
spivThere's a couple of issues there.06:10
fullermdJumping through a "what heads should I fetch?"   "OK, now I'll fetch 'em" sounds like a long way to carry the water.06:10
spivOne is that "here are the heads of my repo" isn't a cheap operation06:10
fullermdYeah.  But you need to do it anyway (or just accept potentially fetching more than you need; and you could do that in this case too)06:11
spivArguably it should be, but it isn't and we haven't decided to make the format changes necessary to maintain an up-to-date cache of current heads.06:11
spivAlso, sending the remote side "here are all my heads" doesn't necessarily help you at all if the remote side has none of those revisions.06:12
spive.g. if you are pushing a new revision.06:12
spivAnyway, I think this is actually a bit tangential to the original topic06:13
spivYou're talking about how to implement "I want the data for X, and I already have Y"06:13
spivI'm talking about how you determine what X is in the first place.06:13
spivIt's not (necessarily) a single revision.06:14
fullermdWell, if you're pushing, you're not pulling   :)   I hold dark thoughts about the utility of turning that sort of conceptual symmetry into codepath symmetry.06:15
fullermdIn my sense, X is the branch, not a rev; passing whatever that calls for can be known by the client saying what it has.  A second pass may be needed to fill in unknown tag revs, but that's a 1% (if that) case that I'd be perfectly happy to punt to extra RTT's when needed.06:17
spivAlso, it's not hard to construct plausible scenarios where two repos have 99% of their graph in common, but have zero overlap in their heads.06:17
fullermdBut yeah, it's all tangential.06:18
spivIt might be nice to have RPCs that work along those lines.06:20
spivStacking would complicate it somewhat.06:20
fullermdThat falls into "what cases do you optimize for".  Anyway.  It just Seems To Me(tm) that having the client try and grab both graphs and combine them is a lot of indirection, compared to both sides talking graph subsets at each other until one or the other finds a common point.06:21
spiv(Not to mention the friction with the current bzrlib APIs, although perhaps that will change)06:21
fullermdEspecially since the 90% (99%?) case of pull would be right there when the client first says 'hey, here's my current head'.06:21
spivBoth sides do talk graph subsets to each other, take a look at the get_parent_map RPC.06:22
fullermdThat, too.  This is where us non-OO personages leave the train   :p06:22
spivAnd we already cope with the 9x% case of pull just fine :P06:22
=== chx is now known as chx_sleep
jelmermaxb: bzr-svn should be compatible with older versions of bzr10:21
jelmermaxb: if it's not, that's a bug10:21
maxbjelmer: hmm?10:21
jelmermaxb: Also, do you know about debian/update-deps.py ?10:22
maxbjelmer: Ah, you're referring to my packaging branch commit? My *intention* was to add 2.4 as compatible in debian/control, not disown compatibility with previous versions10:23
maxbI did not know about debian/update-deps.py, though I appear to have updated manually to the same end result10:27
jelmeryeah, it does things like preserve ordering10:33
vilawow, I thought it was due to some bug but we really have an import consuming 4.6GB :-/ (nexuiz-data)10:58
vilano time to investigate now10:58
jelmerthat's a very large package10:59
jelmerthe binary package alone is a couple of hundred Mb10:59
vilajelmer: if we the host replacing jubany has less memory, we'll have a serious problem11:07
jelmervila: It's unfortunate some things scale with the size of the tree at the moment :-(11:09
vilajelmer: could be, but I suspect there is more than the tree size involved here11:12
jelmervila: it doesn't seem coincidental that this is one of the largest source packages in Debian/Ubuntu that's causing us problems11:14
vilaright, as I said in bug #724890, this needs more investigations than I can provide right nwo11:15
ubot5Launchpad bug 724890 in Ubuntu Distributed Development "excessive memory consumption for nexuiz-data" [Critical,Confirmed] https://launchpad.net/bugs/72489011:15
jelmerthe size of the compressed tree is 1G11:16
* jelmer comments on the bug11:16
vilajelmer: thanks !11:17
vilajelmer: may be worth bubbling up to the losas, the migration is planned for 1st March and I'll be in vacations starting in a few hours, I'd like to concentrate on filing bugs about what I've seen yesterday experimenting with the new driver11:18
jmlwhat's the difference between switch and update?11:20
jmlor, actually what I mean is,11:21
jmla friend of mine has pushed a feature branch over the top of trunk rather than merging it in, he wants to get trunk back...11:21
jmlI'm telling him to use 'bzr heads' to get the revid of the trunk tip11:21
jmland now I'm about to tell him to run something with that revid11:21
jmlbut I don't know whether that should be 'switch' or 'update'11:22
jml(also, is there a FAQ for this? it seems like a common rookie mistake)11:22
* jelmer waves to jml11:22
jmljelmer: hi11:22
jelmerjml: I'm not aware of an FAQ for it, but you're right that there probably should be one.11:23
jelmer"bzr update -r" seems like the right solution now11:23
jmljelmer: thanks.11:23
jelmerI've always used "bzr pull --overwrite -r<revid> ." previously11:23
jelmerbut that's not really intuitive11:23
jmlso many ways to do what feels like the same thing.11:24
jelmerjml: "echo revid > .bzr/branch/last-revision" ? :)11:25
jml:)11:25
maxbjml: update: change the revno of a working tree; switch: change the branch and revno of a working tree12:01
jmlmaxb: I guess that means switch is a superset of update12:01
maxbyes12:01
jelmernot entirely, "bzr up" without arguments will update the working tree12:02
jelmerI don't think if you give switch the current revision it will touch the working tree, even if it is out of date12:02
maxbIf a feature branch has been pushed (without --overwrite) into trunk then `bzr heads` will not help, as the old head of trunk will no longer be a head12:02
jelmermaxb: "bzr heads --dead" should still show it12:03
jelmerah, sorry12:03
* jelmer should learn to read12:03
jelmermaxb: Sorry, that's the second time this morning.12:03
maxb:-)12:04
maxbMore coffee needed?12:04
jelmerI guess so :)12:04
jmlmaxb: so how do I figure it out then?12:06
maxbI'd fire up qlog12:08
maxbAnd locate the second parent of the last merge from trunk into the feature branch.12:09
vilajelmer: I've got a fix up for review regarding the import driver getting killed by an exception from a import thread12:14
vilajelmer: I would love to leave for vacations (RSN now ;) with such a fix landed on jubany12:15
vilajelmer: but no pressure really ;D12:15
jelmervila: hehe12:15
jelmervila: happy to have a look12:15
jelmerwe really should make udd a part of the "bazaar" superproject..12:15
vilahttps://code.launchpad.net/~vila/udd/724898-driver-catch-importer-exceptions/+merge/5128412:15
vilajelmer: for the reviews you mean ? Cos' I'm thinking about turning it into a bzr plugin too... ;)12:21
jelmervila: yeah - my life is driven by http://code.launchpad.net/bazaar/+activereviews12:21
vilaI was suspecting that and I think we should change the patch pilot instructions to switch to that page too12:22
vilaif only to be aware of the mp we're missing therre otherwise12:22
jelmervila: Yeah, I think that'd be useful12:24
vilajelmer: Thanks for the review !12:37
vilajelmer: I've landed it on jubany but I feel bad asking for a restart while nexuiz-data has already run for 165 mins CPU12:38
vilajelmer: could you check it once in a while (while == day will be enough) and ask a losa to restart it then ?12:39
jelmervila: ok12:39
vilajelmer: 1e6 thanks :)12:39
jelmer:)12:39
jelmervila: I guess it'll be quiet early next week then :-/12:45
vilajelmer: hmm, yeah, forgot to mention that: you're the house keeper, so please don't forget the spider webs in the attic :-D12:46
jelmerhehe12:46
vilajelmer: and here are some votes for your mps: +1 +1 +1 +1 +1, use them wisely ;D12:47
jelmervila: lol :)12:47
montywivila: after 2600 minutes, I got this from bzr check: http://monty.pastebin.com/zZRryR4R12:59
montywi(internal error)12:59
vilamontywi: that's just ... file a bug please :-( I don't remember off-hand if the check order has changed in more recent versions but I suspect this one could reported far earlier13:16
vilathe revision seems a bit old, tht's even more worrying13:17
vilait's even from the initial migration, how odd13:17
vilamontywi: but above all check shouldn't fail with an internal error :-(13:18
vilamontywi: I won't be able to do anything, I'm leaving for a one week vacation but keep this repo safe13:19
montywiwill do14:06
montywithanks14:06
burlihi14:27
burliI want to use Bazaar on Lauchpad, but I have problems to setup launchpad and my computer14:39
alfburli: What exactly is the problem?14:40
burliok, I have a launchpad account and I add an OpenPGP and SSH Key14:40
burliBut if I try to create a branch I got just something that starts with /+junk/14:42
burlilike this https://code.launchpad.net/~mb-embedit/+junk/mystock14:42
alfburli: +junk is the prefix for personal branches (not associated with a project), so this is normal14:44
alfburli: https://code.launchpad.net/~mb-embedit/+junk/mystock is empty though, have you pushed something to it?14:45
burlialf, right14:45
burliI want to push something into it14:46
burliwhat is my user id??14:46
burlibzr launchpad-login userid14:47
alfburli: mb-embedit14:47
burliah, without ~14:47
burlidamn14:47
burliwhat can I do if I use different computers or make a new installation?14:51
burliCan I take the keys with me? Or Import the Keys?14:52
burliI don't really understand the concept of OpenPGP or SSH Keys14:52
alfburli: yes, you can copy the keys if you like, but you can also register multiple keys in Launchpad, too14:56
burliIts a little bit confusing for me14:56
burlibrb14:59
burlialf, I think it works now15:07
alfburli: great :)15:08
burlialf, another question. I want to fork a project and I want to merge changes from the original project. I create a clone, run "bzr pull" in the original project and than "bzr merge" in my fork. Now I have some conflicts.15:16
jelmervila: we need a Debian GNU/kFreeBSD vm in babune :)15:16
* jelmer was just made aware of some test failures15:16
burliI have now some files like *.BASE, *.in, *.OTHER and *.THIS15:17
burliwhat should I do now?15:17
burliah, resolve15:18
jelmerburli: resolve the conflicts by editing the file/overwriting it with one of the *.{BASE,OTHER,THIS} files and then run bzr resolved15:19
burlijelmer, thx. done15:20
alfburli: yes, and note that *.in is a normal source file, not produced by the conflict15:20
burliI guess, I got it.... I hope so15:21
=== deryck is now known as deryck[lunch]
=== beuno is now known as beuno-lunch
=== chx_sleep is now known as chx
=== chx is now known as chx_sleep
=== beuno-lunch is now known as beuno
=== deryck[lunch] is now known as deryck
=== Ursinha is now known as Ursinha-lunch
cr3what's the proper way to merge diffs between releases from one branch to an unrelated branch, like lp:foo to lp:ubuntu/foo for example. I keep doing something like (cd /path/to/foo; bzr diff -r1..2) | patch -p0, but that's aweful :(17:09
jelmercr3: hi Marc17:11
jelmercr3: Unfortunately if the branches don't have any related history we don't really have any better alternatives at the moment.17:11
cr3jelmer: darn, using patch is unfortunately error prone, like permissions not being preserved and so forth17:12
jelmercr3: We're aware of the problem and would really like to fix it (it's common in the UDD use case, where upstream, debian and ubuntu all have different imports of essentially the same data)17:13
cr3jelmer: I'm sure if it's not implemented yet there's a good reason, like very complicated problem to solve :) I wish you best of luck solving that problem then!17:15
jelmerit's a very hard problem to solve right, but we could at least provide you some tools to make it a bit less painful17:17
burlican I make a private bazaar branch on launchpad?17:31
jelmerburli: only with a commercial launchpad subscription17:31
burlihm17:31
burliis it possible to install my own bazaar server? I have one project, that is not public, but I want to use bazaar for versioning17:34
jelmerburli: yes, you can run your own server using bzr itself and set up a web interface using loggerhead17:37
briandealwishi jelmer.  Is there a bzr-svn newer than 1.0.4?   bzr 2.3.0 complains about api versions with 1.0.417:37
jelmerbriandealwis: there is going to be a 1.1.0, but it's not out yet17:37
briandealwisahok17:37
burlijelmer, is there a documentation/tutorial how to install/setup such a server?17:38
briandealwisburli: see the docs.  http://doc.bazaar.canonical.com/latest/en/user-guide/server.html17:38
burlibriandealwis, thx17:39
burliis there any problem if I use different versions of bzr? My server is running Maverick and on some computers I run Natty17:40
* jelmer heads off for some weekend17:44
maxbhrm17:59
maxbsubvertpy appears to be repeatably segfaulting in its tests on maverick/amd6417:59
mgzjam or someone, does this diff actually make any sense?18:07
mgzhttp://www.physics.drexel.edu/~wking/code/git/gitweb.cgi?p=be.git;a=commitdiff;h=1e0967ab82d8541413e1dfe4d2e78f1008aa9c5b;hp=6eeb62d99a40f8644ac0840ac1291ef92b3d836f18:07
mgzas the path is always inside the repo, won't the base_tree and tree always be the same, so he *could* just omit the 'file_ids_from' param?18:08
mgz...there is no jam.18:09
=== Ursinha-lunch is now known as Ursinha
=== chx_sleep is now known as chx
mgz...that doesn't make any sense, why did I type that...19:09
lifelessthe shadow knows19:12
mgzmeh, I've never known the c standard that well anyway.19:17
=== Ursinha is now known as Ursinha-afk
burlihm, what's wrong? I created on my server a new bzr project with bzr init. I can create a branch on different computers, can pull and push. everything works. But the project folder on the server is empty21:16
Pengburli: It's not empty; it has a .bzr directory full of data. It just doesn't have a working tree.21:19
burliPeng, ah, ok, thx21:34
=== Ursinha-afk is now known as Ursinha

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