/srv/irclogs.ubuntu.com/2009/10/21/#bzr.txt

igcemmajane: ping00:08
KhaZ_Hello!  I apologize if this is the wrong place to ask this, but does anyone here use the bzr-p4 plugin?  I'm trying to understand just what it does but the documentation on it appears to be rather minimal.00:35
lifelessyou can try bzr help p4 (if thats what the directory for the plugin is called)00:36
lifelessI don't know how complete it is00:36
KhaZ_Ah, OK.  I supopse I'll isntall it.  Just trying to  read more of it before I install it - not sure if it will solve my problems or not.00:36
lifelessbut most foreign VCS plugins allow 'bzr pull' 'bzr branch' etc to Just Work with urls/locations in those systems00:37
KhaZ_Ah, neat.  Maybe that is something similar to what I want.  Is bzr push normally facilitated as well, or is it usually up to the client to use the other VCS' tool for that?00:37
lifelessdepends on how complete the plugin is :)00:37
KhaZ_Ah, but it's not out of the qeustion then at least.00:38
lifelessbut yes, certainly for bzr-svn and bzr-git the whole gamut of push/pull/branch/merge commands work00:38
KhaZ_Swank.  I will have to dabble with this.  Perforce is getting on my nerves.00:38
KhaZ_ALright, dumb question.  How can I see what plugin directory bzr is scanning for?  I'm running cygwin on vista, and I've tried $APPDATA/bazaar/2.0/plugins and ~/.bazaar/plugins, and yet bzr plugins doesn't return me any of my nifty plugins.  Is there an easy way to get it to spit out the path it's looking up?01:16
fullermdNot directly, I don't think.  But it should be a 'plugins/' subdir under the 'Bazaar configuration' dir that `bzr version` spits out, I think.01:18
KhaZ_Genius, that works.  Thanks fullermd.01:19
KhaZ_Ah, right.  I had reset my BZR_HOME in order to try and keep my linux/windows configurations the same.  D'oh, should've checked the env. variables. :/01:20
fullermdMaybe there should be an arg to 'plugins' to list the search path.01:20
KhaZ_I was hoping --verbose would show it01:20
KhaZ_fullermd: Might be a nice add.01:20
fullermdNah, that just shows where the existing plugins are from.01:20
jdubi'm getting the following error after attempting to bzr co with http basic auth against loggerhead:01:20
jdubbzr: ERROR: exceptions.KeyError: 'user'01:20
jdub(interactive or provided in the url)01:21
KhaZ_fullermd: Right.  I guess my assumption was it woudl say, "Found the following plugins from scanning these paths [searchpath1,searchpath2,searchpath3]: plugin1 [plugin1path], etc."01:21
KhaZ_Not that it matters, but that was where my intuition took me.01:21
fullermdIt's a reasonable intuition.  You should file a bug on it.01:24
spivjdub: hmm, sounds crummy.  pastebin a full traceback?01:26
jdubspiv: http://www.gnome.org/~jdub/2009/bzr-20091021002215-9259.crash01:27
KhaZ_fullermd: Good idea.  Done: https://bugs.launchpad.net/bzr/+bug/45683401:31
ubottuLaunchpad bug 456834 in bzr "Command "bzr plugins" - would be nice to output searchpaths somehow." [Undecided,New]01:31
lifelessjdub: is loggerhead doing the auth, or some front-end web server?01:47
jdublifeless: front end01:48
lifelesshow are you passing the user details to the backend then ? :)01:48
jdublifeless: not sure i am; if anything, i don't want to01:49
mwhudsonjdub: i'm suspicious of the bzr-svn in that traceback01:49
jdubmwhudson: you think bzr-svn on the client might be screwing with it?01:50
mwhudsonit's possible01:50
jdubah, you know, yes01:51
jdubit might be trying to use bzr svn on the http url?01:51
jdubjdub@sliver:/tmp$ bzr co bzr+http://whitlam.crikey.com.au/code/live/bzr: ERROR: Generic bzr smart protocol error: Invalid http response for http://whitlam.crikey.com.au/code/live/.bzr/smart: Unknown response code 40301:51
lifelessI think you should:01:51
lifelessfile a bug01:51
lifelessremove bzr-svn if you don't need it01:51
lifelesssee if that helps01:51
lifelessthere is a bug, thats for sure.01:51
mwhudsonjdub: that seems like a more plausible problem in some ways01:51
lifelessjdub: note that bzr+http shouldn't be needed - http:// will probe for .smart anyway.01:52
jdubyeah01:52
jdubjdub@sliver:/tmp$ bzr co http://whitlam.crikey.com.au/code/live/01:52
jdubbzr: ERROR: Transport error: Server refuses to fulfill the request (403 Forbidden) for http://whitlam.crikey.com.au/code/live/.bzr/branch-format01:52
jdub^ without bzr-svn installed01:52
jdubooh, what a lovely little mess :-)01:53
lifelessjdub: 403 sounds like you aren't passing POST to the backend, to me.01:53
jdubthat interactive password request dudie did seem a little svn-riffic01:53
jdublifeless: naw, looks like i'm not serving static files at all :_)02:01
lifelessjdub: yes but that doesn't matter02:03
lifelessjdub: there should be a 'smart' POST attempt in the log02:03
lifelessif that is passed through to loggerhead properly, bzr will talk to that, not to static files.02:03
jdubright02:05
jdubthe smart post hits the frontend with a 40302:05
RenatoSilvahow to  bzr pull --preview merge-directive.patch?02:06
RenatoSilvaor bzr mssing it02:06
jdublifeless: does the smart check attempt to auth before posting?02:18
lifelessjdub: auth is on-demand, when the server gives 40102:19
lifelessRenatoSilva: I'm not sure missing works with merge diectives02:19
lifelessRenatoSilva: pull --preview should just work02:20
jdublifeless: aaaaaaaahhhhhhhhh02:22
jdublifeless: *lightbulb*02:22
jdublifeless: i should not bar access to .bzr on this host :)02:22
lifelessyou want .bzr/smart to work02:23
lifelessnot the rest02:23
lifeless[or at least, you *shouldn't need* the rest]02:23
jdubright02:23
lifelessand you want it auth protected.02:23
jdubyeah02:25
james_wdoes loggerhead work as a smart server with no extra configuration?02:25
jdublifeless: oh man... new issue02:25
jdubbzr: ERROR: Server sent an unexpected error: ('error', 'No repository present: "chroot-46030224:///"')02:25
jdubjames_w: recent versions, yeah02:25
lifelessjdub: ah, shared repo ?02:25
jdublifeless: yeah :|02:26
lifelessjdub: there is a bug, Peng will know more02:26
james_wthat's neat02:26
lifelessbasically it needs to make the chroot in the backend higher up.02:26
lifelessso I know what needs to be done, I haven't gone and looked at it02:26
lifelessjdub: look for Chroot in the loggerhead code, you can probably figure it out02:26
lifelessjdub: rather than branch.base, it will be branch.repository.bzrdir.root_transport, for the chroot root path02:27
jdublifeless: looks like that might be a bzrlib thing02:28
lifelessjdub: nope02:28
lifelesssmart server handles this fine ;)02:28
jdubthere's no Chroot in loggerhead02:28
lifelessugh02:28
lifelesslook for smart then02:28
jdubcan i /msg for a moment?02:29
lifelessof course02:30
spiv            wsgi_app = wsgi.SmartWSGIApp(self.transport)02:30
spivthat's in loggerhead/apps/transport.py, line 8502:31
lifelessso self.transport needs to be adjusted02:31
lifelessyou'll need to find the actual root you want02:31
lifelessand probably need to pass in some adjuster - spiv knwos this much better than I :)02:31
spivwhich in turn gets transport from make_app_for_config_and_path, which gets it from the config02:32
spivWhich apparently defaults to '.', unless you pass a command line arg?02:33
spivI don't really know my way around the loggerhead codebase very well.02:34
jdubyeah02:34
lifelessspiv: yes, but you know the wsgi helpers in bzrlib02:34
lifelessspiv: you see the problem, right?02:34
RenatoSilvalifeless: pull --preview didn't work02:36
spivlifeless: not really, it's calling the right wsgi helper, I would expect that so long as it feeds the right path to it is all good.02:36
RenatoSilvalifeless: iirc someone here noted that pull doesn't have --preview as expected02:38
spivlifeless: but I don't know enough about how self.transport is created to know where loggerhead is going wrong02:38
spivor where jdub's configuration of loggerhead is going wrong, perhaps?02:39
jdubspiv: i'm just passing it a path (to the repo)02:39
jdubspiv: then attempting to co the branch under it02:39
jdubloggerhead autoserves branches under a repo02:40
lifelessspiv: its the transport of the branch, not the repo02:41
spivlifeless: oh, right, yes, I got that bit :)02:41
lifelessspiv: it needs to be shifted up to the repo; but requests at that path need to be shifted down to the branches relative path02:42
spivlifeless: I don't know why; the code I've read suggests it shouldn't be02:42
spivlifeless: i.e. the code I've seen so far looks like it is doing things correctly02:42
lifelessspiv: if you're not bogged down with critical stuff, I think this is actually well worth treating as high and digging into02:43
jdubspiv: 0.17 or beyond?02:43
spivHmm, the UserBranchesFromTransportRoot looks a bit suspicious02:43
spivjdub: I'm reading the code in trunk02:43
spivNot sure how that relates to version numbers ;)02:43
spivlifeless: I'm certainly happy to dig for a while02:44
spivlifeless: I just posted a patch for that "second push failed to complete" bug02:44
jdubthanks dudes :-)02:44
lifelessspiv: awesome; I saw it, but got distracted just as I hit the diff02:44
lifelessLynne has the lurgy now too02:44
spivUrgh, lucky Lynne :(02:45
spivmary and I think we've been fighting off something this week, so far not so bad but not quite feeling 100% either.02:46
spivAh, found it I think.03:02
lifelessspiv: vitamin C!03:02
thumpercan anyone with windows experience comment on https://bugs.launchpad.net/bugs/455636 to say where to put the ssh key that bzr will use?03:08
ubottuLaunchpad bug 455636 in launchpad-code "r/o code download with lp: prefix asks for ssh key" [Undecided,Incomplete]03:08
lifelessthumper: there isn't a place AIUI03:11
lifelessthumper: you run a gui - pageant - and tell it to add the key03:12
thumperlifeless: hmm, that's about as much as I know too03:12
SamB_XPthat really ought to be in the help file :-(03:12
* igc lunch03:34
SpamapSHi.. in perforce if I see a change #, I can say 'p4 describe ######' and it shows me al the changes associated with that.. does bzr have something similar? Right now I have to find the previous revision and use bzr diff..03:39
spivjdub, lifeless: so I have a fix for your bug, but now I'm hitting https://bugs.edge.launchpad.net/bzr/+bug/34830803:39
ubottuError: Could not parse data returned by Launchpad: The read operation timed out (https://launchpad.net/bugs/348308)03:39
jdubspiv: boh!03:39
spivjdub, lifeless: will keep poking after lunch, that bug was going to bubble to the top of my list sooner or later03:40
fullermdSpamapS: You don't have to find the previous revision, you can use '-c'.03:41
SpamapSfullermd: ahh thats what I get for only paying attention to the examples and not reading the whole manual. ;)03:41
fullermdSpamapS: (and technically you don't need it with -r either, -c is just less typing  ;)03:42
fullermdSpamapS: "bzr diff -c$REV" == "bzr diff -rbefore:$REV..$REV"03:43
lifelessspiv: sweet03:51
lifelessspiv: that is the bug isn't it :)03:51
mwhudsonoh _that_ bug!04:04
SpamapSfullermd: thank you.. :)04:05
fulletsI've been using a workflow like: bzr init-repo repo; bzr branch svn-trunk bzr-trunk; bzr branch bzr-trunk bzr-feature; hack on bzr feature; cd bzr-trunk; bzr merge ../bzr-feature; bzr push04:20
fulletsTrying to bzr diff -c a merge commit from a branch outside that repository causes bzr to crash. Are there any workarounds for this?04:20
dashhuh. what version of bzr?04:21
fullets2.0.1 from the jaunty ppa04:21
dashhuh, dang.04:21
dashI've never seen that happen04:22
lifelesswhat crash04:22
fulletsbzr: ERROR: bzrlib.errors.NoSuchRevision: CHKInventoryRepository(path) has no revision04:22
lifelessinteresting04:24
lifelesscan you try -r before:X..X PATH/TO/BRANCH04:24
lifelessas in 'bzr diff -r before .....04:24
fulletsSorry, what should the X's be? The revision number of the merge commit?04:25
fulletsIf so, the same crash happens04:25
lifelessfullets: yes, exactly.04:26
fulletsAlso -r m..n that cross the merge commit give the same crash04:26
lifelessfullets: if you cd to that branhc04:26
lifelessand then run the command, does it work?04:26
fulletsIt crashes whether the branch, repo, or the repo's parent dir are my cwd04:27
lifelessdoes 'bzr log' work when the branch is your cwd04:29
fulletsYes, both displaying the whole log and the log for the merge commit work. Trying to show the merged revisions with --include-merges shows none of the merges04:31
lifelesslog -n0 will do that04:33
lifelessI think you should file a bug04:33
lifelessif log works but diff -c doesn't, there is something very strange going on.04:33
fulletsI shall file a bug once I finish putting steps to reproduce together :)04:35
lifelessfullets: please file the bug earlier04:42
lifelessfullets: as you may need our help to diagnose it, and bugs provide a place to track the conversation04:42
fulletsVery good04:42
thumperhow do I create a branch with the LCA of two other branches?04:53
lifelessthumper: cd two; bzr revision-info -r ancestor:one04:54
lifelessthen bzr branch -r revid:.... one04:54
fulletslifeless: https://bugs.launchpad.net/bzr/+bug/45690804:55
lifelessthanks04:55
ubottuError: Could not parse data returned by Launchpad: The read operation timed out (https://launchpad.net/bugs/456908)04:55
lifelessbug 45690804:55
ubottuLaunchpad bug 456908 in bzr "Merge commits in branch of subversion repository crash on diffing" [Undecided,New] https://launchpad.net/bugs/45690804:55
thumperlifeless: ta04:55
=== kirkland` is now known as kirkland
spivjdub: http://bzr.pastebin.com/m5e6d620506:17
spivjdub: there's a couple of minor debug droppings in that (the print statement and the commented out pdb line), but that makes serve-branches work for me with a shared repo06:18
spivjdub: I'm working on a proper fix for the bzr bug that works around06:18
jdubspiv: rocking -- thanks! :-)06:20
lifelessspiv: nice06:20
jdubspiv: beautiful :-)06:21
jdubspiv: what are the chances that will work with --allow-write? :-)06:22
spivjdub: I don't see why it wouldn't :)06:24
spivthumper: btw, https://answers.edge.launchpad.net/bzr/+questions?field.search_text=ssh+windows&field.sort=RELEVANCY&field.sort-empty-marker=1&field.actions.search=Search&field.language=en&field.language-empty-marker=1&field.status=OPEN&field.status=NEEDSINFO&field.status=ANSWERED&field.status=SOLVED&field.status-empty-marker=1 has some info about ssh and windows if you're prepared to dig a bit06:28
=== obstriege is now known as obst
jdubspiv: it does, btw :-)06:33
Peng_spiv: You rock! Thanks for working on this! :)06:37
lifelessjames_w: is there a PPA with bzr builder in it?06:40
Peng_mwhudson: ping07:16
bialixhello all07:37
Peng_Hi. :)07:37
spivAh good, I have what seems to be a working fix for the bzr+http bug and a draft of a reasonable test.07:47
* spiv heads to yoga class feeling satisfied07:48
Peng_spiv: I love you. :)07:48
Kamping_Kaisersigh. dependancy hell for the win.08:46
=== weigon_ is now known as weigon
* igc dinner09:39
alex_morellihello all09:49
alex_morellilong time ago, I found a plugin for bzr that implemented a "make-log" command a la tla09:50
alex_morelliNow I can't find it anymore... anyone ever heard of it?09:51
bob2what did make-log do?09:57
alex_morelliIt created a log file, to which you appended what you were doing until commit10:00
alex_morelliand you couldn't commit without that log file10:00
bob2what does it do different to 'touch x ; edit x ; bzr ci -F x'10:01
alex_morellinot much, but you can commit anyway this way10:02
alex_morelliand make-log sort of forced you to behave10:07
Kamping_KaiserIs `bzr svn-import` supposed to work from a client checkout of an svn repo?10:14
Peng_Kamping_Kaiser: Not sure. It's not hard to get the URL, though.10:15
Kamping_KaiserI gen an error "bzr: ERROR: No Repository found at gns/builder-clean. For individual branches, use 'bzr branch'." when trying to run it against an svn checkout (I don't hae access to the svn repo)10:15
Kamping_KaiserPeng_: ah, i'm supposed to run it on the url?10:15
* Kamping_Kaiser tries10:16
Kamping_Kaiseraaah. *yay*10:18
Kamping_KaiserPeng_: thanks :)10:18
Peng_Kamping_Kaiser: :)10:19
Peng_Kamping_Kaiser: FYI, if you *did* have a copy of the repo locally, you could run it against the directory path too.10:19
Peng_Probably.10:19
Kamping_Kaisergood to know, thanks.10:22
james_wlifeless: https://edge.launchpad.net/~dailydebs-team/+archive/bzr-builder10:28
Kamping_Kaiserperhaps a strange question: having vampired out of the svn repo, i have a 34mb .bzr directory, and the builder/ directory is empty. is there a non-obvious step involved in making the repository useful?10:32
Peng_Kamping_Kaiser: svn-import doesn't create working trees by default. cd to a branch and run "bzr checkout".10:33
Kamping_Kaiserah.10:33
Kamping_KaiserPeng_: would it be worth noting that somehow on the help (bzr help svn-import)? (sorry if it is, in newer versions)10:34
Peng_Kamping_Kaiser: I'm running the bzr-svn trunk, and it does mention it.10:34
Kamping_KaiserPeng_: no worries then. thanks for checking!10:34
Kamping_Kaisercaw. its there10:42
Kamping_Kaiserthanks so much\o/10:42
Peng_jam: StaticTuple.as_tuple() doesn't recursively convert other StaticTuples inside the StaticTuple to tuples. Do you think it should?10:43
Peng_jam: In other words, is that a bug or a feature? :)10:43
Peng_beuno: ping11:38
bialixшпсЖ зштп12:10
bialixigc: ping12:10
igchi bialix12:10
bialixI want to convert cvs repo of FTE to bzr12:11
bialixI've managed to rsync entire repo from sf.net12:11
bialixcan you point me where to start?12:11
bialixshould I use instructions from here: http://cvs2svn.tigris.org/cvs2bzr.html12:11
igcbialix: start with http://doc.bazaar-vcs.org/migration/en/data-migration/index.html12:12
bialixor your plugin has inside something else?12:12
igcbialix: if the instructions aren't clear, we need to improve them12:13
bialixok, I'll read12:13
bialixwill ask questions tomorrow12:13
igcbialix: fast-export-from-cvs calls cvs2bzr to do the export12:13
bialixaha12:13
bialixcvs2bzr page mentions some options.file12:14
igcbialix: hopefully you don't need a custom options file. If you do, I think fast-export-from-cvs allows you to provide one12:15
bialixigc: I have installed TortoiseCVS12:16
bialixI hope it will be enough to use cvs2svn12:17
bialixas I know it can work with RCS co utility or cvs executable12:17
bialixdo you control this aspect somehow?12:17
bialixigc: ok, help for fast-export-from-cvs is clear, I'll start experimenting and will report all issues I'll encounter12:18
igcbialix: thanks. we need to get the process *clearly* documented12:19
spivPeng_: test added, patch up for review12:19
spivPeng_: feel free to sneak it into your deployment right now and get rid of your monkey patch ;)12:20
bialixigc: my mileage as typical windows/tortoisecvs user will vary12:20
spivPeng_: Btw I discovered that doing that fix was exactly as painful and confusing as I thought it would be, so I feel less bad about not doing it sooner now :P12:21
bialixigc: and btw, I found gnuwin32.sf.net project is better than unxutils.sf.net12:21
spivPeng_: (even though the eventual patch is actually quite clear I think, but fully analysing this stuff is always makes me go a bit cross-eyed)12:22
bialixigc: unxutils.sf.net is no more maintained and I'm unable to download sort there12:24
Peng_spiv: Heh, that makes me feel better about not trying to figure it out myself.12:27
Peng_spiv: I just confirmed that your fix works. I love you! :)12:33
spivPeng_: great, thanks for testing :)12:46
spivPeng_: yeah, it's not so much that it's hard exactly.  Just that there are just enough confusingly similar variables involved that it's hard to keep track of what's going on.12:51
Peng_spiv: Not to rush you, but you're working on a fix for Loggerhead too, right? What's the status of that?12:52
spivAll the various path the user sees/path the http request is delivered to/path in the hpss request/path adjusted relative to server backing transport/path relative to request handler etc12:52
spivOh yeah, good point.12:53
spivI've even tested that it works (with my fix for bzrlib)12:53
spivSo I'll file that merge directive now12:53
spivPeng_: https://code.edge.launchpad.net/~spiv/loggerhead/shared-repo-fix/+merge/1370113:00
Peng_spiv: Great. :)13:02
Peng_This is missing the point, but testing with "bzr revno" is clever. I always use "bzr log -r -1 -n 1", which takes a while13:03
spivPeng_: :)13:04
spivPeng_: a while to type if nothing else!13:04
Peng_Yeah, that too.13:04
igcnight all13:10
spivg'night13:11
beunoPeng_, hi13:19
Peng_beuno: I just wanted to say that lp:~beuno/loggerhead/yui3-0-0 is redundant. I pushed a similar branch to lp:~mnordhoff/loggerhead/yui-3.0.0 and lp:~loggerhead-team/loggerhead/yui-3.0.0, which also handles a couple of renamed files better.13:24
=== mrevell is now known as mrevell-lunch
beunoPeng_, did you get it working?13:26
Peng_beuno: No. I didn't do anything more than update the copy of YUI.13:31
beunoPeng_, gotcha. I will see if I can spend an afternoon fixing it. I have some idea of what needs to be tweaked13:33
Peng_Oh, good. :)13:34
beunoPeng_, did you get the LP tshirt?13:35
Peng_beuno: Not yet.13:36
beunomrevell-lunch, do you know anything  ^13:37
* beuno has delegated the problem to a smarter person13:37
nil1Hi!13:40
nil1Is bzr able to handle concurrent commits on a "dumb" server (like FTP)?13:41
beunonil1, yes13:41
nil1thanks!13:41
Peng_There are very brief windows where the repo will be write-locked, though, no?13:42
nil1Does it require a reliable locking mechanism?13:42
nil1(locking in the sense of a .lock file being written)13:43
Peng_nil1: Yes. Bazaar implements said reliable locking mechanism itself. It works fine over FTP.13:43
beunoyes, it locks the repo for brief moments13:43
beunoI guess that would limit how concurrent it can be13:43
nil1I use the FTP interface of the Tahoe storage grid, where the latency is probably higher than on a normal FTP server13:44
nil1I'll ask them if writes are reasonably atomic13:47
nil1(them = Tahoe devs)13:47
beunonil1, let is know  :)13:47
nil1will do!13:47
=== mrevell-lunch is now known as mrevell
Peng_Using StaticTuple in Loggerhead is fun. There are currently fewer tuples than lists in memory. :D13:52
beunoPeng_, did it have an impact in memory usage?13:55
Peng_beuno: It's way too dynamic to be sure.13:57
mrevellPeng_ Your t-shirt'll be in the post today.13:59
Peng_mrevell: Yay!14:00
beunothanks mrevell14:02
mrevellPeng_ I've just been told that it has now been sent.14:08
beunoPeng_, spiv's branch looks good to land now, want to merge it yourself or want me to?14:10
Peng_beuno: You can if you want to.14:12
Peng_mrevell: Thanks! :)14:12
Peng_beuno: But I don't mind doing it.14:12
spivPeng_: woo14:12
* spiv -> zzz14:12
beunospiv, thanks14:13
beunoPeng_, go for it14:13
Peng_beuno: 'kay14:13
Peng_Pushing now14:17
beunowoo!14:19
Peng_(Pushed again, cuz I forgot to mention bug #348308 in NEWS.)14:22
ubottuError: Could not parse data returned by Launchpad: The read operation timed out (https://launchpad.net/bugs/348308)14:22
Peng_I can never merge something in just one revision. :P14:22
beunoheh14:24
Peng_jam: ping14:33
=== Island_Usurper is now known as IslandUsurper
=== pickscrape_ is now known as pickscrape
pickscrapeCould someone explain to me what the --incremental option of bzr svn-import does?14:36
Peng_pickscrape: "bzr svn-import --incremental" is to "bzr svn-import" as "bzr pull" is to "bzr branch".14:39
pickscrapePeng_: Ah, so if I have an import that I have to kill due to it using 13G of ram, using that option will allow it to carry on from where it left off?14:40
Peng_pickscrape: ...Probably.14:41
pickscrapePeng_: thanks, I'll try that the next time I have to kill it14:41
Peng_pickscrape: I'm not sure how much of the import will have been saved if you kill it, but it probably will include most of the repo.14:42
=== abentley1 is now known as abentley
=== sabdfl1 is now known as sabdfl
jammorning all15:00
jamspiv: thanks for the reviews, sleep well15:00
jamPeng_: wave15:00
jamjelmer: it looks like we need an updated bzr-rewrite as wel15:01
Peng_jam: First of all, I'm sorry about pestering you to keep adding features to StaticTuple. Thanks to all of your work, I finally got the Loggerhead branch working. :)15:04
jamPeng_: good to hear. Did you see my recent patch to support more object types?15:05
jamThat should land in bzr.dev today15:05
Peng_jam: Yeah, I'm using it.15:05
jamit will change slightly, but not dramatically15:05
Peng_jam: Anyway, on to the continued pestering: The only other things I could want are these, but they're not necessary: Pickle support, and the ability to pass a generator to from_sequence.15:05
Peng_jam: What do you think? Like I said, they're not necessary, but they would be nice.15:06
jamPeng_: from_sequence(tuple(generator)) should work fine :)15:07
jamand essentially give the same results15:07
jamI have to iterate the generator because ST is a fixed-width object15:07
Peng_jam: OK.15:07
jamgiven that, from_sequence(list(generator)) might be better15:07
jamI'm not clear on the tuple internals wrt a generator15:07
Peng_from_sequence(list(generator)) might be better than from_sequence(tuple(generator))? Why?15:08
jamPeng_: because tuple() is also fixed width, so it has to somehow stage the whole generator result somewhere15:08
jamand then create a tuple15:08
jam*list* can grow15:08
jamso it can stage the contents into itself15:09
Peng_jam: Ahh, interesting. ...It probably doesn't matter much, though.15:09
jamPeng_: looking at the internals of PySequence_Tuple() it re-allocates the internal tuple15:09
jamholding a size of 10, and then reallocating over and over as it grows15:10
jamso I guess ~ the same as List does15:10
jamPickle support... I really don't know what it takes to tell pickle about a custom type15:10
Peng_I think these tuples are only like 1 or 2 items long, so it shouldn't matter much.15:11
jamhttp://docs.python.org/library/pickle.html#pickling-and-unpickling-extension-types15:12
Peng_Oh, I hadn't scrolled down that far in the docs.15:12
Peng_jam: BTW, your merge proposal got the LP equivalent of bb:tweak, more or less. Have you seen it yet?15:13
jamPeng_: yeah, I'm cleaning it up now15:13
Peng_jam: ok :)15:13
jamPeng_: so if pickling is important to you, I'm happy to look over a patch, give suggestions, etc. I'm probably not going to worry about it myself, though.15:19
jamIn general, I think it wouldn't be too hard15:19
jamyou just have to implement __reduce__() and __setstate__()15:19
jamexcept __setstate__() sounds like it happens *after* the class has been instantiated15:20
Peng_Step 1: Learn C. :P15:20
jamPeng_: if you wrote it sufficiently in Python, translating it to C wouldn't be hard (for someone)15:20
jamyou could try doing it on the pure python StaticTuple type to start with15:21
jamor if it 'just gets' it from 'tuple', check what to do there15:21
jamthey also mention that you can do this 'after-the-fact' by registering with the 'copy_reg' module15:22
jamhttp://docs.python.org/library/copy_reg.html#module-copy_reg15:23
jamthat may work better, as it can15:23
jam1) probably be done in pure python15:23
jam2) you can be more sure that you don't have to construct an object and then call __setstate__ on it15:24
jamhmm.. maybe no nee15:24
jamneed15:24
jamgiven the callable you pass takes a tuple of arguments for the callable15:24
Peng_I just tested a copy_reg one-liner. It whined about __builtin__.StaticTuple not existing.15:25
jamPeng_: did you have _static_tuple_c imported before you did the unpickle?15:26
Peng_jam: I had "from bzrlib.static_tuple import StaticTuple".15:28
jamso potentially that is the pure python class, though not if everything is working correctly15:29
Peng_jam: It's the C version.15:29
Peng_I note that the C StaticTuple has no __module__ attribute.15:29
jaminteresting, given that 'tuple' itself does15:32
jamPeng_: actually *instances* of tuple do not have the __module__ attribute, but t.__class__.__module__ does15:35
jamand15:35
jam>>> _static_tuple_c.StaticTuple.__module__15:35
jam'__builtin__'15:35
jamI don't specifically know how to change that15:35
jamas I don't see where it is set15:35
jamit seems to be in 'typeobject.c' a function called type_module()15:40
jamand it looks like if you set "tp_name" to "bzrlib._static_tuple_c.StaticTuple" then it will get a module15:40
jamotherwise it defaults to __builtins__15:41
jamPeng_: give this a shot: http://paste.ubuntu.com/298325/15:42
Peng_Are you supposed to hardcode the module like that? Obviously, it isn't necessary when writing Python code.15:44
jamPeng_: that seems to be why Type.__module__ expects15:45
jamwe aren't creating a heap type, so we can't just set "Type.__module__" directly15:46
jamand if it isn't a heap type, it checks s = strrchr(type->tp_name, '.');15:46
jamand if not found returns __builtin__15:46
jamso I think so15:46
Peng_jam: This fixes it, but you'll have to adjust __repr__, as it now includes the module too.15:50
Peng_jam: Or, don't adjust repr, but adjust any tests where it's still hardcoded (if there are any).15:51
jamwell, seeing the full format in print '%r' also isn't very nice15:52
jamand I think we have the flag set so you can't subclass StaticTuple15:52
jamso it is safe to just hard-code it there15:52
Peng_jam: With that patch, pickling works with this one-liner: copy_reg.pickle(StaticTuple, lambda st: (StaticTuple, st.as_tuple()))15:53
Peng_jam: Although it will probably die horribly if you enable or disable the C extensions in between pickling and unpickling.15:53
jamPeng_: it won't work because the module is hard-coded in the pickle stream15:54
jamnow if we wanted to be 'evil'15:55
jamwe would make the module name "bzrlib.static_tuple"15:55
jamand then set15:55
jambzrlib._static_tuple_py.StaticTuple.__module__ == 'bzrlib.static_tuple'15:55
jamat that point15:55
jamI think you could switch between them15:55
jami'm not positive15:55
Peng_Probably.15:56
jambut I think the unpickler just tries to grab a class at the given path15:56
jamand passes it the args15:56
Peng_IMO doing that is nice, but unacceptably evil.15:57
Peng_Boy. I'm running bzr.dev with 2 unmerged branches + a patch. Fun!16:00
Peng_jam: So... what do you want to do? About tp_name, and about __reduce__? I could probably do it all, but it would take me a while, since I've written about 4 lines of C, none of them involving Python's C API.16:28
jamPeng_: I can probably put it on my "get to it eventually" list, as the actual amount of work is pretty small16:34
jamdid you try the 'nice but evil' hack and see if it worked?16:34
Peng_jam: What, to make switching between C and Python work? No.16:39
Peng_jam: Are you going to land the tp_name patch? I'm going to work on pickling -- though I might give up -- so I can make it a part of that. But I don't know what, if anything, to do about repr.16:41
jamPeng_: just change the part that formats to hard-coding it16:42
jamI would land them all together16:42
Peng_jam: Alright.16:42
jamstatic tuple type support is in pqm now16:46
jamPeng_: what other unmerged branch are you running?16:47
Peng_jam: lp:~spiv/bzr/bzr-http-jailbreak-bug-34830816:49
Peng_Uh-oh. Applying the tp_name patch to another branch, it doesn't work. :\16:50
Peng_And no, I'm not making some mistake like importing the wrong file.16:52
=== deryck is now known as deryck[lunch]
awilkinsThought of the day : a fast-import frontend you can use for benchmarking17:08
awilkinsie - it replays revisions by making changes to the filesystem and driving the porcelain of your chosen VCS17:08
awilkinsSo you could take a git-fast-export of say.. the kernel tree... and pipe it through this thing to see how various things performed on real-world data17:09
jfroyverterok: ping17:21
verterokjfroy: pong17:21
verterokjfroy: hi17:21
verterokjfroy: I wasn't able to get a spare minute and reboot into OS X, so no push yet :(17:22
jfroyalright, just ping me when you do17:24
=== beuno is now known as beuno-lunch
verterokjfroy: sure, let me try to get the changes from the HFS+ disk ;)17:35
verterokjfroy: pushed revno 13 to lp:~verterok/+junk/OSX-package17:44
verterokjfroy: I remove the -desktop pmdoc, as it was quite outdated17:44
verterok*removed17:44
=== deryck[lunch] is now known as deryck
=== beuno-lunch is now known as beuno
jfroyverterok: so what's the process for the desktop installer?18:08
verterokjfroy: there isn't a desktop installer :)18:09
verterokjfroy: I just builded a PyQt.pkg and included it in the DMG18:09
verterokjfroy: as I'm still using my old script to build the 10.5 installer18:09
verterokjfroy: basically, I think we need a new pmdoc (-desktop) for 10.618:10
jfroy|workI see18:11
jfroy|workwell that should be easy enough18:12
jfroy|workI don't see a switch to have fetch-external grab PyQt and Sip, am I missing something?18:12
Takyay, subvertpy crash fixed!18:13
verterokjfroy: it should fetch all the deps18:14
jfroy|workAh, so it did18:15
jfroy|workhum18:17
jfroy|workwhy did you modify the config for sip and pyqt that much?18:18
jfroy|workah I see, the default paths are bogus18:23
verterokjfroy: yeap18:24
jfroy|workanyways, it needs to be done that way too because there's no prefix or root option18:27
jfroy|workwas the -q option necessary for pyqt?18:27
jfroy|workit should find the default just fine I would think18:28
jfroy|workoh, did you include Qt in your dmg?18:29
verterokjfroy: no, QT  needs to be installed18:34
verterokjfroy|work: ^18:34
verterokjfroy|work: I'm still trying to build a standalone bundle with qt and pyqt18:35
Peng_jam: I just sent a merge request for pickling. Peng_ wrote C, ha! (Well, Peng_ copy-and-pasted C.)18:39
jamPeng_: \o/ for you18:41
jamPeng_: https://code.launchpad.net/~mnordhoff/bzr/statictuple-pickling/+merge/13720 doesn't have anything with pickling18:43
jamit only has the repr and tp_name changes18:43
Peng_jam: I know. Launchpad's mirror is out-of-date; see my message.18:44
Peng_I didn't want to wait another 4 hours to submit the proposal, or figure out how to trigger a mirror again.18:44
Peng_Sorry for making it confusing.18:44
abliHi! If I do a bzr merge of certain revisions (i.e. with from_rev..to_rev) why doesn't it get noted that I have pending merges when I do a "bzr st"? And why dont the merged versions's comments get added when I check in the merge? Any ideas?18:46
abli(using bzr 1.16.1)18:47
dashabli: that's a cherry-pick and bzr doesn't treat it like a 'normal' merge18:47
dashit just applies the changes and doesn't track history18:47
jamPeng_: you could have always hosted the branch... :)18:48
abliand is there some way  to make bzr treat it like a normal merge? To get the merged comments in the checkin comment?18:48
jamPeng_: reviewed. I think you need one more Py_INCREF but otherwise it looks good.18:48
jamabli: use "bzr merge -r to_rev"18:48
jamand if you really need to18:49
abliFor example, bzr will know that those revisions were merged, right? I.e. won't show them when I run "bzr missing" later?18:49
jambzr merge --force -r from_rev..ancestor:../other18:49
jamabli: it will show them as missing18:49
jamas said earlier, we don't track the history of cherrypicks18:49
Peng_jam: How's that fun? If I had originally pushed to LP, it would have been very quick, instead of 8 minutes of streaming data to the out-of-date repo on my server. :D18:49
dashabli: what's your situation?18:50
abliBtw why isn't cherry-picking treated like a normal merge? (I.e. why is the workaround you guys mentioned needed?)18:50
jamPeng_: well at least your server is up to date now :)18:51
ablitrying to merge "half" of a branch to trunk. I.e. I have a branch with commits that implement  two features, and I want to merge those belonging to one of the features to trunk18:52
ablijam: how should I read that from_rev..ancestor:../other part? I assume I am to run "bzr merge" from the branch I am merging to, right? So running "bzr merge -r from_rev..to_rev other_branch" is a normal cherry-picking, right? so how do I run this non-cherry-pick-but-only-some-revisions merge? Or is it even possible?18:56
=== maxb_ is now known as maxb
Peng_jam: Thanks for the review. :)18:57
Peng_Writing (a little bit of) C is kind of fun. Python is so easy that it's boring. :P18:58
jamabli: we don't have a way to internally represent "i'm merging some of the ancestry but not all of it"19:02
jamso there are some options19:02
jambut they all 'break' for some use cases19:02
jamabli: for example you can do19:03
jambzr merge ../other -r from_rev19:03
jambzr revert .19:03
jambzr commit -m "Explicitly remove the initial changes"19:04
jambzr merge ../other -r ../to_rev19:04
jamhowever, in that case the initial changes 'won't' land19:04
jamthough you can then do the reverse sync19:04
jamwith cd ../other19:04
jambzr merge ../trunk19:04
jambzr revert .19:04
jambzr commit -m "Revert the removal from trunk"19:04
jamor something along those lines19:04
jamcaveat that merging trunk probably does more than just bring in the feature you just did19:05
jamabli: alternatively, you can look at something like: http://jam-bazaar.blogspot.com/2009/10/refactoring-work-for-review-and-keep.html19:06
jamfor how to take a branch that has multiple features developed on it19:06
abliand then merge to to_rev, and commit, right? But that will show the revisions up to from_rev as merged, won't it? I will want to merge those at some later point19:06
jamand split it into independent branches19:06
abliOk, thanks, I'll try out that refactoring thing.19:19
=== bac` is now known as bac
emmajaneigc, pong (belated)20:57
igchi emmajane, how are you?20:58
beunomwhudson, Peng_, I think I have LH working with 3.0.020:58
emmajaneigc, hey :)20:58
beunojust need to iron out a few errors with the search js20:59
mwhudsonbeuno: cool21:00
thumperbeuno: 3.0.0 what?21:10
lifelessmoin21:13
lifelessYUI I imagine21:13
igchi lifeless, thumper21:16
beunothumper, lifeless, yes21:23
beunoI'm pretending this is research for the lazr-js sprint in dallas21:23
lifelessbeuno: 'it is'21:26
jmlI've recently been motivated to care about this bug: https://bugs.launchpad.net/bzr/+bug/15200821:29
ubottuError: Could not parse data returned by Launchpad: The read operation timed out (https://launchpad.net/bugs/152008)21:29
jmllifeless, you now have commit rights to testtools.21:35
lifelesscool21:36
lifeless[what prompted this?]21:36
jmlI'm yak shaving :)21:36
jmlI want to release txsshserver21:37
jmlto do this, I need to make sure the tests pass21:37
jmlright now, running the tests in trial makes them all skip21:37
jmlI have NFI why that's the case, but suspect a bug in testtools (or maybe in trial)21:37
lifelessawesome21:37
jmlyou've been keeping up to date with python test development much more than I, so I feel that you are in a much better position to get stuff landed.21:38
jmland I feel I'll be less of a blocker if I don't have sole commit rights.21:38
lifelesswhat was your previous 'policy' about reviews of committer's code21:39
lifelessand how do you want me to behave21:39
lifelesse.g. 2 +1s, then land, or 'if you think it is right just land', or 2 +1s with a timeout?21:40
lifelessjml: ^21:41
jmllifeless, my policy has been patches get reviewed, and I land patches without review. but I was the sole controller.21:43
jmllifeless, I just got on a call w/ thumper, will actually think about policy when I'm off :)21:43
lifelessjml: indeed, but you can see why I ask :)21:44
jmlyes :)21:44
lifelessjml: if you're to be less of a blocker we need committing to be quorate without needing you21:44
jmllifeless, that's right.21:45
lifelessenjoy the call21:45
jml:)21:45
jamjelmer: ping (still need a newer bzr-rewrite for 2.1.0b1 release...)21:46
jammorning lifeless21:46
lifelesshi jam21:47
igchi jam, jml21:47
jmligc, hi21:48
igcemmajane: my email from last week? Did I miss your reply or is it still coming?21:49
emmajaneigc, email from last week?21:49
emmajaneigc, on-list?21:49
igcemmajane: no, just to you21:49
* emmajane checks the backlog of lsit email.21:49
emmajaneoh. hrm.21:49
jammorning igc21:49
emmajaneigc, can you resend?21:49
igcemmajane: it was the one about templating, etc - shall do21:50
GaryvdMHi jam - Thanks for the bzr-beta-ppa approval.21:50
emmajaneigc, thanks. I don't remember getting one to me about templating. :/21:50
igcemmajane: just re-forwarded it now - date was 12/Oct; title was "Next steps ..."21:51
jamGaryvdM: no problem21:51
jameasier than having you request a copy every month :)21:51
GaryvdM:-)21:51
emmajaneigc, got it this time. I'm not sure where the other one went. :/21:52
* emmajane reads21:52
igcjam, lifeless: OOo fast-imports now with latest trunk and cache of inventories cut down to 5 (was 100)21:52
igcjam, lifeless: I'm just trying qt now with a few different cache sizes to see memory and speed impact21:53
emmajaneigc, Good list. I'll send a response back tonight with a plan.21:53
igcemmajane: thanks21:53
emmajaneno problem! thanks for pinging me about it.21:54
jamigc: you're saying that it succeeds at importing w/ a cache of only 5?21:54
jam(and cache of what?)21:54
* ToyKeeper ponders how to rebase a series of merges on top of a new upstream tarball... bzr-rebase seems to think the source branch (with new tarball) is a descendent of the target branch (with merges), and pulls instead of rebasing.21:54
jambtw, it *might* be reasonable to handle a hunk stream by copying everything into the chk store, and then extracting it from there.21:54
jamthough 'pack' won't gc those extra objects.21:55
ToyKeeperHmm, I bet a null commit before the merges would un-confuse it.21:55
himanshu__Hi, I am getting following error :bzr: ERROR: Unknown repository format: 'Bazaar repository format 2a (needs bzr 1.16 or later)\n'21:56
himanshu__Not sure why?21:56
ToyKeeperhimanshu__: It sounds like your version of bzr is too old to read the repository.21:57
himanshu__bzr server is running on remote repository  with version 2.0.121:57
himanshu__my client machine is ubuntu with bzr version 1.6.121:58
ToyKeeperIt's because your client is old, then.21:58
himanshu__so new bzr version is not backward compatible with any bzr version?21:58
ToyKeeperIt is if you're using a backward-compatible format.  Format 2a is compatible back to bzr 1.16...21:59
fullermd(though you really would rather not use it with <2.0.0)22:00
fullermd_bzr_ is compatible; that _repo_ isn't.22:00
ToyKeeperAh, okay.22:00
ToyKeeperhimanshu__: Upgrading your client would probably be the best option, but you could also rebuilt the repo with an old format, like 1.6.1-rich-root.22:01
ToyKeepers/rebuilt/rebuild/22:01
himanshu__so what do you suggest..Shoudl I rebuilt repo with old format  or upgrade client22:02
fullermdUpgrade the client, definitely.22:02
fullermd2a is a better format in a lot of ways, and unrelated to that 2.0.1 will be a lot faster etc. than 1.6.1 as well.22:02
himanshu__what is the quickest way to upgrade client on ubuntu?22:03
himanshu__I have installed using apt-get install bzr22:03
fullermdOlder format mirrors are for when (for whatever reason) clients _can't_ be upgraded.22:03
fullermdThat probably involves PPA's, but I don't know any details about it.22:04
himanshu__ohk so I need to build it from source ?22:04
ToyKeeperUbuntu backports may have it.22:04
himanshu__what is backports?22:04
ToyKeeperhttps://help.ubuntu.com/community/UbuntuBackports22:04
igcjam: fastimport caches inventories22:04
himanshu__ok cool let me check22:04
himanshu__Also, 1 more question22:05
GaryvdMhimanshu__: New versions can also be found in the ppa: https://launchpad.net/~bzr/+archive/ppa/22:06
himanshu__ok cool let me check22:06
lifelessjam: inventory cache22:07
lifelessjam: fast import has a huge one22:07
ToyKeeperBTW, know of any tools to modify fast-import files?  It would be nice sometimes to remove files, revisions, and other stuff from history.22:08
himanshu__I have 1 question related to supporting bzr repositor22:09
ToyKeeperIt can be done by hand, but it's a lot of work.22:09
himanshu__say if I have 10 users acess to bzr repository but I want to ensure that no user can have read/write access in other user's project22:10
himanshu__how can that be possible?22:10
jamToyKeeper: you may want to look at 'bzr replay' versus 'bzr rebase'22:10
fullermdhimanshu__: Why do you need it in one repository?  Or do you?22:10
ToyKeeperjam: Ooh, sounds promising.  Thanks.  :)22:10
himanshu__so it possible to start bzr server with each user repository?22:11
jamigc: so you might be extra interested in the patch I'm about to propose again (chk_map changes). Providing you are caching chk inventories.22:11
rockstarToyKeeper, I'm actually rather surprised you hadn't heard about bzr replay.22:11
fullermdhimanshu__: The server and 'repositories' are almost completely decoupled.  You serve a directory tree, which may have one, two, or six hundred repositories under it.22:12
fullermdhimanshu__: Now, the bzr server doesn't itself do any AAA.  You'd have to do that in a high level, via the web server for bzr+http, or the ssh daemon for bzr+ssh.22:12
himanshu__what is AAA?22:13
fullermdhimanshu__: I've never messed with bzr+http; I use bzr+ssh everywhere.22:13
fullermdhimanshu__: Authentication, Authorization, Accounting.22:13
himanshu__ok here is what i am doing rite now: I have created 1 bzr repository  and executed following command22:14
himanshu__nohup bzr serve --allow-writes --directory=/home/bzradmin/repository >> /home/bzradmin/logs/bzr_serve.log &22:14
himanshu__nohup serve-branches /home/bzradmin/repository >> /home/bzradmin/logs/bzr_loggerhead.log &22:14
himanshu__but this way I am giving everyone read-write access22:14
igcjam: cool22:14
fullermdRight.22:14
* igc breakfast - bbl22:14
himanshu__but I just want to limit it to each user group22:15
himanshu__I mean each user group should not have any read-write access of other usergroup22:15
himanshu__not even on http22:15
fullermdI'd do it all via bzr+ssh (the writing, anyway).22:15
fullermdAnd use FS permissions.22:16
ToyKeeperrockstar: It was a hidden command...  :(22:16
rockstarToyKeeper, those are the ones you find first usually.22:16
rockstar:)22:16
fullermdReally, there's no way to provide meaningful security differentiation within a repository; if you can write into it, you can change anything.  So you'd need one repo per slice of the auth domain.22:16
himanshu__how do you use bzr+ssh?22:17
fullermdOh, I just use regular system accounts.22:17
fullermdYou COULD do it with a ssh daemon that uses PAM or some other auth, and refers to an external database rather than using regular system accounts.22:18
fullermdBut that would be rather more complicated.22:18
himanshu__so this way each usergroup will be having their own repository?22:19
ToyKeeperI haven't checked in a while, but if bzr-access ever got developed to a usable point, it might help.22:19
fullermdbzr-access can't provide control at a sub-repository level.22:19
ToyKeeperNo, it can't.22:19
fullermdNothing can, without bzr moving a ways.22:20
lifelessif you need privacy or integrity, use separate repos22:20
lifelessthats a design statement, not a feature statement22:20
fullermdhimanshu__: You may be assigning more meaning to 'repository' than bzr does.  It's not like cvs/svn, where the 'repository' is an important semantic unit.22:21
lifelesswe can and will remove the VFS eventually, or at least make pushing with it disabled work [modulo plugins this is the case already]22:21
lifelessand with the VFS removed many middling hostile attacks are prevented22:21
fullermdYah, VFS is a hole you can drive a 11-dimensional multiverse through.22:22
fullermdI didn't know we have all the core actions moved off it.  That's pretty neat.22:22
himanshu__I am getting little confure here: say I need to support 10 usergroup over same bzr server completly isolated from one another22:23
lifelessfullermd: 2.0.0. baby22:23
fullermd(well, aside from having to longcut to it to find out the !@&$ format of a remote branch...)22:23
lifelesshimanshu__: then you have 10 repositories22:23
lifelesshimanshu__: or more if you like :)22:23
himanshu__then I should create 10 different respository setting read-write access according to group22:23
fullermdhimanshu__: Remember, your users will [practically] never be interacting with repositories; they'll be dealing with branches.  So think in terms of a directory hierarchy of branches, slicing that up how access control needs to be.22:24
fullermdThen you can see where it's worth creating repositories within that.22:24
himanshu__then each user group can access their resporitory over the bzr+ssh22:25
himanshu__I agree that users will always interact with branches but I need a way to make sure that set of branches are accesible to only 1 particular user group22:27
fullermdYah, having those branches have all their data be 775/664 works well for that.22:28
himanshu__ok  cool22:28
himanshu__so it seems 1 repository, within that I create sub directory fo reach user group22:29
fullermdNo, that's a step backward, since they all have to write into the repository.22:30
fullermdStep back and forget about [explicit] repositories; just arrange a bunch of individual standalone branches.22:30
himanshu__ok22:30
fullermdSo you end up with $ROOT/team1/ and $ROOT/team2/ and $ROOT/team3/ etc. dirs, each full of branches.22:31
himanshu__ok22:31
fullermdWith everything under teamX set with that group having write access, and everybody else just read (or no access, if that's what you want)22:31
fullermdSo, you can run with just that, and not create any repositories.22:31
fullermdThat has its shortcomings, but it's functionally equivalent.22:32
himanshu__what is the shortcoming here?22:32
fullermdEvery branch has a full copy of the history, so (assuming that some/many/most/all of the branches are of the same project), you'll have a giant pile of copies of the same data.22:32
fullermdWhich eats up disk space, and also means the users can end up having to push up more data to get their work done.22:32
fullermdBut, ignoring space and time, everything acts just like it would with repos.22:33
fullermdNow, if we assume that most/all of these branches are of the same project, just creating a repo in each teamX/ branch means we have 10 copies of the history (one for each team), but that's not so bad probably.22:33
himanshu__i want branches of same project in teamX directory only22:34
fullermdYou could have a repo for teamX/ even if all the branches in it were of different projects of course, but it wouldn't gain anything in that case (since there's no common history to store only 1 copy of)22:34
fullermdSo, it sounds like you want a tree sorta like that, with a repo per teams and its perms set as appropriate.22:35
himanshu__so requirement is that if there is some projectX, then that projectX is just limited to TeamX, cannot be read/write by any other Team22:35
himanshu__thanks a lot fullermd, i got your suggestions22:39
himanshu__From my requirement, it makes sense to maintain 1 respoitory for each Team as they have nothing in common, I mean no project, no read-write access22:40
fullermdSounds like a perfect fit then   :)22:40
himanshu__so when I start bzr server, this would be wrong choice"22:41
himanshu__nohup bzr serve --allow-writes --directory=/home/bzradmin/repository >> /home/bzradmin/logs/bzr_serve.log &22:41
himanshu__"22:41
himanshu__so how should I start server?22:41
himanshu__assume I have multiple respository22:42
himanshu__should I give path of top level common directory maintaningg all user repos as underlying sub directory22:43
fullermdYou don't 'start' the server.  The users use bzr+ssh, which ssh's in and spawns bzr itself behind the scenes.22:44
fullermdSo you just have bzr installed and in $PATH, and them able to login.22:45
himanshu__ok cool22:45
fullermdThen they give whatever path they want.  Even a path to one of the other teams if they want, but since the filesystem permissions won't let them write...22:45
jmllifeless, how's this: all patches need reviews from a committer who is not the author. If the author is a committer, there is a 24hr timeout on this rule.22:45
himanshu__ok cool22:45
fullermdSo they'd do something like "bzr branch bzr+ssh://me@server/bzr/team5/mainbranch mylocalbranch"22:45
himanshu__ok cool~22:46
lifelessjml: sounds fine to me22:46
himanshu__Also, is it possible if I can expose this kind of view over http using loggerhead?22:46
jmllifeless, cool.22:46
jmllifeless, let's do that then.22:46
fullermdhimanshu__: Well, since you've moved the devs to bzr+ssh, you don't need writes over the web (or over a 'bzr serve' bzr:// server, if you still want to run one), so that just needs read access.22:48
fullermdIf you wanted write over bzr+http, you'd have to do access control via Apache (well, or whatever other httpd you have).22:48
himanshu__ok cool22:48
lamalexis there a way to only get part of a branch?23:22
beunomwhudson, https://code.edge.launchpad.net/~beuno/loggerhead/yui3-0-0/+merge/1374423:32
beunoin case you have a little while23:32
beunonotifying oopsed23:32
beunoso I'm doing it manually  :)23:32
beunoPeng_, ^23:32
lamalexim trying to set up bzrbuilder, but our debian package branch is in a subdir of the branch23:32
lamalexis there a way to just get the debian dir of the branch or should i just use run to do an mv23:33
beunolamalex, there's no way to get a specific dir with bzr at the moment23:33
lamalexso i guess run mv is the way for now23:34
lamalexthanks23:34
lifelessjml: is the new team subscribed for reviews to trunk ?23:35
jmllifeless, is now.23:37
lifeless:)23:37
jmlg'night.23:37
lifelessnight23:37

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