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

fullermdsven_oostenbrink: Sounds reasonable enough.00:33
sven_oostenbrinkfullermd: I do have one doubt though..00:36
sven_oostenbrinkfullermd: 1) I'd like to use ssh based protocols for this00:37
sven_oostenbrinkfullermd: so probably I'll use ssh+bzr:// right?00:37
fullermdbzr+ssh, yeah.00:38
sven_oostenbrinkfullermd: Thing is, AFAIU, there will be one .bzr directory on that server which will be the trunk repo, right?00:38
fullermdThe trunk _branch_, yes.  It may have the repo as well, or you may have that off in another .bzr/.00:39
sven_oostenbrinkfullermd: How can I do the merge then? Because, say, if I would be doing the merges for all 3 persons.. That would mean that on the server itself, Id have to BZR merge the changes from me, and the 2 other persons.. But then security comes into play, bzr somehow needs to get these changes from the other users...00:39
sven_oostenbrinkagain, AFAIU, the other users will have local branches, so they'll commit there.. I can then go to that trunk branch and pull in their changes, right?00:40
sven_oostenbrinkam I making any sense here? :)00:40
fullermdThat would be one way, yes.  You're essentially acting as a human gatekeeper, so all commits to that central branch will be done by you.00:41
fullermdSo, you'd just own it.00:41
sven_oostenbrinkfullermd: if I, user "sven" want to access the changes from the other users, I could pull in those changes.. but that means there must be a user "sven" available on the machines of these persons, right? and that user sven should have read access to the BZR repo of those persons.. right?00:41
sven_oostenbrinkfullermd: yeah, I'd like to be the only one who can tree merge, to assure that the tree stays stable..00:42
fullermdWell, it means you need to access them _somehow_.00:42
sven_oostenbrinkThe thing is, I see security being a barrier here..00:42
fullermdYou could have ssh on all their boxes (and that user be allowed to read their branches), is one way.00:42
fullermdThey could publish them via http:// or bzr:// from their boxes.  They could have their own accounts on the central server that they push up to, then you merge from there.00:43
sven_oostenbrinkfullermd: so..00:43
fullermdThey could send you merge directives via mail.00:43
sven_oostenbrinkfullermd: I have the trunk.. from there i create branches A, B, C (Im A, the other two developers are B and C).. Then each of A, B and C branch from their server branch (Im counting 7 branches now).. they work locally.. wheneverthey have somehting, they push / merge to their server branch.. and I merge their server branches into the trunk branch..00:44
sven_oostenbrinkfullermd: that makes sense?00:44
fullermdWell, it works.  Why make the A B C branches, instead of just letting everybody branch off the trnk?00:45
sven_oostenbrinkfullermd: I've seen the send by email option.. Though it sounds interresting, its not something I'd pick at first sight.. dunno, somehow it seems.. not pretty :)00:45
fullermdIt seems an unnecessary indirection.  And it will make it much harder for them to pick up change from trunk.00:45
sven_oostenbrinkfullermd: so they branch directly from the trunk.. Meaning they'll have the branch locally on their computer, right?00:45
sven_oostenbrinkYeah, it would actually require that I send them trunk changes.. not a nice option..00:46
sven_oostenbrinkfullermd: I could let them branch directly to the trunk, but that would require the trunk to be on a location where A, B and C have write rights, correct?00:46
fullermdYeah, making the copy of trunk for each of them on the server and having them go from there isn't necessary, unless for some reason you don't want them even having read on trnk.00:46
fullermdBut that sounds like way too much trouble all around.00:46
fullermdNo, they only need read to branch from it.00:47
fullermd(you may still want to branch trunk yourself into shared repos for each of them on the server, just to prime it with the existing revs and save them some upload, but that's unrelated)00:47
sven_oostenbrinkfullermd: but if they want to merge to the trunk directly, they need write access there, right?00:47
fullermdYes.00:48
sven_oostenbrinkfullermd: another question.. what if I don't want a central server for the trunk repo, I want to use my own laptop..00:48
fullermdBut you could give them _read_ on it, they branch from it, and pull/merge later changes made from it, and only you have _write_ and gatekeeper it.00:48
fullermdWell, remember that 'trunk' is a social question, not a technical one.  On a technical level, all you have are a bunch of branches spread out over the world.00:49
sven_oostenbrinkfullermd: interresting problem that THEN shows up is that my laptop doesnt have a static IP.. How can I fix that? can they just push to an IP that I give them? Will BZR know that its my laptop even though the IP is different?00:49
fullermdTreating one of them specially in various ways is just up to how you want to arrange it.00:49
fullermdA floating laptop has the property that, generally, only you can do stuff straight on it.  So to have the 'trunk' there means that, generally, nobody else can even get at it to pull down new changes from it.00:49
sven_oostenbrinkfullermd: yeah, I understand that part (thank god... gotta hate SVN by now, hehehe)00:50
fullermdSo generally you want a 'trunk' branch to be somewhere always connected and reasonably stable.00:50
fullermdOf course, you CAN develop without a trunk at all.  It's just tough to scale.00:50
sven_oostenbrinkfullermd: well, it needs to scale.. I was thinking, BZR being a DVCS, that it might not need a central place for all changes00:50
fullermdIt doesn't, but having a specific point of reference is, if not necessary, at least highly desirable in most development.00:51
lifelesssven_oostenbrink: scaling is a human problem, tech wise we scale out00:51
sven_oostenbrinkfullermd: lifeless: Gottit00:52
sven_oostenbrinkfullermd: so Im pushing my just newly created BZR branch to the central server.. since there is nothing there, it will appear there as a new branch, right?00:53
fullermdYes.00:53
sven_oostenbrinkfullermd: the central server also requires BZR to be installed, right?00:54
fullermdIf you want to use bzr+ssh or ever work with the branch directly on the server, yes.00:56
sven_oostenbrinkfullermd: whats the difference then, practically speaking, between sftp:// and bzr+ssh://00:56
fullermdYou CAN use it simply as a dumb server via sftp or the like.  But if you can avoid it, you don't want to.00:56
fullermdbzr+ssh is bzr talking to bzr.  sftp is bzr talking to a quirky and very slow filesystem.00:57
sven_oostenbrinkfullermd: Im avoiding it as we speak, installing bzr now :) but whats the difference anyway? just to know..00:57
sven_oostenbrinkfullermd: as in, bzr+ssh is way faster than sftp...00:57
sven_oostenbrinkboth are secure anyway so..00:57
lifelesssven_oostenbrink: server side operations00:57
lifelesssven_oostenbrink: e.g. to consolidate two files over sftp = 'read file a, read file b, write file c, delete a, delete b'00:58
lifelessover bzr+ssh, we send a single command00:58
sven_oostenbrinkfullermd: another thing.. Im about to up 40.000 files.. if the connection drops out half way, is there a "resume" option, or woud I have to start from 0 again?00:58
lifelessand don't have to copy all the data over the network in both directions00:58
sven_oostenbrinklifeless: understood00:58
fullermdWell, you send revisions, not files.01:01
fullermdI think if you're pushing a bunch of revs into an existing repository, they checkpoint every so often, so you wouldn't lose them all on a connection drop.01:01
lifelessnope01:01
fullermdBut an initial checking is just one rev anyway, so it wouldn't.01:01
sven_oostenbrinkfullermd: so this first 40.000 files revision should pass without problem, or it will fail?01:01
lifelessits atomic, all or nothing.01:01
sven_oostenbrinkin that case I better pray my new 3G network card will hold out..01:02
sven_oostenbrinkI had MANY problems with SVK in that aspect.. one network hickup, and I could start all over on large merges..01:02
fullermdWell, in consolation, any future revs should be pretty small.01:02
sven_oostenbrinkfullermd: yeah, I know.. its just that Im in a datacenter now, all local.. but I have to leave in about 10 mins, and I still am updating the central server.. so I gotta do the first commit over my 3G card instead of over a 1Gbit network.. :)01:03
fullermdWell, if you ssh'd over SCTP, you could make it a portable session, and relocate it to the new IP on 3G when you need to leave   :p01:04
fullermdBut if you can't move it across a gigabit network in 10 minutes, you probably shouldn't even try on 3G at all...01:04
sven_oostenbrinkfullermd: I can do it over 1Gbit in under a minute, sure, but the server isn;'t ready yet for another 30 mins.. there's the prob..01:07
sven_oostenbrinkfullermd: lifeless: Thanks lots to both, I'll start messing arounhd tonight to see how it will work..01:07
sven_oostenbrinklaters!01:07
fullermdI should hope so.  A minute of gigabit time is about 7 gig.  That's a pretty sizable branch   :p01:09
lifelessstatik: do you know about package branches04:51
lifelessstatik: lp:~statik/ubuntu/lucid/bzr-explorer/ppa would be a better branch to use ;)04:52
gioeleI added a key to launchpad but I haven't configure ssh to search for that key. How come that bzr co lp:foobar does not complain?10:41
=== raimue is now known as Raim
alefterisI have a branch from a mirrored branch in lp, and I now want to host it in lp, what should I do, branch it and then push it in the new location? thanks11:51
alefterisshould I unbind it first or something?11:52
Pengalefteris: Yes, push it to a new location on LP.14:48
Pengalefteris: (You can even rename or delete your old branch so you can push it to the same URL. Bug and suscriber associatiosn will still be attached to the old branch, though.)14:48
Pengalefteris: Ah. never mind.14:49
alefterisPeng, thanks, that's what I did :)14:49
Peng:)14:50
sjamaanIs it possible to pull from multiple sources with bzr?14:56
sjamaanFor instance, I'm working in centralised mode on a project, which is a fork of drupal. I'd like to be able to keep merging in remote changes from drupal, but make my own changes and keep pushing those to my own repo14:56
sjamaananyone?15:13
PengYou can "bzr pull" or "bzr merge" from any URL you want to..15:15
sjamaanhm15:15
sjamaanAfter merging, bzr told me "working tree is out of date, run 'bzr update'" and when I did, it started calling out lots of conflicts15:15
sjamaanNothing had changed in the upstream branch15:15
sjamaanIf I ignore the message, it works15:15
sjamaanWhat is a "submit branch"?15:16
Pengsjamaan: The branch "bzr send" defaults to submitting against.15:17
sjamaanok, but if I just bzr push or commit in bound mode, it will push the other branch?15:18
sjamaanpush to*15:18
Peng"push" will push to your default push branch by default. You can supply an URL/path to push wherever you want to.15:18
* Peng has to go -- bye!15:18
sjamaanthanks for the info. bye!15:18
sjamaanIs it possible to create a standalone branch without working tree, or is that only possible within a repository?15:20
Pengsjamaan: Sure, it's possible. "bzr branch --no-tree ...", or "bzr branch ...; cd ...; bzr remove-tree".15:31
* Peng goes away again.15:31
sjamaanWhat about new branches? when using init15:32
sjamaanI tried "bzr init --no-tree foo" but that gives me an error "no such option: --no-tree"15:33
rubbsIf you type in  " bzr help init-repo" it will give you the options you need.15:35
rubbsI believe it's --no-trees with the 's' on the end15:35
sjamaanrubbs: I know it works when using a repository. I asked about standalone branches15:35
rubbsoh sorry. came in too late15:35
sjamaanah, I see15:35
sjamaanNo prob :)15:35
rubbsWell, I'm unsure how to do it at init time, but you can remove the tree using bzr remove-tree15:37
rubbsyou could also try the command bzr init --no-trees15:37
sjamaanno-trees doesn't work either, but remove-tree sounds like a good idea15:37
sjamaanIt would be useful if init could do that, though15:38
rubbsJust curious, why would you want a stand alone branch without a tree?15:39
rubbsYou could create a treeless repo and push your updates right to the root of the repo.. I've done that by accident before.15:40
rubbsyou would just have to think of the treeless repo as your branch location without a tree15:40
sjamaanFor centralised mode, I don't need a full working copy on the server15:41
rubbsThen I would suggest you do a repo. Even if there is only one branch on the server you would get the functionality you want.15:41
sjamaanaye15:42
sjamaanI'm doing that now, but I thought it seemed a bit overkill15:42
sjamaan(I have only one branch)15:42
sjamaanOf course, I could multiple entirely unrelated branches in one repo15:42
sjamaanBut that's a bit weird too15:43
rubbsBut that is more common than you might think15:43
sjamaanhm15:44
rubbsI'm  not an expert on the internals of bzr, but AFAIK creating a treeless repo doesn't have a whole lot more overhead than a branch anyway.15:45
sjamaanI didn't think so. I was referring to cognitive overhead :)15:45
rubbshaha. fair enough :)15:45
=== sdboyer_ is now known as sdboyer
mindlacehow do I get bzrlib?16:19
sjamaanIt's part of bzr16:20
sjamaanIf you have bzr, you have bzrlib16:20
mindlacehm. well i installed the os x bzr and "import bzrlib" fails. Maybe I need to change my python path.16:22
TakI don't know about osx, but I have to explicitly set my pythonpath on win3216:22
mindlaceHow do I find out more about loggerhead? read the source? I don't find any docs on launchpad16:23
MethsCan you merge a branch into a directory of another branch?16:52
nyuMeths: I guess you can "bzr mv" + "bzr merge"17:13
MethsYeah, or just create the subdir in the branch anyway I suppose. Thanks.17:18
PengMeths: "bzr join".17:23
Pengmindlace: Ehh. What do you want to know?17:23
MethsPeng: Aha, just the job, thanks.17:25
PengMeths: It should handle merging nicely, too. :)17:28
Methsyeah, looks like it from the help description17:28
=== Adys_ is now known as Adys
mdkeI have a format:unnamed repository and a "Packs containing knits without subtree support" repository on Launchpad, is there any way I can push my commits to Launchpad? It's giving me an error.21:36
mdkeI have so much grief over different formats, for some reason21:36
lifelessmdke: show us the error21:40
lifeless[surely thats a reflex by now, to give details?]21:40
mdkelifeless: yes, sorry - it's quite a standard error. http://paste.ubuntu.com/306229/22:05
MTecknologyThis is weird... http://whybzrisbetterthanx.github.com/22:34
sjamaanWeird?22:35
sjamaanIt's on github, what'd you expect? ;)22:35
MTecknologygood point22:36
MTecknologyI was trying to find a nice link that explains what makes bzr great22:36
sjamaanPersonally, I like bzr because it's so friendly and provides a smooth transition from svn22:37
lifelessmdke: it means that the bazaar.launchpad.net/~ubuntu-core-doc/ubuntu-docs/help.ubuntu.com  branch - the development focus - has been upgraded22:37
lifelessmdke: probably to 2a22:37
sjamaanhg is just as friendly, but it has no centralised development mode for those who want it, and it also doesn't support empty directories or proper renaming22:37
mdkelifeless: so it's my repository that's behind, not Launchpad?22:37
lifelessyes22:38
mdkeok, I'll try an upgrade22:38
lifelessmdke: one sec22:38
lifelessbzr info nosmart+lp:~ubuntu-core-doc/ubuntu-docs/help.ubuntu.com/ -v22:38
lifeless^ thats a useful diagnostic to do (I'm running it now)22:38
lifelessmdke: what do you see when you run that command?22:39
mdkelifeless: http://paste.ubuntu.com/306246/22:39
lifelessmdke: and what does 'bzr info -v' show, run from ~/ubuntu-docs/help.ubuntu.com22:40
mdkelifeless: http://paste.ubuntu.com/306249/22:41
lifelessmdke: note the 'repository' line in both cases22:42
lifelessmdke: as it happens, launchpad is missing rich root support22:42
lifelessbut your local repo has it22:42
mdkeright22:42
lifelessso you either need to redo your work in a non-rich-root repo22:42
lifelessor get the ubuntu-docs stuff upgraded22:43
mdkeouch22:43
lifelessI'd suggest upgrading everything to 2a, its a lot faster and smaller22:43
mdkeis my local repo 2a?22:43
lifelessno, its rich-root-packs22:43
mdkeI get rather confused with all the formats22:43
lifelesswhich is the same as pack-0.92 with a little extra metadata22:43
lifelessmdke: we know :(22:43
mdkeyou mean that others are confused too?22:44
lifelessits a confusing situation that we permitted to come about22:44
lifelessmultiple dimensions22:44
lifelessdifferent conversion rules22:44
mdkeok, so the plan is to settle things down in the future?22:45
lifelessoh yes22:45
mdkegood stuff22:45
lifeless2a is the first step of the settle down22:45
lifelessthere are no flavours with 2a, its just '2a'22:45
lifelessyou can convert to it from any of our older formats22:45
mdkeok22:46
mdkeok, I'd better redo my work in a branch without a repo22:46
mdkelifeless: thanks for the help22:47
mdkelifeless: actually one last question22:47
mdkelifeless: I don't suppose there is a quicker way to redo the work without actually manually copying files or doing a diff?22:47
lifelessbzr diff > foo.patch; patch -p1 < foo.patch P22:55
RenatoSilvaverterok: hi22:55
mdkelifeless: yeah, I'm doing that with separate diffs for each revision. Thanks again22:56

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