delinquentmehttp://pastie.org/4722903  QUESTION on this one.00:08
delinquentmeso it now seems that the "trunk" mentioned here is kind of akin to a branch in git00:08
delinquentmelike in this example ... you're initializing a project ... as well as a subset of that project with specific code00:08
delinquentmesilly question: is bazaar named after the practices in "the cathedral and the bazaar" ?00:38
delinquentmewhen we're talking the information which is returned by the command " bzr info <repo> "01:20
delinquentmethis will be determined FIRSTLY by if there is a .bzr file within that directory01:20
SamB_MacG5delinquentme: depending on plugins, .git and whatever SVN uses can also matter01:23
fullermdinfo will find the nearest branch upward from where you are, and talk about stuff relative to that.01:23
delinquentmebzr: ERROR: Not a branch:01:24
delinquentmeso if i get that ....01:24
delinquentmebzr is actually checking the parent dir to my current one ?01:24
delinquentmeand finding nothing?01:24
fullermdNo, it'll check . then ../ then ../../ then ../../../ then...01:25
fullermdNot a branch means it found its way up to / without hitting one.01:25
delinquentmethats interesting.01:29
delinquentmealso does anyone in here have a diagram of which they are confident01:29
delinquentmein how it portrays a correct usage of bzr branches / trunks with regards to directory structure?01:29
delinquentmebasically im after:01:30
delinquentme" Are branches parallel directories with the same files which happen to vary only slightly ? "01:30
fullermdI think you're trying to assign _way_ too much intrinsic meaning to "trunk".  Unless you're running a telco, maybe.01:30
delinquentmeI'm just not sure about how branches work haha01:30
fullermd"trunk" isn't a technical term in any modern VCS.  It's purely a _social_ term used to refer to specific branches with social meaning.01:31
delinquentmelike project_main/branch_101:31
delinquentmeok check01:31
delinquentmewhere branch_1 and branch_2 are very close in their history01:31
fullermdA branch is abstractly just a particular set of files with a particular history, and concretely an instance of that in the filesystem.01:31
fullermdIt may be closely related to some other branch, distantly related, or completely unrelated.01:32
delinquentmeso wait. branches dont intrinsically map to different directories??01:32
delinquentmebecause it seems then I've got that all wrong when it comes to bzr01:32
fullermdIn bzr usage (leaving aside exotic or experimental stuff), a branch exists as a single dir (tree).01:33
SamB_MacG5delinquentme: well, generally they actually do have directories associated with them, but those directories need contain nothing besides .bzr ...01:33
delinquentmefullermd, Ok so if I want to work on multiple branches from a single project01:34
delinquentmeI could possibly have a primary project dir ... and within that a dir corresponding to each branch?01:34
fullermdThen you would generally have a dir for each branch.01:34
fullermdOften, that project dir would also be a shared repo, so as to avoid extra space/IO usage.  But that doesn't change anything semantically in your operations.01:35
delinquentmefullermd, in this case ... what does a shared repo mean?01:36
delinquentmeare you saying shared with other users?01:36
fullermdNo, shared between the branches.01:36
delinquentmeah! ok01:37
delinquentmeI UNDERSTAND!!!!!01:37
fullermdWhat's your VCS background (if any)?  You were talking git earlier?01:37
delinquentmegit =]01:37
delinquentmeright now im seeing no real issues with bzr01:37
delinquentmeid looove something to allow me to edit commit history01:37
delinquentmebut other than that im OK with it01:37
fullermd'k.  In git, "repo" is the term for the main visible thing you deal with.  You've got your working tree there, and the branches and revisions are abstract 'hidden' stuff inside it.01:38
delinquentmewhereas in bzr branches actually have visible locations01:38
fullermdIn bzr, "branch" is the main visible thing you deal with, which contains the working tree, and also the branch metadata internally.01:38
delinquentmeOHHHHH  (tentative )01:38
fullermd"repo" refers to an interal thing that holds the revisions.  In the simplest setup, that's hidden away inside each branch.01:39
fullermdA "shared repo" allows a single repo to be used simultaneously by multiple branches.01:39
fullermdSo if you have 2 branches that are identical, with 100 revisions, and then each branch adds 1 new one:01:39
fullermd- With "standalone" branches, you're storing 101 revs in one place, and 101 in another, for 202 total.01:39
fullermd- With a shared repo, you're storing 100 common revs once, and 1 new one from each side, for 102 total.01:40
delinquentmefullermd, you're good hahah01:40
fullermdThat saves disk space and IOPS and filesystem cache and inodes and blah blah blah.01:40
delinquentmeOK so when youve got code that you've pulled down from the main project01:40
delinquentmeand you're about to start on a big new feature01:40
fullermdBut it doesn't directly affect anything you do at the UI level; you never interact with the repo itself, just the two branches the same as if they were standalone.01:40
delinquentmein git you'd make a new branch01:40
delinquentmein bzr what would you do?01:41
SamB_MacG5fullermd: except, of course, to set things up in the first place01:41
fullermdSame thing.  Just that the branch would be another dir in your filesystem, instead of a 'name' in your existing dir.01:41
SamB_MacG5and that things like qlog will care ...01:41
delinquentmeSamB_MacG5, I was about to jump in and ask just that01:41
fullermddelinquentme: You may find http://wiki.bazaar.canonical.com/MatthewFuller/SpotDocs/PiecesInBrief useful.01:41
delinquentmeso the separation between shared and standalone happens basically in how you initalized the directory01:42
fullermd(and possibly some of the other stuff under http://wiki.bazaar.canonical.com/MatthewFuller/SpotDocs)01:42
fullermdThere's a little stuff at the end of the PiecesInLength page that tries to do some cross-VCS comparisons of the terminology/subdisions.01:42
delinquentmefullermd, can I ask what you do?01:43
fullermdOr change it afterward.  You can take a standalone branch and adjust it to use a shared repo, and vice versa.  But yeah, the only time you really do anything directly to/with a shared repo is in setting one up.  The rest of the time, you just deal with branches, and bzr does the repo stuff internally.01:43
* fullermd shrugs.01:43
fullermdProgramming, sysadmin, sit on IRC and make bad puns.  What everyone else does.01:44
delinquentmelike im curious how you got good wit both bzr and git01:44
delinquentmeare you a rails programmer?01:44
fullermdGhod no.  I have standards  ;p01:44
SamB_MacG5snakes on a plane?01:44
delinquentme@_@ you made that movie?01:44
* delinquentme calmed humility01:45
fullermdI'm good with bzr 'cuz I've been using it for...   uh...  god, like 7 years now?01:45
delinquentmewhich do you use more?01:45
delinquentmegit / bzr01:45
delinquentmeand why?01:45
fullermdI'm good with git 'cuz...  well, I'm not.  I just know enough about its general structure to make reasonably good bzr comparisons.01:45
fullermdOnly time I use git is when I deal with other projects that are in git.  Ditto with hg and monotone etc.01:46
fullermdgit just isn't confident enough to use more often.  I mean, lookit:01:46
delinquentmeoh and what about bzr break-lock01:46
fullermd% git rocks01:46
fullermdgit: 'rocks' is not a git command. See 'git --help'.01:46
fullermd% bzr rocks01:46
fullermdIt sure does!01:46
delinquentmethe docs are scaring me01:46
fullermdbreak-lock is one of those escape-hatch sorta commands.  You should probably never need to know it.01:47
SamB_MacG5<lambdabot> SamB says: [<lambdabot> emertens says: screw ruby on rails, I'm using snakes on a plane] <SamB> is that a Python web framework?01:47
delinquentmeso im thinking that if the file isn't setup as a bzr repo ... then this could be a possible reason im getting this:01:48
delinquentmebzr: ERROR: Cannot lock LockDir01:48
delinquentmewhen attempting to push01:48
fullermdMmm, could mean something is odd with the filesystem or something on the server, not letting it do something it thinks it should be able to.01:49
fullermdOr possibly something like a half-setup branch, where there's enough that bzr thinks it's a branch (otherwise it would be trying to create one), but not enough that the lock dir is where it should be.01:49
delinquentmewell actually nm it has to be a bzr repo because I fetched a branch from it01:49
fullermdOh, or just some kinda permission thing, of course.01:50
delinquentmeok so i've got a project_dir and within in that a trunk dir01:52
delinquentme( thats what they called it .. im not trying to make problems =P )01:52
delinquentmeso that should be a bzr branch01:52
* fullermd nods.01:52
delinquentmeprobably what they're using as i guess you could call the "main storage branch"01:53
delinquentmeand then I need to fork off of that branch and create new ones to edit / test / run needle-pokey-like experimentation on01:53
SamB_MacG5delinquentme: trunk is the conventional name for that sort of branch, yes01:54
SamB_MacG5it's just that bzr doesn't know that01:54
delinquentme( learning )01:54
* delinquentme 5 year old grin01:54
fullermdSo you'd do something like `cd $project_dir ; bzr branch trunk needle-pokey-like ; cd needle-pokey-like ; *grab needle*`01:55
delinquentmeok so I think... they made a dir and didn't actually set it up01:57
delinquentmeso they've got a production env running at /usr/local/derp01:57
delinquentmei want to copy whats in derp ... into the /home/shared/sources/derpdb/trunk01:58
delinquentmecp /usr/local/derp /home/shared/sources/derpdb/trunk01:58
fullermdderpdb.  It's the newest Web Scale NoSQL craze.  Get with the program, man.02:01
* SamB_MacG5 grumbles about dict(1) not getting urban dictionary defs02:01
delinquentmeLISTEN gais its in development OKE?02:03
delinquentmeits a social integration specific solution.02:03
delinquentmefacebook meets databases for cat owners02:03
SamB_MacG5do I have to sign an NDA now?02:05
fullermdNo need.  Your cat has already done so on your behalf.02:06
SamB_MacG5darn them and their windows-only anti-cat-typing software!02:08
delinquentmeSamB_MacG5, have a facebook?02:09
delinquentmeever looked a a cat pic online?02:09
delinquentmethen you've already agreed.02:09
delinquentmewhere relative to the branches ...02:49
delinquentmeshould the .bzr file b e?02:49
delinquentmethey should be siblings right?02:49
mgrandishould be inside the branch folder02:49
mgrandithere is a .bzr folder per branch02:50
mgrandihidden if you are on mac and linux02:50
mgrandiwindows too02:50
delinquentmeso what might be happening if im getting "not a branch"02:50
delinquentmewhen I attempt to branch a dir which clearly contains a .bzr file02:50
mgrandiare you in the repository directory?02:50
mgrandiinstead of the branch dir02:51
delinquentmewell let me step back02:51
delinquentmeim trying to copy whats on the main repo02:51
delinquentmeto local machine02:51
delinquentmeis branch the right command?02:52
mgrandiyeah, that will branch the entire history for that branch02:52
delinquentmeok so yeah somethings wrong them02:52
delinquentmeUmm when i do bzr info within that branch02:53
delinquentmeit lists a parent branch02:53
mgrandiis this just a normal branch?02:53
mgrandidoes it have a repository?02:53
delinquentmewould that prevent me from being able to branch a child from the parent ... if a grand parent exists?02:53
delinquentmeso I just made the repository .. by copying what was in production02:54
delinquentme a straight cp02:54
mgrandii mean on the server02:54
fullermdNo, parent is a cosmetic thing, really.  Just a default location.02:54
mgrandiwas it Repo / branch02:54
delinquentmeoh and the server has both production and the main repo02:54
delinquentme( I know not safe )02:54
mgrandiso trying to branch fromt he server is not working?02:55
delinquentmeALSO another question ... when I go to push :parent02:55
delinquentmein this situation02:55
mgrandican you do a 'du -hac' for the server directory you are trying to branch from?02:55
mgrandiand paste that to pastebin or something02:55
delinquentmethat will push to whatever dir I branched from right?02:55
mgrandiif you saved the push directory (by doing like bzr push --remember) then bzr push will push it to the remembered directory02:56
delinquentmeits large haha02:56
mgrandiyeah its fine02:56
delinquentmeok it overflowed my history in bash02:56
fullermd"du -hac"?  Is that a Rammstein song?02:56
delinquentmelol smh02:56
mgrandiit can be02:57
delinquentmeso like theres just a ton of images02:57
delinquentmewas there something specific you were after?02:57
mgrandijust do it on the .bzr directory then02:57
mgrandidu -hac /repo/branch/bzr02:57
mgrandidu -hac /repo/branch/.bzr02:57
delinquentmeI think thats what you want :D02:58
mgrandiso that seems fine02:58
mgrandibranching from that directory02:58
mgrandisays its not a branch?02:58
delinquentmebranching from trunk yeah02:59
mgrandiso this is from a server -> local machine?02:59
delinquentmefrom my local machine through sftp02:59
mgranditry doing it on the server itself (through ssh or something)02:59
mgrandijust make a tmp branch or something02:59
delinquentmeso make a local branch02:59
mgrandiwell just to see if that works03:00
delinquentmedo I have any options if the repo is huge?03:00
mgrandicould try a lighweight branch03:00
mgrandithis is just to see if it bzr thinks its a branch03:01
fullermdinfo would be quicker.03:01
mgrandihe says info was working but its  not branching?03:01
mgranditry info then03:01
delinquentmeyeh info works03:03
fullermdWell, if info shows a branch there, branch'ing from it should work.  If it doesn't, there's probably something pretty deep going wrong somewhere.03:03
fullermdAnd branch'ing from that same location fails?03:03
mgranditry posting your .bzrlog03:03
mgrandimaybe its throwing an error03:03
fullermd'k, and what's the 'branch' command you're trying to run and its output?03:04
delinquentmesoo I dont have a .bzrlog file within the trunk03:05
fullermdNo, it would be in ~03:05
delinquentmenothing in ~/ either03:07
mgrandiits a hidden file03:07
fullermd'k, do an info on that URL you're trying to branch from.03:07
fullermd.bzr.log actually.03:07
fullermdBut there's probably enough in UI output to track things down.03:07
fullermd(also, if you have sufficient access on the server and it's got bzr, using bzr+ssh will be better than sftp as a rule.  But almost certainly not germane to the "getting things working" level)03:08
delinquentmeyou lost me after germane03:09
fullermdIt's like silic except with a lower forward voltage drop.03:10
fullermd's mostly just an aside, so ignore it for the moment.03:10
delinquentmelol ok03:10
delinquentmeso I should try bzr+ssh03:11
delinquentmei get a command not found03:11
fullermdIt'll generally be faster (often a _lot_ faster).  But so far, that probably means it'll fail faster.03:12
delinquentme$ bzr branch bzr+ssh://nacho03:12
delinquentmebash: bzr: command not found03:12
fullermdThat probably means bzr isn't installed on the far end.03:12
fullermdWhich does mean that bzr+ssh won't work, and you'd need to use sftp.03:12
fullermdBut also makes one step back and ask if there really is a bzr branch on the server at all...03:13
delinquentmehere is the log file https://gist.github.com/372621603:13
delinquentmewell bzr info wouldn't work if it wasn't installed right?03:13
fullermdYeah, that doesn't tell us anything; 's all about your local stuff, which presumably is fine.03:14
delinquentmeand IDK what having a /trunk/.bzr file means ... but I THINK that means its a bzr branch right?03:14
fullermdbzr doesn't require anything bzr-ish on the server side over dumb transports (which sftp is)03:14
fullermdIt's entirely possible to have bzr branches hosted via those methods on servers that don't themselves have bzr installed.03:14
delinquentmeoh no im sshed in and running "bzr info"03:14
delinquentmeive got ssh access as well as trying to setup the remote pushes for bzr03:14
delinquentmeso I can do like bzr push :parent03:15
delinquentmeand move it localmachine >> server03:15
fullermdOK, I think we're (at least I'm) getting a bit overloaded with multiple questions at once here.03:15
delinquentmeok so 1) I think it has bzr installed on the server03:16
fullermdLet's split 'em out.  First off, the "bzr branch sftp://..." leaving to "Not a branch" error.03:16
mgrandiso, have you pushed the branch locally into the server yet?03:16
delinquentmeI have not mgrandi03:16
mgrandiso there is no branch at /nacho/whatever/trunk?03:16
fullermdWhy is that happening?  The most obvious is "well, there's no branch there".  Are you expecting one to be so?03:16
delinquentmebut I've verified that there are infact files in the dir that im attempting to branch from03:17
delinquentmeexternally ( via ssh )03:17
delinquentmeso I know the files are there ... I know bzr is installed on the server03:17
delinquentmeand I know there is a trunk/.bzr directory03:17
delinquentmemgrandi, I've not yet pulled down anything locally from *this* server03:18
delinquentmethey have another dev server that I managed to pull from but thats within another directory all together03:18
fullermdWhat does bzr info sftp://nacho......   tell you?03:18
delinquentmenacho was a replacement name -- this is the actual machine and links and all that action03:19
delinquentmeSHIT. you can see this is a rails project =P03:20
mgrandiwe all hate you now. (just kidding)03:20
fullermd'k.  You can ssh into the server, right?  And it does have bzr installed?03:20
fullermd's cool.  We won't make fun of you 'till after you log off.  It's only polite.03:21
delinquentmeyeah .. I mean I think it has it installed because Im running "bzr info trunk/"03:21
delinquentmeand getting solid output03:21
delinquentmei dont wear tight pants03:21
delinquentme... all the time03:21
delinquentmebut it isss friday nightttt03:21
fullermd'k.  Do an 'info' on the server, using the full path, and paste that.03:22
fullermd'k, well something doesn't match up.  You're in /home/share/source/BETYdb/ when you run that command?03:25
fullermdIs sftp chroot'ing you somewhere?03:25
delinquentmegood question03:25
delinquentmewell it could be .. but im giving it the full system path sooo03:26
delinquentme( when sftping in )03:26
fullermdWell, if you were chroot'd, the full path would be the path under that root, which would be sure to be wrong.03:26
delinquentmeso that should negate that right?03:26
fullermdI'd hope not.  If it did, chroot would be useless  ;p03:26
delinquentmeme google03:27
fullermdOh no, you can probably just test it manually by sftp'ing in and ls'ing around.03:27
delinquentmeoh is that a real ...03:27
delinquentmewhats the word?03:27
delinquentmehttp ftp ssh03:27
delinquentmeit might be chrooting me to my user dir03:28
delinquentmefullermd, you might have just won03:28
fullermdSweet.  I'd like to thank the Academy...03:28
delinquentmenailed it03:29
* delinquentme dances03:29
fullermdI'm a little curious about bzr+ssh not working, since bzr is obviously installed.03:29
fullermdMaybe it's in a weird place your $PATH is covering in an interactive session?03:29
delinquentmeOK new question all together03:34
delinquentmehopefully one substantially simpler03:34
delinquentmeHow do you guys setup your development from your production servers03:35
delinquentmeand how do you deploy03:35
delinquentmein rails ( sorry ) theres all kinds of plugins to do things on deploy and hooks and needles and spears03:35
delinquentmewhat does a deploy look like for you guys on bzr03:35
fullermdI'm old school.  I use Makefile's.03:35
fullermd(well, except for the things where I use my embryonic make(1) replacement, but philosophically the same)03:36
fullermdIn ruby I guess you'd use rake.03:36
mgrandii wish python had rake.03:36
mgrandibut installing stuff from pip is super hit or miss.03:36
fullermdThere's some [im]moral equivalent.03:37
delinquentmeso you kind of compile stuff03:37
delinquentmeand then shove it to the server03:37
fullermdNo, just use make as a way to wrap the deployment stuff.03:37
delinquentmerake it basically the dingo that hops everything along03:37
delinquentme^ intelligible03:37
fullermdCould about as easily use a shell script for 95% of it, since it doesn't really rely on much dependancy tracking.03:37
fullermdBut make's there, and already provides me targets and chaining and suchlike, so..03:38
delinquentmefullermd, could I see one of your makefiles?03:40
delinquentmeim familiar with shell scripts but not make files03:40
fullermdFor web app deployment?  Mmm.  They're mostly pretty abstracted for all the flexibility we use; not a good template to learn from.03:41
fullermd(plus the incredibly nasty Stupid Tricks they do to get around the weakness of make and/or sh as languages.  Part of the reason for my replacement...)03:43
fullermdEep, didn't realize how late it was getting.  I better get back to work...03:44
delinquentmeyeah i need to shower03:45
delinquentmeOh... now If when I sftp into the server04:05
delinquentmeand I can access root FROM the sftp04:05
delinquentmeerm not root04:05
delinquentmei mean I can access /04:05
=== yofel_ is now known as yofel
SamB_MacG5soo .. bzr bisect doesn't use the terms "good" and "bad" ...17:19
SamB_MacG5gah, I hate imperative code18:10
delinquentmeok talk to me about the central repo18:48
delinquentmeit doesnt have files in it??18:48
delinquentmealso which development method is closer to git? centralized?18:57
SamB_MacG5delinquentme: not much point having a checkout in a published branch19:00
SamB_MacG5er, I should say working tree19:01
SamB_MacG5checkout means something a bit strange here19:01
delinquentmeok so if a central repo doesnt have files19:03
delinquentmewhen you branch from the central repo19:03
delinquentmewhere are the files coming from?19:03
SamB_MacG5what is it that you think a version control system does?19:03
delinquentmeIm used to git ... so like im thinking the files are in a central origin19:04
ScottKBranches are branches.  There in nothing that bzr considers a mster.19:04
delinquentmeand git is controlling the modification to that19:04
ScottKYou can do checkouts, but that's more like svn than git.19:04
SamB_MacG5where do the files come from when you clone a bare git repository?19:04
ScottK(no offline commits for example)19:04
delinquentmeim not sure I know what a bare git repo is...19:04
delinquentmelike when you clone a repo ... all of the files are in that repo19:05
delinquentmeand you then copy them from the repo to your local19:05
delinquentmehence why im confused about where the files reside in a bzr setup19:05
SamB_MacG5delinquentme: have you never seen a plain-http-published git repository?19:05
SamB_MacG5normally those have names ending in .git, and are bare19:06
delinquentmewhat does bare mean?19:06
SamB_MacG5in git, bare means there is no working tree, it's just what would go in the .git directory19:06
SamB_MacG5anyway, in bzr, the files come from the branch19:07
SamB_MacG5regardless of whether or not there is a working tree19:07
delinquentmeok ok yeah so you're not saying that there are no files ... by bare you mean that there are no modifications which lie outside of commits19:08
delinquentmeso there should infact be files within the branch?19:08
SamB_MacG5basically, the files are hidden inside a database19:09
delinquentmeso then it IS empty19:09
delinquentmeand when i pull from a central repo19:09
delinquentmeit spits out stuff from that DB19:09
delinquentmeto allow me to populate the branch i just made19:09
SamB_MacG5that's actually where it always gets the files ;-)19:10
delinquentmeso is this like a special bzr DB?19:12
delinquentmeorrrr is it a mysql DB? or what19:12
SamB_MacG5yeah, special bzr db19:12
delinquentmeSo should the main repo be completely naked?19:13
delinquentmedevoid of files?19:13
delinquentmenot even a hidden .bzr19:13
SamB_MacG5the .bzr directory is where the database is kept19:13
SamB_MacG5(although, with shared repositories, the database with the actual file contents would be in the repo's .bzr dir)19:15
SamB_MacG5(the branch's .bzr dir would then mostly serve to tell bzr which commit in the repository was the last one on this branch)19:17
delinquentmeyou guys dont usually have a server displaying the primary repo to incoming traffic do you?19:19
SamB_MacG5Many things have trunk at lp:~<user|group>/<project>/trunk19:21
SamB_MacG5so, um, depends on the project19:22
delinquentmeso the distinction to pick --trees or --no-trees19:30
delinquentmeis whether you're going to be editing files within that directory?19:30
delinquentme"One of the main reasons we don't want to create a working tree is that the tree needs to be updated by each push leading to potential problems where the workign tree checked out is out of date compared to the actual repository."19:44
delinquentmedoes that make sense?19:44
SamB_MacG5wow the bzr bisect tests run slowly with --coverage ...22:19

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