/srv/irclogs.ubuntu.com/2010/04/03/#bzr.txt

johnfUsing fetch logic to copy between CHKInventoryRepository('file:///home/johnf/dev/packaging/bzr/ppa/.bzr/repository/')(<RepositoryFormat2a>) and CHKInventoryRepository('file:///home/johnf/dev/packaging/bzr/bzr_2.1.1-1/.bzr/repository/')(<RepositoryFormat2a>)02:39
johnfShould that normally take ages and peg my CPU at 100%?02:39
johnfconsole has - "Fetching revisions:Get stream source"02:40
lifelessshould take a couple minutes02:40
lifelessif you don't have the X extensions it could take longer02:40
johnfDoes take 2 minutes02:42
johnfautoppa and builddeb seem to be doing it. Never used to take this long02:42
johnfmaybe my extensions are missing02:43
johnfnope I've got them02:43
lifelessthere isn't really a good reason to have two repositories there02:45
lifelessbzr init-repo /home/johnf/dev/packaging/bzr02:45
johnfAhh I think I broke that at some stage02:46
johnfdo I need to recheck everything else out or does "magic" happen?02:46
lifelessreconfigure --use-shared-repo or something like that02:47
johnfthanks02:47
lifelessotoh fetching a single rev should be near-instant02:47
johnflifeless: much better! Thanks02:55
offby1I just tried to download bzr-explorer, by adding http://ppa.launchpad.net/bzr/ubuntu to /etc/apt/sources.list, and installing via aptitude.  But aptitude is refusing to install it: after downloading it, it complains that it's the wrong size.  Any hints for how to proceed?03:49
wgrantoffby1: You are probably behind a (perhaps transparent) proxy that is caching badly.04:04
offby1not that I know of04:04
offby1plain old DSL at home04:04
wgrantoffby1: What is the exact error message?04:05
offby1hold on04:05
offby1Weird, I can't select the text ...04:05
offby1E: failed to fetch blahblahblah.deb: Size mismatch04:06
offby1that shows up in a red "dialog box" in aptitude.04:06
offby1I'll try the command line04:06
offby1E: Failed to fetch http://ppa.launchpad.net/bzr-explorer-dev/ppa/ubuntu/pool/main/b/bzr-explorer/bzr-explorer_1.0.0final-0~bazaar1~karmic1_all.deb: Size mismatch04:07
offby1I downloaded it by hand with "curl -O", and installed with "dpkg -i".  Let's see if I vanish in a puff of smoke ...04:08
* wgrant checks consistency.04:09
offby1seems to work04:09
wgrantoffby1: The indices04:10
offby1?04:10
wgrant... match on disk.04:10
offby1dunno what you're talking about, actually.04:10
wgrantSo it's probably a transparent proxy on your Internet connection.04:10
offby1oh04:11
wgrantBecause the archive on ppa.launchpad.net is internally consistent.04:11
offby1ok04:11
offby1lemme md5sum the .deb; you tell me if it matches what you see04:11
lifelesswhat is your ISP04:11
offby1blarg.net04:11
offby10b9dfdd8673dabb6e7cf8093b595df7804:11
wgrantbzr-explorer_1.0.0final-0~bazaar1~karmic1_all.deb04:12
wgrantShould be:04:12
wgrant61266149140843c5bfe91d91309cc24e04:12
offby1uh oh04:12
wgrantMy copy of it matches that.04:12
wgrantAnd the indices say that.04:12
wgrantSo your copy is somehow bad.04:12
offby1crap04:12
offby1dpkg --purge04:12
offby1poo04:12
wgrantWhich means that it's not just normal bad caching; it's actually holding a corrupted copy of the file.04:12
offby1well, thanks for checking.04:12
offby1I wonder if there's some way I can identify the proxy04:13
lifelessyou can sometimes trace it using various 'whats my ip' style cgi scripts04:14
lifelessor checking the returned headers of an http query04:14
offby1aha04:14
offby1headers sound interesting04:14
SamB_XPyay firebug!04:22
Infl8ableSoulm8Just recently was pointed towards the possibility of using bzr and was wondering if it would fit my use case...06:33
Infl8ableSoulm8I'm in charge of updating configs, plugins, and plugin source code for 9 or so game servers (valve's srcds)06:34
Infl8ableSoulm88 of them run on one windows box, and on of them runs on a linux box in a different location.06:35
lifelesssure06:35
lifelessit should handle that just fine06:35
Infl8ableSoulm8there are three developers (myself included) and at least two other people who would be modifying the configs or source code for the plugins.06:35
Infl8ableSoulm8and there would also be binary externsions for the plugin mod that we use06:36
Infl8ableSoulm8basically, reading about bzr it looks like commits are sort of localish, but somehow there is a main branch?06:36
Infl8ableSoulm8also, I have never really had any reason to use any sort of vcs before, so I'm basically stumbling around int he dark.06:38
Infl8ableSoulm8I have a subversion repository<?> set up ont he linux box, but it's just a single project with everything in it.06:38
Infl8ableSoulm8it would be much nicer to have a different project for each server06:39
Infl8ableSoulm8but svn is way over my head.06:39
fullermdCommits in bzr go onto whatever the branch in question is (which usually the local one)06:39
fullermdOnce made, you can copy the revisions out to any other related branch, in arbitrary topologies (a star with one 'central' branch and a lot of outlying branches is probably the most common, but not the only possible)06:40
Infl8ableSoulm8so, say you have a few people who are collaborating on one source file for a plugin, does one person change something, commit, then another person update their local branch to further extend the work?06:43
Infl8ableSoulm8and if so, where is the central branch located if there is no centralized server?06:43
fullermdWell, there are a number of ways you CAN do it.06:44
fullermdThere can be a central server.  The distinction of the DVCS's versus the centralized ones is that there doesn't HAVE to be.06:44
fullermdThe simplest to grasp case is probably using bzr just like it were SVN or another centralized system.  You have one central branch somewhere, and everybody makes checkouts of it and works there.06:44
fullermdThen all the commits go to the central branch, and if somebody else has commit'd, you have to 'update' to catch up before you can.06:45
fullermdIn this setup, you're basically all sharing a single branch.06:45
Infl8ableSoulm8ahh, ok.06:45
fullermdThe opposite extreme is everybody having their own branch, and no central server.06:45
fullermdIn that case, to get Bob's changed, you have to merge from Bob.  To get Joe's stuff, you have to merge from Joe.06:46
fullermdSorta a full mesh.06:46
fullermd(though you don't necessarily HAVE to merge from everyone individually; if Bob merges Joe's stuff, and then you merge Bob's, you get Joe's transitively)06:46
Infl8ableSoulm8well, the central branch idea is the one that makes the most sense to me, since the idea is that they are all going to immediately be in use by the servers06:46
fullermdThat usually just doesn't scale for obvious social reasons past a very few people of course.  But it's viable technically.06:46
fullermdWhat usually happens is somewhere in the middle.  e.g., everybody shares (either directly via checkouts, or indirectly via gatekeepers) one central branch, except that they also make new independent branches for "bigger" (hazily defined) changes.06:47
fullermdBut you can start out with a single central branch, then branch (haha) out from that later as you find reasons too.06:48
fullermdYou're not necessarily hooked in to the configuration you start out with.06:48
Infl8ableSoulm8well, the person who pointed me this way claims that bzr is a lot easier to set up than svn...06:48
Infl8ableSoulm8I have no idea how to even add a project to svn :/06:48
Infl8ableSoulm8I walked through a crappy tutorial I found somewhere, and really don't understand it very well.06:49
fullermdIt is in a lot of ways.  Also more flexible in a lot of ways (and less flexible in some, though most would argue that those latter are bad ideas in the first place  ;)06:49
Infl8ableSoulm8I just got it to work eventually.06:49
SamB_XPit's true, bzr is a lot easier to set up ;-)06:49
fullermdIt's easier to start small&simple with bzr and then scale it up.  svn you have to start scaled up.06:49
Infl8ableSoulm8well, I would like the idea of having the central server be on my linux box, with the main windows game server box pulling updates from the linux box.06:50
Infl8ableSoulm8that way everything is available from two seperate datacenters06:51
Infl8ableSoulm8well, I mean that the running copy is, anyway06:51
Infl8ableSoulm8but I would also like to have a predefined directory structure that mirrors the structure of each game server06:52
Infl8ableSoulm8so that I can browse through all the configs and plugins locally, and change a few things as need be, then commit, log into the windows box, and update06:52
Infl8ableSoulm8and basically get rid of all the annoying filezilla/scp stuff I do now :P06:53
fullermdSure, you could do that with just having one big branch of the stuff on a central server, and checkouts of it in various places (the Win machine, your workstation, etc)06:53
Infl8ableSoulm8sweet.06:54
fullermdNote that with default ("heavy") checkouts, the full history is cached locally at each spot.  So you'll have N copies of all the data if you need it for recovery.06:54
Infl8ableSoulm8so, when you go to set it up, how do users work?06:54
Infl8ableSoulm8there are users that can commit, and other who are read-only, etc?06:54
SamB_XPInfl8ableSoulm8: well, whatever you can do with unix permissions ...06:55
Infl8ableSoulm8well, like svn has the webdav and ssh deals, but setting up a bunch of users and stuff is where things got hairy with svn.06:56
SamB_XP(but there's no restriction of access to only PART of the tree)06:56
fullermdbzr doesn't itself do any AAA.  That's all punted to higher (e.g., ssh) or lower (POSIX perms/ACLs) levels.06:57
Infl8ableSoulm8what about restriction on a project-by-project basis?06:57
SamB_XPthat's pretty easy, yeah, as long as you manage them as totally seperate branches06:58
fullermdGenerally each project would be a separate branch.06:58
Infl8ableSoulm8yeah06:58
fullermd(in separate repos, since you can't effectively hard-limit access at a tigher granularity than that)06:58
Infl8ableSoulm8because we run several different kinds of game server, and there may cmoe a time when people who have acess to Team Fortress 2 server configs will be a completely separate group of people from people who admin the Day of Defeat or Countrer-Strike servers, etc...06:59
Infl8ableSoulm8ok, so I guess it's time for the classically windowsy question, is there a flashy simple GUI setup utility to get something like this set up for the central branch on ubuntu?07:01
Infl8ableSoulm8I mean other thant he apt-get part... I can handle that just fine.07:02
Infl8ableSoulm8I'm guessing not, if everything is dependent on user permissions :/07:02
fullermdWell, a "central" branch is no different from any other branch.  That's fundamental; the concept of 'central' or 'leaf' is a totally social distinction.07:02
fullermdSo you put a branch somewhere, set perms on it appropriately, and tell everybody "that's the central branch"07:03
SamB_XPthe GUI isn't going to make it much easier, really07:03
SamB_XPthe only reason I use a GUI to make repos or branches is if I'm working in Windows and I don't have a command prompt open in the right place, really ;-)07:04
Infl8ableSoulm8well, let me see...07:04
Infl8ableSoulm8so I could just set up the 'client' or whatever you'd consider it, create a few directories and tell bzr that they are a certain branch07:04
SamB_XPthen it's easier to just pick the appropriate option of the shell menu rather than opening a cmd.exe, CDing to the appropriate directory, and THEN typing the command07:05
Infl8ableSoulm8and then give people permission to update/commit?07:05
SamB_XPyeah, basically07:05
SamB_XPand what you call the 'client', I call 'bzr' ;-)07:05
Infl8ableSoulm8right07:06
Infl8ableSoulm8:)07:06
Infl8ableSoulm8so I could just create a directory structure on my linux server in some user directory07:06
Infl8ableSoulm8and set up a branch in a directory07:06
SamB_XPwell, you would want to use a group directory really07:07
fullermdI'd recommend doing it as a throwaway and playing around with it a bit, to see what you'll be doing and how it fits.07:07
SamB_XPthat's a good idea, yeah07:07
Infl8ableSoulm8so would each person with access to it need ssh access to the box?07:07
SamB_XPif you play around a bit first, then you'll have more clue what you're doing ;-)07:07
fullermdssh access is the simplest choice, yes.07:08
Infl8ableSoulm8hrmm.07:08
SamB_XPis that a problem ?07:08
Infl8ableSoulm8this is where not being much of a linux admin gets int he way.07:08
SamB_XPah, yeah ;-)07:08
Infl8ableSoulm8well, I don't want to give a bunch of people basically shell access to my box.07:09
Infl8ableSoulm8and I don't really understand chroot stuff.07:09
Infl8ableSoulm8which is just a guess at one thing I'd need to know to lock things down for those usrs.07:09
SamB_XPyou don't trust unix permissions?07:10
Infl8ableSoulm8no, the permissions are fine.07:10
Infl8ableSoulm8I get that.07:10
fullermdWell, you wouldn't necessarily have to use YOUR box as the "central" branch, would you?07:10
SamB_XPtrue07:10
Infl8ableSoulm8but I mean, if I give someone ssh access to my server, then they can fire up screen and irssi and idle irc or whatever.07:11
SamB_XPand ?07:11
SamB_XP(though there ARE ways to prevent that)07:11
Infl8ableSoulm8I don't want them to be able to run random programs, but they obviously will need access to commands like cd or ls07:11
fullermdWell, no, they'd only need to be able to run bzr.07:12
SamB_XPthat's true07:12
fullermdThey wouldn't be logging in to the box to work, they'd just be accessing the branch over bzr+ssh07:12
fullermdThey'd WORK on their OWN systems.07:12
Infl8ableSoulm8right, so I need to figure out how to make it so a user can tunnel over ssh to use bzr, but not login to get a regular prompt07:13
Infl8ableSoulm8or shell or whatever07:13
fullermdI think there's some discussion in the docs about it, using key auth.07:13
SamB_XPsome kind of "allowed commands" setting for ssh...07:13
Infl8ableSoulm8heh07:26
Infl8ableSoulm8the docs say "Using SSH configuration options it is possible to restrict developers from using anything but Bazaar on the server via SSH, and to limit what part of the file system they can access."07:27
Infl8ableSoulm8and that's it :D07:28
Infl8ableSoulm8guess I have to browse the ssh docs :P07:28
luksInfl8ableSoulm8: the usual way is using authorized_key to restrict access08:10
luksbzr has a simple shell script in contrib/ that can be used in authorized_keys and gives you even more options08:11
=== nlisgo_ is now known as nlisgo
Kamping_Kaisercan i uncommit trunk-2 ?10:47
Kamping_Kaiseri'd like to redo a change, and uncommiting it seems the easiest way to fix it up.10:47
fullermdTechnically, you don't uncommit a rev, you uncommit TO a rev.10:51
fullermdSo you can uncommit -2, by going to -3.10:52
Kamping_Kaiserah10:55
Kamping_Kaiserall becomes clear. thanks.10:55
reymanhello guys16:39
reymani have a question about repository, if i have two project on launchpad, i make 1 or 2 repository ?16:40
maxbreyman: Usually 2 (just because there's no reason to put both in one), but multiple projects can share a repository if you really want17:09
reymanok thx maxb17:10
fullermdOf course, on launchpad it's somewhat irrelevant, since you don't get to create repos anyway.17:12
=== retupmoca` is now known as retupmoca
=== radoe_ is now known as radoe
lotiahow i do i get the revision number that the bisect plugin has switched to?19:11
fullermdI'd guess either revno or revno --tree.  I'm not really sure exactly what bisect frobs.19:12
lotiafullermd: thanks. revno doens't take into account the bisection19:13
fullermdrevno gives the revno of the branch.  revno --tree gives the revno of the working tree.  It's possible that bisect does its work without altering either one, so neither may help.19:17
fullermdI'd guess there's probably a command in the plugin to have it tell you where it is, actually.19:17
MattCampbellWhat's the status of nested trees?19:30
hazmatjam, thanks for posting the ideas and implementation20:11
=== mnepton is now known as mneptok
maxblotia, fullermd: bisect uses revert (because update -r didn't exist until recently), so the only place you'll be able to find the bisection revno is in whatever private metadata the bisect plugin is maintaining for itself20:28
lotiamaxb and any insight into where it does that?20:28
maxbSorry, no21:12
maxbI never really used it seriously21:12
ianm_when someone does a "bzr co --lightweight lp:luz", often a later "bzr update" will say they're at the latest rev, when in fact they're not-- any ideas as to why?21:49
ctrlsoftianm_: are you sure they didn't do a "bzr branch" rather than a bzr co ?21:54
ianm_ctrlsoft: yes21:55
ianm_often I did the original one for them21:56
ianm_otherwise non-techies following website instructions21:56
ctrlsoftianm_: are they still bound to the correct upstream branch (bzr info should tell you)21:58
ianm_hm I'll have to check that when I have access.  although the temporary solution has always been to do a fresh checkout, which does get the latest, making me think it should be bound to the correct branch21:59
lifelessmoin22:09
ctrlsofthey lifeless22:13
ctrlsoftlifeless: Is it correct that Bazaar is updating ie.revision for a file but doesn't report that file in tree.iter_changes(parent_trees[0]) ?22:14
lifelesssure22:15
ctrlsoftthe file wasn't changed as far as I can tell, why would it's revision attribute be updated?22:15
ctrlsoftlifeless: (I'm relying on iter_changes() reporting all newly introduced (ie.file_id, ie.revision) tuples)22:19
lifelessa merge22:19
lifelessif two trees make the same change in parallel then their branches get merged22:20
lifelessyou'll get a no-change merge22:21
ctrlsoftlifeless: ahh22:21
ctrlsoftlifeless: thanks, I hadn't considered that22:21
lifelessalso if someone merges and does 'bzr revert file' or 'bzr revert .' you'll also see a no-change merge along one side22:21
ctrlsoftlifeless: there's no way to search VF by sha1 is there?22:43
* ctrlsoft wonders why he asks a question he already knows the answer to22:44
jamctrlsoft: well, if it is the chk one there is :)22:44
jambut no, you have to check inventories to find shas22:45
lifelessCHK can tell you about no-change merges22:52
lifelessbut the regular tree interface can't22:52
mtaylorhelp:23:46
mtaylorI had some changes in a tree - I put them into a shelf23:47
mtaylorthen I did reconfigure-pipeline23:47
mtayloradded a pipe23:47
mtaylortried to unshelve them23:47
mtaylorand now I'm getting NotImplementedError: <property object at 0x7f41c87d5230>23:47
ctrlsoftlifeless: How would I go about doing that for CHK?23:52
ctrlsoftlifeless: I might implement a fast-path for CHK23:52
lifelessctrlsoft: check the fetch fast path23:56
lifelessmtaylor: bug filing time23:57
mtaylorlifeless: was afraid of that :)23:58

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