/srv/irclogs.ubuntu.com/2011/08/14/#bzr.txt

Riddellpathogenic: Bazaar rocks of course00:04
pathogenicis it distributed?00:04
RiddellBazaar users are better looking and more attractive to the opposite sex than git or Mercurial users00:04
Riddellyes it's distributed, but you can also do a checkout similar to subversion so you have a choice of workflows00:04
pathogenicdo they drive Ferraris too?00:07
fullermdI hope not.  It's hard to toss a couch in the back of a Ferrari...00:08
Riddellno, we're environmentally friendly and cycle00:08
pathogenicso what can i do in bzr that i can't in hg?00:11
pathogenicwhat are bzr braches like?00:11
pathogenicbranches00:13
pathogenic?00:19
pathogeniccan you use git-diff format in bzr?00:21
pathogenichello?00:30
pathogenicare you folks scared to answer?00:33
fullermdI don't know of any concise answer to that sort of question, and work doesn't really leave me time for open-ended discussions...00:41
pathogenictranslation:  i'm afraid to answer, because any answer involves either lying or pointing out how hg is actually better00:43
fullermdOh darn, you broke the code.00:43
jimispathogenic: google is your friend00:43
jimispathogenic: but since you won't, here is the result: http://doc.bazaar.canonical.com/migration/en/why-switch-to-bazaar.html00:44
pathogenici already read that, jimism00:44
jimispathogenic: do your homework, try various things, and come ask us specific technical questions00:44
jimispathogenic: do you really expect us to write an essay and list all reasons we prefer bazaar?00:45
pathogenici asked some questions00:46
pathogenicit's a chat room00:46
pathogenicjimis:  if someone came into #mercurial, i could tell them all about it00:46
pathogenici wouldn't be some stuck-up twat00:46
bignosepathogenic: you started out hostile, please don't demand answers to loaded questions.00:47
pathogenici guess you folks are clueless00:48
bignoseyep, that must be it. you'd better find some people more suited to your needs.00:48
pathogenicyou've probably never even tried hg00:48
bignosepathogenic: see? you don't need us, you already know everything you need to know.00:49
jimisI agree00:49
jimisI think hg is better suited to your needs, pathogenic00:49
jimisnow go00:49
jimis:-)00:49
pathogenicmake me00:49
bignoseah, so you're not here for information, buit to squat00:49
pathogenicyou go00:50
pathogenicbignose:  leave00:50
jimisCool, I needed a break from work00:50
pathogenichg has far more users anyway00:50
pathogenicbzr has little support on various sites00:50
aminpyhttp://dpaste.com/593859/plain/ <- how can I fix this?06:06
bignoseaminpy: the informative part is “[Errno 111] Connection refusedxmlrpc.launchpad.net:443”06:56
bignoseaminpy: the informative part is “[Errno 111] Connection refused” while it tried to connect to ‘xmlrpc.launchpad.net:443’06:56
bignoseaminpy: so you'd best see why that connection is refused. either that host, or something between you and the host, is refusing that connection.06:56
bignoseI have no trouble establishing that connection directly (using ‘telnet xmlrpc.launchpad.net 443’)06:57
cheater_hey guys10:29
cheater_if i have an up to date checkout of a bzr repo, and no one's working in branches or anything like that, then i can use that checkout to re-create the repo, right?10:29
bignosecheater_: you don't have a checkout of a repo10:30
bignosecheater_: you have a branch10:30
cheater_ok10:30
bignosecheater_: the concepts ‘repository’, ‘branch’, ‘tree’ are all distinct in Bazaar10:30
bignosecheater_: am I telling you something new to you?10:30
cheater_yes10:30
bignoseokay. a repository stores revision data10:31
bignosea branch is a record of the distinct line of development; it refers to revisions, so is specific to a repository10:32
bignosea tree is the state of files that result from applying all the revisions of a branch10:32
cheater_gotcha10:32
bignosecheater_: so does that help you to re-phrase your question?10:32
cheater_not necessarily. i have a bzr repo on a server, and i did bzr co on my local computer. i'm wondering if i can just get rid of the server it's on, or if i need to back up the repository.10:33
bignosecheater_: if you actually have the repository locally, you have all the data you need10:34
cheater_i don't know. do i have the repository locally?10:34
cheater_how can i check?10:35
bignosecheater_: one way to tell is to branch from there to somewhere else (make sure it's in a separate location so you're not accidentally using the same repository)10:35
cheater_how would i do that?10:35
bignosecheater_: another way is to use ‘bzr info’ on the branch10:35
bignosecheater_: which will tell you what kind of branch it is, and where its repository lies10:35
AuroraBorealisif you only have one branch then doing a bzr branch on that will mirror it. but if you have more you would have ot branch all of them10:35
cheater_no i just have the, uh, "default" branch or something like that.10:36
cheater_sorry, i'm not too versed in the bzr data structure.10:36
bignosecheater_: it's okay, you don't need to know much of the structure10:37
bignose(one of the key advantages of Bazaar in my opinion)10:37
AuroraBorealisif you just have one branch then doing a bzr branch will mirror it.10:37
cheater_bzr info on my local computer says:  checkout of branch: bzr+ssh://login@server.com/srv/bzr/project/10:37
bignosebut the flexibility of Bazaar does unfortunately require knowing that those separate concepts are indeed distinct10:37
bignosecheater_: that means the repository to which you commit is at that location10:37
AuroraBorealisyou need to branch it, not do a checkout10:37
bignosecheater_: the purpose of a checkout is to emulate the centralised workflow10:38
cheater_ok.10:38
cheater_perfect, let me do a branch.10:38
bignosecheater_: if you want to be actually distributed-only, don't use checkout10:38
cheater_well.. in fact it's only just me using this.10:39
cheater_i'm a one-man act :)10:39
bignosecheater_: that's fine, I use both distributed and centralised on branches which are just me10:39
bignosecheater_: it's great to have the opiton of both, and even both at the same time10:39
cheater_yeah10:40
cheater_i've never *really* used bzr in distributed mode..10:40
bignoseyou don't need multi-person to get great benefit from distributed VCS10:40
bignosenor centralised, I guess10:40
cheater_i've used hg once branching out something and then using bitbucket's pull request feature10:40
cheater_but they handle all of that through a web gui10:40
cheater_so now i gotta learn how to do it per hand in bzr :)10:41
cheater_per/by10:41
bignosecheater_: you just ‘bzr branch’ without making it a checkout, without making it bound, without making it lightweight... basically just the default :-)10:41
cheater_yeah, doing that10:41
cheater_but let's say i did some work on the branch, how do i merge it back into the main repo?10:42
cheater_something like bzr push, right?10:42
cheater_just guessing here10:42
bignoseBazaar defaults to plain old distributed. but doesn't prevent other workflows at any future time.10:42
AuroraBorealisso if you just do a branch10:42
bignosecheater_: well which is it, you want to remove the other repository or not?10:42
AuroraBorealisthen its not 'bound' to anything. it will just commit to your local copy10:42
AuroraBorealisbut you can 'bind' it so that when you commit it will commit to both your local copy and your copy on the server or something10:42
bignosecheater_: use ‘push’ and/or ‘pull’ to maintain a mirror.10:43
AuroraBorealisor if you don't want to do that, you can either do push (which will make the repo a mirror) or a merge which will merge the repo's branch with yours10:43
bignosecheater_: once branches diverge, they're no longer mirrors; that's when you use ‘merge’ to reconcile them.10:43
cheater_AuroraBorealis, what about committing locally, but then at some point specifically saying "ok, take all the changes i've doneo ver the last few commits since branching, and put them in where i branched out from"10:43
AuroraBorealishaha10:44
bignosecheater_: first, please confirm whether or not you want the remote repository deleted, like you originally said10:44
AuroraBorealiswell, you can either bind the branch, and do 'local commits'10:44
AuroraBorealisor you can leave it unbound and then commit locally then push or merge the branch'10:44
cheater_bignose, actually i do, but right now i'm playing with the (unrelated) idea of distributed work with bzr, since you guys sell it so well.10:45
cheater_just getting some info, that's all.10:45
bignosecheater_: okay. you have a checkout from a remote location10:45
cheater_:)10:45
bignosecheater_: so, when you commit, the revision data goes first to the remote branch and then to the local one, automatically.10:45
bignosecheater_: that's how Bazaar emulates a centralised workflow10:46
bignosecheater_: if you want temporary disconnected operation on the local branch, do one of two things:10:46
bignosecheater_: ‘bzr commit --local’ to do it just for the one commit10:46
bignosecheater_: or turn the binding off with ‘bzr unbind’, do your disconnected commits for a while, then turn back on the binding with ‘bzr bind REMOTE_URL’10:47
bignosecheater_: <URL:http://doc.bazaar.canonical.com/explorer/en/guide/core_concepts.html> is essential reading for you now you're askign these questions10:48
cheater_cool!10:49
bignosecheater_: and <URL:http://doc.bazaar.canonical.com/latest/en/user-guide/using_checkouts.html> for switching between distributed and centralised10:49
bignosecheater_: after reading those, explore the rest of the Bazaar documentation as your interest takes you. it's pretty good.10:50
cheater_:)10:51
cheater_i've noticed the bzr community is fairly supportive, i like that10:51
bignoselike with PYthon, it helps that the system is *very* well designed and hence easy to teach10:52
cheater_yeah, in fact i'm sort of trying to push that sort of thing in the haskell community, i think it's lacking in that regard10:53
cheater_ok so.. how can i merge the parent branch with the one i'm in, so that the merged result is in the parent branch?10:53
bignosecheater_: I gave up very quickly on Haskell when I found that camelCaseNames are endemic through the library and community :-(10:53
cheater_it could've been worse, at least no braces10:54
bignoseheh10:54
cheater_haha10:54
bignosecheater_: so first of all the terminology is wrong there10:54
cheater_ok so i've done a local branch, did a checkout of that, and added a file which i then committed to my local branch.10:55
bignosecheater_: you “merge branch BAR into FOO”, in order to get all the revisions from BAR to appear in FOO. FOO remains unaffected.10:55
AuroraBorealiscamel case isn't that bad o.o10:55
cheater_now i want that file to show up in the parent that i branched out of.10:55
cheater_AuroraBorealis, your nick tells us you're a proponent..10:56
cheater_i'd say you're not objective on that matter ;-)10:56
bignosecheater_: no AuroraBorealis has a TitleCaseName, which is fine by me10:56
bignosecheater_: it's camelCaseNames that are inconsistent and ugly and stupid10:56
cheater_i know, j/k10:56
AuroraBorealiseh, its up to someone's opinion =)10:56
AuroraBorealisi guess i'm used to it because of java.10:56
bignoseAuroraBorealis: that may be a reason why I'm emotionally against it :-)10:57
AuroraBorealis=P10:57
bignosecheater_: so, if you could name these branches, that would help us talking about them.10:57
cheater_ok let's call the server branch "server" and the local branch "local"10:57
cheater_:p10:57
AuroraBorealiswhat, you don't like classes like these? http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/aop/framework/AbstractSingletonProxyFactoryBean.html10:57
bignosecheater_: better to name them for the purposes.10:58
cheater_that is their purpose. i've only done this to test how branches work.10:58
bignosecheater_: perhaps one is “trunk” and you branched for the purpose of a “feature-foo”?10:58
bignosecheater_: any objection to that for the sake of discussion?10:58
cheater_nah that's fine too10:58
cheater_:)10:58
bignoseokay. so the implications of those names is that “trunk” will eventually get all the revisions that we want to keep, and “feature-foo” is limited in span and focussed on one area of work10:59
cheater_yes10:59
bignoseso you might merge from “trunk” into “feature-foo” if “trunk” has gained a bunch of changes that you want to get up to date with on your ongoing work on feature Foo11:00
bignosealternatively, you might merge from “feature-foo” into “trunk” if your work on feature Foo has reached a point that it's worth making part of the main line of development11:00
bignosecheater_: so what's the case in this instance?11:01
cheater_ yes, i want to merge from "feature-foo" to "trunk"11:01
bignosecheater_: okay. a merge is always done into the current branch.11:01
cheater_i know how to merge from "trunk" to "feature-foo", i just go to the feature-foo directory and do bzr merge11:01
cheater_ok11:01
cheater_however, my feature-foo is located behind a firewall11:01
cheater_so i'd somehow need to initiate the connection from here11:02
bignosecheater_: if the branch doesn't have a remembered location to merge from (it's “parent”, I think; that might have changed recently)11:02
cheater_yes, it's "parent"11:02
bignosecheater_: then you specify the branch to merge from on the ‘bzr merge’ command line.11:02
cheater_ok11:02
cheater_how do i go about fixing my firewall problem?11:03
bignosecheater_: the concept there is that “feature-foo” should ideally keep getting changes from upstream, i.e. changes perhaps made on other branches that themselves got merged into trunk earlier11:03
cheater_yeah11:03
bignosecheater_: and you choose when that happens by merging explicitly, but the default place to merge from is its parent.11:03
bignosecheater_: whereas “trunk” shouldn't necessarily have any parent; there is no good default palce to merge from, so you specify each time you merge into trunk.11:04
bignosecheater_: what firewall problem?11:04
bignoseneed to be AFK for dinner now. I leave you in the tender care of the other channel denizens.11:04
cheater_:)11:05
cheater_thanks a lot for the help11:05
cheater_enjoy your dinner..11:05
lifelessjelmer: is https://bugs.launchpad.net/launchpad/+bug/826082 got any chance of being a regression from your refactoring ?20:39
ubot5Ubuntu bug 826082 in Launchpad itself "BadUrl from safe_open opening a branch" [Critical,Triaged]20:39
jelmerlifeless, looking20:44
lifelessjelmer: thanks!20:49
jelmerlifeless: hmm, it indeed seems like it would be related. The problem isn't obvious to me though, and unreproducible (at the moment).21:13
lifelessso far only one occurence21:21
lifelessbut its a little concerning ;)21:21
jelmerlifeless: yeah21:22
=== yofel_ is now known as yofel
thomiHi, is there a safe way to delete a branch from disk on a bzr repo server? I mean, what if someone's half way through read/writing it?21:41
lifelessso for a read, they will get an error21:44
lifelessfor a write, their repository transaction will complete ok but then the change to the branch pointer will error21:44
lifelessneither case should lead to repository corruption21:45
=== Mkaysi is now known as ProgVaal
=== ProgVaal is now known as Mkaysi

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