fluid-work IRC Logs-2011-02-04

[08:34:26 CST(-0600)] <justin_o> colinclark: have you seen this from jquery ui http://blog.jqueryui.com/2011/02/unleash-the-grid/
[08:35:09 CST(-0600)] <justin_o> "We’re not just developing a grid, but rather designing and building modular and extensible components, like sorting, paging, filtering, and in-place editing, that can be combined into a grid."
[08:35:38 CST(-0600)] <colinclark> I hadn't heard that
[08:35:40 CST(-0600)] <colinclark> Good for them
[08:35:53 CST(-0600)] <colinclark> Finally someone does something sane with grids (smile)
[08:36:24 CST(-0600)] <justin_o> (smile)
[08:37:03 CST(-0600)] <justin_o> colinclark: by the way, i'm thinking about fixing svn today... any reservations?
[08:38:06 CST(-0600)] <colinclark> nope, go for it
[08:38:15 CST(-0600)] <colinclark> I had a bit of trial by fire with Git last night
[08:38:29 CST(-0600)] <colinclark> which had Bosmon2 and I a bit freaked
[08:38:42 CST(-0600)] <colinclark> But now I feel compelled to learn how "rebase" works (smile)
[08:39:15 CST(-0600)] <justin_o> colinclark: you guys started using rebasing?
[08:39:22 CST(-0600)] <colinclark> No
[08:39:34 CST(-0600)] <colinclark> But as a result, you can see that my commit last night looks a bit "weird"
[08:39:40 CST(-0600)] <colinclark> I guess we saw things like this with Mercurial, too
[08:39:53 CST(-0600)] <colinclark> So here's roughly the workflow I followed, good or bad, I'm not sure
[08:40:13 CST(-0600)] <colinclark> 1. Two nights ago, I checked out the project Infusion repository
[08:40:25 CST(-0600)] <colinclark> 2. I applied mlam's FLUID-4033 patch to it and left it for the night
[08:40:36 CST(-0600)] <colinclark> 3. In the meantime, Antranig pushed to the project repo
[08:41:09 CST(-0600)] <colinclark> 4. Last night, I was about to add, push, and commit and noticed the linting issues with FluidView.js and the Uploader
[08:42:16 CST(-0600)] <colinclark> 5. I cloned another copy of project Infusion, delinted, and pushed those changes up
[08:43:27 CST(-0600)] <colinclark> 6. I pulled Antranig's and my linting changes down from the project repo to my "mike's patch" clone
[08:43:37 CST(-0600)] <colinclark> 7. I pushed everything back up to the project repo
[08:44:29 CST(-0600)] <colinclark> justin_o: The result was a very weird looking change set
[08:45:51 CST(-0600)] <justin_o> colinclark: what was weird about it? you were pushing more commits than you expected? or something else?
[08:46:13 CST(-0600)] <colinclark> Sort of
[08:46:33 CST(-0600)] <colinclark> I guess I was pushing all of the changes that occurred in my clone, even if several of them were already in the project repo
[08:47:05 CST(-0600)] <colinclark> The result of it was an odd commit log containing Antranig's change log and my linting changes: https://github.com/fluid-project/infusion/commit/e9cf5df7f465fe091386782519ed00781ad03c08
[08:47:10 CST(-0600)] <colinclark> Do you see what I mean?
[08:49:30 CST(-0600)] <colinclark> The case seems to match pretty well with the pictures in http://book.git-scm.com/4_rebasing.html
[08:50:25 CST(-0600)] <justin_o> I think rebasing may flatten your commits though
[08:50:29 CST(-0600)] <justin_o> making it more like a patch
[08:51:20 CST(-0600)] <Justin_o_> had the links on my other computers.. (smile)
[08:51:21 CST(-0600)] <Justin_o_> http://blog.experimentalworks.net/2009/03/merge-vs-rebase-a-deep-dive-into-the-mysteries-of-revision-control/
[08:51:29 CST(-0600)] <Justin_o_> http://softwareswirl.blogspot.com/2009/04/truce-in-merge-vs-rebase-war.html
[08:52:08 CST(-0600)] <justin_o> so i'm guessing your change set is funny because of the two parents maybe
[08:52:23 CST(-0600)] <colinclark> yes
[08:52:48 CST(-0600)] <colinclark> I basically simulated concurrent development with myself
[08:54:25 CST(-0600)] <justin_o> I wonder if this view helps
[08:54:25 CST(-0600)] <justin_o> https://github.com/fluid-project/infusion/network
[08:54:53 CST(-0600)] <colinclark> yeah, it did
[08:55:45 CST(-0600)] <justin_o> so it's interesting in that view, it looks like the branched work was both antranigs stuff and your delinting
[08:56:41 CST(-0600)] <justin_o> which is probably why your merge into the master contained both of those
[09:05:00 CST(-0600)] <colinclark> justin_o: Yeah, the clone I had with mlam's changes in it was made prior to Antranig's stuff and my delinting
[09:05:17 CST(-0600)] <colinclark> so then I pulled those changes in from the project repo
[09:09:50 CST(-0600)] <justin_o> interesting.. i suppose it treated the project-repo as a branch and when you pushed back up, yours was the master
[09:10:15 CST(-0600)] <justin_o> i guess if you had branched locally for your work, pull into your local master and then merged your branch between that it would have been okay
[09:10:22 CST(-0600)] <justin_o> colinclark: ^
[09:22:35 CST(-0600)] <heidi_> hey colinclark... looking at yr scrolling table component code... wondering if height should be an option. and also wondering where to stick something like: container.style.height = (container.scrollHeight > 199) ? "200px" : "auto";
[09:23:31 CST(-0600)] <heidi_> which i think will solve the ie6 issue
[10:41:35 CST(-0600)] <colinclark> Hey heidi_, sorry I missed your message from earlier
[10:41:46 CST(-0600)] <colinclark> Can you elaborate on "wondering if height should be an option" comment?
[10:41:56 CST(-0600)] <heidi_> hey colin
[10:42:08 CST(-0600)] <heidi_> right now the height of the scroller is set in fss-layout
[10:42:23 CST(-0600)] <heidi_> i think we talked about this before... over-riding vs setting as an option
[10:42:36 CST(-0600)] <colinclark> Right
[10:42:42 CST(-0600)] <colinclark> It's also an option to the scrollable table
[10:42:46 CST(-0600)] <colinclark> Set to undefined by default
[10:43:15 CST(-0600)] <heidi_> i see there's a css option - so how would that work?
[10:44:32 CST(-0600)] <colinclark> Hopefully fairly well (smile)
[10:45:04 CST(-0600)] <heidi_> setting a height for the scroller demo area is fine because the content isn't dynamic, but for uploader we'd have to dynamically set the height it when a file is added/removed
[10:46:14 CST(-0600)] <heidi_> to set the css as an option, the classname for the scrollable area would have to be known
[10:48:30 CST(-0600)] <heidi_> vs having a 'height' option in the scrollable component
[10:51:01 CST(-0600)] <colinclark> heidi_: ah, because you want to be able to dynamically update the height as things are added to the scrollable, right?
[10:51:14 CST(-0600)] <heidi_> colinclark for the uploader, ya
[10:53:20 CST(-0600)] <heidi_> colinclark it's just too bad that means an inline height style, only really useful for IE6
[10:54:27 CST(-0600)] <heidi_> tho we could do a browser check first.
[10:55:07 CST(-0600)] <colinclark> one sec, sorry heidi_
[10:55:11 CST(-0600)] <colinclark> slightly distracted
[10:55:11 CST(-0600)] <heidi_> np
[11:01:07 CST(-0600)] <colinclark> ok, so
[11:01:18 CST(-0600)] <colinclark> heidi_, the scrolling stuff in FluidView.js is nice, but it's slightly weird
[11:01:27 CST(-0600)] <colinclark> I'll try to summarize why, just so we're both on the same page
[11:01:34 CST(-0600)] <colinclark> and then we can make a decision together about what to do
[11:01:39 CST(-0600)] <heidi_> sounds good
[11:01:46 CST(-0600)] <colinclark> So, generally, if you're making a component that needs to access the DOM, it should be a View
[11:01:59 CST(-0600)] <colinclark> A View is a component that has, among other things, a DOM Binder
[11:02:11 CST(-0600)] <colinclark> which is our way of decoupling code from specific markup
[11:02:41 CST(-0600)] <colinclark> So, as you know, we make a selectors block in the components options, and give each selector a name
[11:02:51 CST(-0600)] <colinclark> Now, Views have one fundamental constraint
[11:03:20 CST(-0600)] <colinclark> They take a container, which is how we keep a component from straying outside itself and accidentally using elements from some other component on the page
[11:04:03 CST(-0600)] <colinclark> you can imagine, with mashups and portals and gadgets and the like, that it would be really bad for a component to grab markup from somewhere else
[11:04:12 CST(-0600)] <colinclark> Imagine, say, two Uploaders on the same page
[11:04:18 CST(-0600)] <colinclark> you want to keep them totally self-contained
[11:04:24 CST(-0600)] <colinclark> So, anyway, that's the way Views work
[11:04:25 CST(-0600)] <heidi_> k, got it
[11:04:38 CST(-0600)] <colinclark> Now, our scrollable component is a bit odd
[11:04:46 CST(-0600)] <colinclark> in that, in some cases, it might wrap some extra stuff around itself
[11:04:50 CST(-0600)] <heidi_> it's a little component, not a view ? no dom binder?
[11:04:54 CST(-0600)] <colinclark> yes, that's right
[11:05:06 CST(-0600)] <heidi_> right it goes outside its container
[11:05:12 CST(-0600)] <colinclark> So, if you think about this case where we're wrapping ourselves in some new markup, the container actually has to change
[11:05:20 CST(-0600)] <colinclark> which is something I avoided because it seems a bit disruptive to the user
[11:05:31 CST(-0600)] <colinclark> if they assume the container is one thing, and we change it to another, they might get confused
[11:06:02 CST(-0600)] <colinclark> So, scrollable is so simple that I decided to just make it a Little Component
[11:06:12 CST(-0600)] <colinclark> A little component is a component that has only one feature: it supports options
[11:06:15 CST(-0600)] <colinclark> everything else we just do by hand
[11:06:47 CST(-0600)] <colinclark> Now, we don't necessarily need a DOM Binder to do what we need to do, I think
[11:07:12 CST(-0600)] <colinclark> take a look at line 142 of FluidView.js
[11:07:19 CST(-0600)] <heidi_> yep
[11:07:24 CST(-0600)] <colinclark> You can see we do store a reference to the thing that is the scrollable
[11:07:42 CST(-0600)] <colinclark> which means we could create some kind of refresh method that recalculates the height of the element
[11:07:59 CST(-0600)] <colinclark> What's interesting, heidi_, is that things are starting to look a lot more like the old Scroller component
[11:08:12 CST(-0600)] <colinclark> remember a few weeks ago you were asking why Scroller had a refreshView() method?
[11:08:23 CST(-0600)] <heidi_> ah yes
[11:08:40 CST(-0600)] <colinclark> I'm pretty sure it was for exactly this reason
[11:09:47 CST(-0600)] <colinclark> So, there is a convention in Infusion
[11:09:57 CST(-0600)] <colinclark> View components should generally provide a method called refreshView()
[11:10:21 CST(-0600)] <colinclark> this method is intended to tell the component to "redraw" itself based on any changes that might have occurred outside of its knowledge
[11:10:32 CST(-0600)] <colinclark> For example, the case where the Uploader adds a new row to the table
[11:10:45 CST(-0600)] <heidi_> yeah
[11:11:07 CST(-0600)] <colinclark> It seems awfully odd, however, to implement a refreshView() method for a component that really isn't a View
[11:11:40 CST(-0600)] <colinclark> If I remember, Scroller had this same container problem
[11:11:50 CST(-0600)] <colinclark> It just sort of quietly did stuff outside of its container scope
[11:11:54 CST(-0600)] <colinclark> and we might want to just do the same
[11:12:37 CST(-0600)] <colinclark> In short, I think I'm advocating for us creating a refreshView() method, even though our component isn't a real View
[11:12:47 CST(-0600)] <colinclark> michelled might have some thoughts here
[11:13:06 CST(-0600)] <colinclark> And we can write the code in refreshView() to only run on flavours of IE that require it
[11:13:10 CST(-0600)] <heidi_> because sticking to convention on view-type things will be easier
[11:13:15 CST(-0600)] <colinclark> yeah
[11:13:26 CST(-0600)] <colinclark> We're not quite a View, only because we don't really have any need to be
[11:13:39 CST(-0600)] <colinclark> but if we ever needed other selectors in the scrollable() component, we'd want to change it to be a View
[11:13:45 CST(-0600)] <colinclark> in the meantime, we can keep it the way it is
[11:14:01 CST(-0600)] <colinclark> Since we really have no events and no real need to select anything from the DOM except the thing that is scrollable
[11:14:11 CST(-0600)] <colinclark> which is always one of two things:
[11:14:19 CST(-0600)] <colinclark> 1. The container (for non-table scrollable)
[11:14:34 CST(-0600)] <colinclark> 2. A wrapper that we fabricate with the "makeScrollableFn" option
[11:14:41 CST(-0600)] <colinclark> Does this make some sense, heidi_?
[11:15:02 CST(-0600)] <heidi_> yep
[11:15:05 CST(-0600)] <heidi_> it does
[11:15:14 CST(-0600)] <heidi_> so, to get that 'height' value...
[11:15:46 CST(-0600)] <heidi_> i feel like we should have it be an option
[11:15:54 CST(-0600)] <heidi_> or, we could fetch it from the css
[11:16:14 CST(-0600)] <michelled> makes sense to me - scrollable is kind of a view and might some day become a full fledged one
[11:16:24 CST(-0600)] <michelled> I think you should call it refreshView
[11:17:11 CST(-0600)] <colinclark> So, height is already an option
[11:17:29 CST(-0600)] <colinclark> but I guess the best place to get it is from the element itself, since we don't know how it will be set
[11:17:50 CST(-0600)] <colinclark> might be done in CSS, or it might have been specified as options.css.height
[11:18:09 CST(-0600)] <heidi_> but in order for someone to change the height of the scrolling table scroller... they'd have to know to over-ride the style .fl-table-scrollable-scroller
[11:18:17 CST(-0600)] <colinclark> Right
[11:18:23 CST(-0600)] <heidi_> which seems like a lot to ask?
[11:18:25 CST(-0600)] <colinclark> Which is one option they can choose
[11:18:35 CST(-0600)] <colinclark> the other option is to just specify it in the options.css.height option, right?
[11:18:43 CST(-0600)] <colinclark> We support both at the moment, I'm pretty sure
[11:19:06 CST(-0600)] <heidi_> i need to learn more about options.css i think
[11:23:18 CST(-0600)] <colinclark> heidi_: It's sort of subtle in a funny way
[11:23:22 CST(-0600)] <colinclark> There's nothing to learn about options.css
[11:23:26 CST(-0600)] <colinclark> except "what is it?"
[11:23:30 CST(-0600)] <colinclark> And the answer is that it's an object
[11:23:33 CST(-0600)] <heidi_> yeah it's just a thing with some stuff
[11:23:35 CST(-0600)] <colinclark> you know, like, one of these: {}
[11:23:38 CST(-0600)] <colinclark> yep
[11:23:39 CST(-0600)] <heidi_> yeah
[11:23:42 CST(-0600)] <colinclark> So, how it works:
[11:23:47 CST(-0600)] <colinclark> It uses jQuery.css()
[11:23:59 CST(-0600)] <colinclark> jQuery.css can take a few different types of arguments
[11:24:07 CST(-0600)] <colinclark> one of which is an object containing key/value pairs
[11:24:15 CST(-0600)] <colinclark> where the key is the CSS property to set
[11:24:19 CST(-0600)] <colinclark> like, say, "height"
[11:24:22 CST(-0600)] <colinclark> or "overflow"
[11:24:27 CST(-0600)] <heidi_> yeah, am familiar with the jquery .css
[11:24:28 CST(-0600)] <colinclark> and the value is, well, the value you want to set it to
[11:25:16 CST(-0600)] <heidi_> k, processing..
[11:27:47 CST(-0600)]

<heidi_> so colinclark how do i send it as an option? sorry i'm being super noob. but

Unknown macro: {height}

is enough? how does it know that it's a css bit


[11:28:00 CST(-0600)] <colinclark> yeah
[11:28:09 CST(-0600)] <colinclark> You'll need to quote the "200px"
[11:28:11 CST(-0600)] <colinclark> since it's a string
[11:28:47 CST(-0600)]

<colinclark> So, if you were making a scrollable table with a height of 200px, you'd do this: fluid.scrollableTable(myTable,

Unknown macro: { css}

);


[11:28:53 CST(-0600)] <heidi_> ah ok
[11:29:11 CST(-0600)] <heidi_> and css is a common infusion option we use
[11:29:19 CST(-0600)] <colinclark> No, it's pretty rare
[11:29:30 CST(-0600)] <colinclark> Setting styles in code is evil, as you well know (smile)
[11:29:40 CST(-0600)] <colinclark> But sometimes it is unavoidable (smile)
[11:30:05 CST(-0600)] <heidi_> should we have that 160px in fss-layout be in defaults instead ?
[11:30:17 CST(-0600)] <colinclark> I don't know, really
[11:30:38 CST(-0600)] <colinclark> My assumption was that it was probably easiest to put in the CSS
[11:30:46 CST(-0600)] <colinclark> people who don't want to muck around with the code can override the style
[11:30:58 CST(-0600)] <colinclark> and people who are more comfortable with code and specify the option
[11:31:09 CST(-0600)] <heidi_> yeah
[11:31:25 CST(-0600)] <colinclark> The benefit of putting it into the stylesheet is that people can use it even if, for whatever reason, they don't actually want to use fluid.scrollableTable()
[11:31:51 CST(-0600)] <heidi_> and it's not inline
[11:33:06 CST(-0600)] <colinclark> yep
[11:33:19 CST(-0600)] <heidi_> okay, so reset view function
[11:33:26 CST(-0600)] <colinclark> Now that we put it this way, I feel good about this approach, heidi_
[11:36:41 CST(-0600)] <heidi_> ill take a stab at refreshView colin and then you can tell me what's wrong with it? (big grin)
[11:41:10 CST(-0600)] <heidi_> bbs, lunch
[11:43:16 CST(-0600)] <clown> colinclark, michelle, justin_o: I'm overhearning your git discussion. The pictures on this page might help:
[11:43:16 CST(-0600)] <clown> http://osteele.com/archives/2008/05/commit-policies
[12:05:30 CST(-0600)] <justin_o> clown: thanks i'll take a look at that... i used those first two diagrams in the git primer yesterday
[12:09:05 CST(-0600)] <clown> justin_o: cool
[12:23:04 CST(-0600)] <mlam> colinclark: JIRA for passing the incorrect file count into the afterFileDialog handler: http://issues.fluidproject.org/browse/FLUID-4043
[12:24:23 CST(-0600)] <colinclark> thanks, mlam
[12:27:04 CST(-0600)] <mlam> np
[12:33:55 CST(-0600)] <michelled> golam: I'm just looking at your patch for 3946 - did you run the tests on IE?
[12:34:25 CST(-0600)] <golam> michelled: no
[12:34:29 CST(-0600)] <golam> let me check
[12:35:06 CST(-0600)] <michelled> golam: there is a bug in the test - you are always testing portlet[0] instead of portlet[i]
[12:36:13 CST(-0600)] <golam> portlet = fluid.jById(fluid.testUtils.moduleLayout.portletIds[i]);
[12:36:14 CST(-0600)] <golam> tabIndex = portlet[0].tabIndex;
[12:40:14 CST(-0600)] <michelled> golam: I think you want to use fluid.byId instead of using jById and then unwrapping it
[12:41:09 CST(-0600)] <golam> michelled: I will change that code
[12:58:26 CST(-0600)] <golam> michelled: the test failed in IE8
[12:59:26 CST(-0600)] <michelled> I thought it would - pretty sure the case of the tabindex attribute is different in IE and FF
[12:59:30 CST(-0600)] <golam> michelled: I did test the layout reorder and it's working for both firebox and ie8
[12:59:47 CST(-0600)] <golam> yeah it's 0
[13:03:29 CST(-0600)] <michelled> golam: so you'll fix the test so it passes in IE and FF?
[13:05:30 CST(-0600)] <golam> michelled: any suggestion on how I can test for tabIndex so it passes for both or test something else ?
[13:05:51 CST(-0600)] <colinclark> Hey heidi_
[13:05:59 CST(-0600)] <heidi_> hi
[13:06:00 CST(-0600)] <colinclark> I have been learning a bit more about git from the King
[13:06:11 CST(-0600)] <colinclark> it still terrifies me a bit (smile)
[13:06:17 CST(-0600)] <heidi_> haha, oh yeah?
[13:06:28 CST(-0600)] <colinclark> So, I've changed our FLUID-4037 repo a bit
[13:06:35 CST(-0600)] <colinclark> this one
[13:06:35 CST(-0600)] <michelled> golam: I know the keyboard a11y plugin does some normalizing of the tabindex property name but I wonder if it hasn't been normalized for us in jquery by now
[13:06:35 CST(-0600)] <heidi_> sure, what's new?
[13:06:37 CST(-0600)] <colinclark> https://github.com/colinbdclark/infusion-FLUID-4037
[13:06:41 CST(-0600)] <michelled> golam: maybe you can look into that
[13:08:19 CST(-0600)] <heidi_> colinclark do i need to re-clone or can i update somehow?
[13:09:30 CST(-0600)] <colinclark> heidi_: That's what I was thinking
[13:09:38 CST(-0600)] <colinclark> Do you have any changes you're working on currently?
[13:09:53 CST(-0600)] <heidi_> yep but easily copied to something new
[13:10:11 CST(-0600)] <colinclark> Ok
[13:10:27 CST(-0600)] <colinclark> So, in short, the King is recommending that we always keep changes in a branch
[13:10:44 CST(-0600)] <colinclark> So that master can stay clean have only have changes pulled into it from upstream or pushed into it from the working branch
[13:10:55 CST(-0600)] <colinclark> so what I did was to create a new branch, which I called FLUID-4037
[13:12:02 CST(-0600)] <colinclark> So if you grab your changes and re-clone, you should be cool
[13:12:05 CST(-0600)] <colinclark> make a patch or whatever
[13:12:08 CST(-0600)] <colinclark> toss your old clone
[13:12:14 CST(-0600)] <colinclark> clone infusion-FLUID-4037 again
[13:12:19 CST(-0600)] <heidi_> colinclark so how's that different than what you did before?
[13:12:30 CST(-0600)] <colinclark> We were applying changes directly to the master branch
[13:12:43 CST(-0600)] <colinclark> as opposed to having a separate branch for changes and merging them in
[13:12:52 CST(-0600)] <colinclark> It's an extra bit of complexity compared to SVN
[13:13:02 CST(-0600)] <colinclark> but we think it's going to make things much easier to manage
[13:13:24 CST(-0600)] <colinclark> so, once you've cloned infusion-FLUID-4037 again, change to the FLUID-4037 branch to do your work
[13:13:29 CST(-0600)] <colinclark> "git checkout FLUID-4037"
[13:13:33 CST(-0600)] <heidi_> aha
[13:13:37 CST(-0600)] <colinclark> make the changes, commit, etc.
[13:14:07 CST(-0600)] <heidi_> okay ill do that, thanks
[13:14:51 CST(-0600)] <colinclark> sorry for the inconvenience
[13:21:06 CST(-0600)] <colinclark> mlam: Do you want to fire me the numbers for any other patches you'd like me to commit?
[13:21:21 CST(-0600)] <mlam> sure, let me dig up the JIRA numbers
[13:22:18 CST(-0600)] <mlam> FLUID-4017 – synchronous uploading
[13:22:34 CST(-0600)] <colinclark> Sweet, that'll be a good one
[13:22:56 CST(-0600)] <mlam> FLUID-3886 – HTML5 mime type exclusions in the file dialog
[13:24:57 CST(-0600)] <mlam> also in FLUID-4017, I posted a related patch which renames the remote start functions to uploadNextFile(). I'm not sure if you wanted to put this one in or not.
[13:38:20 CST(-0600)] <harriswong> heidi_: heidi, i have pushed my error handler onto the github. You can try forking it if you are interested for the css testing. (big grin)
[13:39:14 CST(-0600)] <heidi_> harriswong : cool, i shall accept that challenge
[14:01:11 CST(-0600)] <heidi_> hey colinclark ... so infusion-FLUID-4037 doesn't have any changes in it... so i need to patch it with the latest from 4037 and then push ?
[14:01:31 CST(-0600)] <colinclark> hmmm
[14:01:44 CST(-0600)] <colinclark> I don't quite know what you mean, heidi_
[14:01:50 CST(-0600)] <colinclark> I might just be confused (smile)
[14:02:01 CST(-0600)] <heidi_> me too. so i cloned it again
[14:02:07 CST(-0600)] <heidi_> but there's no demo/fss/scrollableTable
[14:03:31 CST(-0600)] <heidi_> but i dno't think i'm doing 'checkout' right...
[14:05:10 CST(-0600)] <colinclark> Okay, so you cloned infusion-FLUID-4037 again
[14:05:11 CST(-0600)] <heidi_> colinclark when i do git checkout infusion-FLUID-4037 i get fatal: Not a git repository (or any of the parent directories): .git
[14:05:21 CST(-0600)] <colinclark> yes, that's the problem
[14:05:24 CST(-0600)] <colinclark> okay, try this, heidi
[14:05:27 CST(-0600)] <colinclark> type git branch
[14:05:33 CST(-0600)] <colinclark> tell me what you see
[14:06:04 CST(-0600)] <colinclark> I created a branch called "FLUID-4037" inside the infusion-FLUID-4037 repository
[14:06:11 CST(-0600)] <colinclark> so you should see it and the master branch
[14:06:12 CST(-0600)] <heidi_> outside the dir, same error, inside the clone, "* master"
[14:06:36 CST(-0600)] <colinclark> okay, try this just in case: git branch -a
[14:06:42 CST(-0600)] <colinclark> That'll list every branch, even remote ones
[14:06:51 CST(-0600)] <colinclark> you should see:
[14:06:53 CST(-0600)] <colinclark> master
[14:06:57 CST(-0600)] <heidi_> colinclark do i checkout inside the clone?
[14:06:57 CST(-0600)] <colinclark> FLUID-4037
[14:07:11 CST(-0600)] <colinclark> Do everything inside the clone--that's your repository
[14:07:18 CST(-0600)] <colinclark> doing anything outside of clone won't work
[14:07:38 CST(-0600)] <heidi_> okay i see it when i do -a
[14:07:47 CST(-0600)] <colinclark> You see a branch called FLUID-4037?
[14:07:56 CST(-0600)] <heidi_> * master
[14:07:56 CST(-0600)] <heidi_> remotes/origin/FLUID-4037
[14:07:57 CST(-0600)] <heidi_> remotes/origin/HEAD -> origin/master
[14:07:57 CST(-0600)] <heidi_> remotes/origin/master
[14:07:57 CST(-0600)] <heidi_> remotes/origin/mfss-firefox
[14:08:08 CST(-0600)] <colinclark> okay
[14:08:17 CST(-0600)] <colinclark> what happens if you do a "git checkout FLUID-4037"?
[14:08:30 CST(-0600)] <heidi_> error: pathspec 'FLUID-4037' did not match any file(s) known to git.
[14:08:42 CST(-0600)] <colinclark> okay, something's wrong there
[14:08:45 CST(-0600)] <colinclark> let me just try it myself
[14:08:49 CST(-0600)] <heidi_> k
[14:09:57 CST(-0600)] <heidi_> colinclark i wonder about git checkout remotes/origin/FLUID-4037 ?
[14:10:03 CST(-0600)] <colinclark> hang on, heidi_
[14:11:42 CST(-0600)] <colinclark> hi heidi_
[14:11:50 CST(-0600)] <colinclark> Okay, so with a little explanation from the King...
[14:12:05 CST(-0600)] <colinclark> When you first clone a repository, it keeps all the branches "packed away"
[14:12:13 CST(-0600)] <colinclark> He thinks this probably saves hard drive space
[14:12:30 CST(-0600)] <colinclark> but the branch is there, and you should be able to get to it by running "git checkout FLUID-4037"
[14:12:37 CST(-0600)] <colinclark> I just tried it myself and it worked fine
[14:12:47 CST(-0600)] <colinclark> Even without a network connection (smile)
[14:13:13 CST(-0600)] <heidi_> hm, yeah that doesn't work for me so somethin's up...
[14:13:22 CST(-0600)] <colinclark> okay, try it from scracth
[14:13:23 CST(-0600)] <heidi_> ill try a fresh clone
[14:14:00 CST(-0600)] <colinclark> I just tried it a second time and worked nicely
[14:14:07 CST(-0600)] <colinclark> heidi_: Paste in the clone command you are running
[14:14:17 CST(-0600)] <heidi_> colinclark git clone git://github.com/colinbdclark/infusion-FLUID-4037.git
[14:14:19 CST(-0600)] <heidi_> is that right?
[14:16:32 CST(-0600)] <colinclark> hmm, not quite, heidi_
[14:16:44 CST(-0600)] <colinclark> That's the read-only URL, I think
[14:16:56 CST(-0600)] <heidi_> colinclark can you paste what you're doing
[14:17:06 CST(-0600)] <colinclark> Do you see an option for SSH up there at the top of my repo?
[14:17:08 CST(-0600)] <colinclark> In other words, go here:
[14:17:09 CST(-0600)] <colinclark> https://github.com/colinbdclark/infusion-FLUID-4037
[14:17:14 CST(-0600)] <Bosmon2> colinclark, justin_o: I wanted to ask about the jqunit code again
[14:17:14 CST(-0600)] <colinclark> I see three little "tabs"
[14:17:19 CST(-0600)] <harriswong> justin_o: I think this can be closed: http://issues.fluidproject.org/browse/FLUID-3254.
[14:17:25 CST(-0600)] <colinclark> SSH | HTTP | Git Read-Only
[14:17:28 CST(-0600)] <Bosmon2> yura_ has a patch for this... which he has issued a "PULLL" request for
[14:17:29 CST(-0600)] <colinclark> heidi_: ^
[14:17:32 CST(-0600)] <heidi_> yep i see that
[14:17:34 CST(-0600)] <heidi_> okay ill try taht one
[14:17:35 CST(-0600)] <colinclark> Bosmon2: Gimme one sec, dude
[14:17:51 CST(-0600)] <colinclark> Always use the SSH URL, heidi_. You'll have to set up an SSH key first
[14:17:55 CST(-0600)] <colinclark> have you done that already?
[14:17:58 CST(-0600)] <Bosmon2> If I remember rightly.... this is code we "adapted" from upstream... but has it now diverged sufficiently that we wouldn't consider trying to push fixes upstream?
[14:18:11 CST(-0600)] <heidi_> colinclark ssh key with jamon awhile ago or brand new one?
[14:18:17 CST(-0600)] <colinclark> Bosmon2: To see what you're referring to, shall I look at yura_'s repo?
[14:18:26 CST(-0600)] <colinclark> heidi_: You can use the public key you made with Jamon, yes
[14:18:35 CST(-0600)] <colinclark> or make a new one, whatever's cool
[14:18:52 CST(-0600)] <heidi_> ok ill have to figure out how to do this..
[14:18:54 CST(-0600)] <justin_o> Bosmon2: i think pull requests are somewhat immune since someone will have to merge that into their own master
[14:19:13 CST(-0600)] <justin_o> we wouldn't be pushing the contributed code up directly
[14:19:28 CST(-0600)] <justin_o> unless github automatically pulls the code in for us
[14:20:02 CST(-0600)] <colinclark> Bosmon2: That's code we wrote from scratch, Bosmon2
[14:20:10 CST(-0600)] <colinclark> heidi_: It's super easy
[14:20:30 CST(-0600)] <heidi_> reading http://help.github.com/mac-key-setup/
[14:20:40 CST(-0600)] <colinclark> yep
[14:20:53 CST(-0600)] <colinclark> if you already have a key, heidi_, you can skip down to the "$ cat ~/.ssh/id_rsa.pub | pbcopy" part
[14:22:00 CST(-0600)] <colinclark> Bosmon2: Can you ask your question again... I feel like somehow it got slightly lost or confused
[14:27:13 CST(-0600)] <colinclark> mlam: I'm totally wrong about FLUID-4017... duh
[14:27:21 CST(-0600)] <colinclark> you do refer to the batch variable twice
[14:27:25 CST(-0600)] <colinclark> and it is indeed very sensible
[14:28:50 CST(-0600)] <Bosmon2> colinclark: I was referring to "pushing" in the moral sense
[14:28:59 CST(-0600)] <colinclark> ah
[14:29:04 CST(-0600)] <Bosmon2> I have no idea if the original code behind jqunit is even on github at all
[14:29:10 CST(-0600)] <colinclark> ah
[14:29:10 CST(-0600)] <mlam> Maybe we can set the batch variable at the top of the remote function?
[14:29:18 CST(-0600)] <colinclark> well, jqUnit was never related to any original code
[14:29:18 CST(-0600)] <Bosmon2> But I was just wondering whether it made sense to try to contribute it
[14:29:29 CST(-0600)] <colinclark> QUnit is separate, and we continue to use it separately
[14:29:35 CST(-0600)] <colinclark> 100% of the code in jqUnit is our own
[14:29:40 CST(-0600)] <Bosmon2> Ok, that is fine then
[14:29:45 CST(-0600)] <colinclark> and it was all the stuff that JΓΆrn was never interested in
[14:29:52 CST(-0600)] <colinclark> such as, radically enough, namespacing
[14:29:53 CST(-0600)] <colinclark> (tongue)
[14:29:59 CST(-0600)] <Bosmon2> Great...
[14:30:01 CST(-0600)] <colinclark> I can understand why they weren't that hot on the xUnit-style syntax
[14:30:07 CST(-0600)] <Bosmon2> He is obviously no true German
[14:30:18 CST(-0600)] <colinclark> That really was just for us transitioning from JUnit
[14:30:29 CST(-0600)] <colinclark> but he was adamant that there was no point in namespacing the QUnit functions
[14:30:34 CST(-0600)] <colinclark> such as ok()
[14:30:40 CST(-0600)] <Bosmon2> Horrid
[14:30:47 CST(-0600)] <colinclark> I was disappointed
[14:30:55 CST(-0600)] <Bosmon2> I guess there are still people like that in the world
[14:31:11 CST(-0600)] <colinclark> It's just funny that they so clearly understand why namespacing is important
[14:31:22 CST(-0600)] <colinclark> but somehow decided that for one of their products, that rationale didn't apply
[14:31:26 CST(-0600)] <Bosmon2> Just as those who believe you should only have test cases in the case you can see they have a "direct engineering benefit" (smile)
[14:31:50 CST(-0600)] <colinclark> You mean like "writing code that actually works?"
[14:31:59 CST(-0600)] <colinclark> Clearly there's no engineering benefit to that (wink)
[14:32:07 CST(-0600)] <Bosmon2> It would seem not
[14:32:54 CST(-0600)] <colinclark> michelled_, justin_o: you guys ready?
[14:33:32 CST(-0600)] <michelled_> 2 min
[14:33:35 CST(-0600)] <colinclark> k
[14:33:59 CST(-0600)] <justin_o> colinclark: any time
[14:34:13 CST(-0600)] <justin_o> i'm just laying siege to svn right now
[14:34:23 CST(-0600)] <colinclark> (smile)
[14:34:25 CST(-0600)] <colinclark> with gusto!
[14:34:48 CST(-0600)] <heidi_> colinclark still learning about ssh keys, but looks like each computer i use should have a diff one
[14:34:58 CST(-0600)] <colinclark> yes, that's a sensible strategy
[14:35:03 CST(-0600)] <colinclark> they do include your host name in the key
[14:35:15 CST(-0600)] <colinclark> anastasiac doesn't roll like that, but I think it's a sensible approach, heidi_
[14:35:37 CST(-0600)] <colinclark> thankfully I only have one computer
[14:35:44 CST(-0600)] <heidi_> anastasiac how did you copy a private key from one comp to another?
[14:35:56 CST(-0600)] <heidi_> i guess just the files on a usb key
[14:36:09 CST(-0600)] <heidi_> but yeah, ill make a new one. seems to be what "they" suggest
[14:36:18 CST(-0600)] <anastasiac> heidi_, on a mac the key lives in a folder in the home directory. I just created the folder structure and copied the file contents
[14:36:23 CST(-0600)] <anastasiac> it probably is more secure to use different keys
[14:36:28 CST(-0600)] <heidi_> cool, thanks
[14:36:30 CST(-0600)] <justin_o> colinclark: should i be deleting vulab or leaving it
[14:36:37 CST(-0600)] <anastasiac> I think it was jamon who suggested I just copy the key to the other computer
[14:37:04 CST(-0600)] <colinclark> justin_o: Let me think about it
[14:37:10 CST(-0600)] <colinclark> I think I'll give a heads up to Ron and the VULab team
[14:37:16 CST(-0600)] <colinclark> not that I know who the VULab team is
[14:39:23 CST(-0600)] <justin_o> colinclark: okay.. i guess it doesn't matter.. they can pull the code out from the history of they want it
[14:39:34 CST(-0600)] <colinclark> you know, what?
[14:39:35 CST(-0600)] <colinclark> go for it
[14:39:38 CST(-0600)] <colinclark> i'll send them an email
[14:39:42 CST(-0600)] <justin_o> okay thanks
[14:39:44 CST(-0600)] <colinclark> go ahead and delete it
[14:40:34 CST(-0600)] <colinclark> justin_o: fish is free now
[14:40:43 CST(-0600)] <colinclark> mlam: your 4017 patch works like a charm
[14:40:45 CST(-0600)] <colinclark> so hot!
[14:40:45 CST(-0600)] <justin_o> okay i'll come over
[14:41:04 CST(-0600)] <mlam> ok, great!
[14:41:28 CST(-0600)] <colinclark> What a great patch...
[14:41:35 CST(-0600)] <colinclark> Less lines of code, more functionality!
[14:42:02 CST(-0600)] <colinclark> (smile)
[14:42:40 CST(-0600)] <mlam> thanks for the help (smile)
[14:48:44 CST(-0600)] <heidi_> colinclark git checkout FLUID-4037 still not workin - do i need to set something else?
[14:49:56 CST(-0600)] <heidi_> error: pathspec 'FLUID-4037' did not match any file(s) known to git.
[14:50:55 CST(-0600)] <colinclark> i'm not sure, heidi
[14:50:58 CST(-0600)] <colinclark> i can't reproduce it
[14:51:03 CST(-0600)] <colinclark> can you paste your clone command again?
[14:51:47 CST(-0600)] <heidi_> colinclark
[14:51:48 CST(-0600)] <heidi_> git clone git@github.com:colinbdclark/infusion-FLUID-4037.git
[14:51:55 CST(-0600)] <colinclark> ok
[14:52:03 CST(-0600)] <colinclark> and then you cd into infusion-FLUID-4037?
[14:52:07 CST(-0600)] <heidi_> yep
[14:52:16 CST(-0600)] <colinclark> and then
[14:52:22 CST(-0600)] <colinclark> git checkout FLUID-4037
[14:52:27 CST(-0600)] <heidi_> ya
[14:52:30 CST(-0600)] <colinclark> hmm
[14:52:34 CST(-0600)] <colinclark> it worked for me
[14:53:00 CST(-0600)] <heidi_> oh mlam is helpin me - think i have to do git branch
[14:55:41 CST(-0600)] <heidi_> colinclark i did git branch FLUID-4037
[14:55:49 CST(-0600)] <heidi_> then git checkout FLUID-4037
[14:55:59 CST(-0600)] <heidi_> and it says: Switched to branch 'FLUID-4037'
[14:56:19 CST(-0600)] <mlam> heidi_: that's all you need to do
[14:56:40 CST(-0600)] <mlam> now you're working directly off local branch created from your local clone of the remote FLUID-4037
[14:57:33 CST(-0600)] <colinclark> something doesn't seem right here
[14:57:48 CST(-0600)] <heidi_> yeah i still don't get the changes
[14:58:07 CST(-0600)] <colinclark> you just created a new branch with that branch command, heidi_ and mlam
[14:58:24 CST(-0600)] <colinclark> which isn't exactly what you want
[14:58:29 CST(-0600)] <colinclark> since you want a branch that already exists
[14:58:42 CST(-0600)] <heidi_> colinclark how do we delete it?
[14:59:10 CST(-0600)] <heidi_> i still have just a master with no patch
[15:00:15 CST(-0600)] <colinclark> heidi_: can we screenshare once i get out of this meeting?
[15:00:39 CST(-0600)] <heidi_> colinclark yep
[15:06:12 CST(-0600)] <heidi_> mlam so forking is like cloning remotely?
[15:06:37 CST(-0600)] <heidi_> and a branch is more a virtual copy
[15:07:01 CST(-0600)] <heidi_> checkout is locally switching between branches
[15:07:08 CST(-0600)] <mlam> Yes, that's my understanding about forking....someone please correct me if i'm wrong
[15:07:22 CST(-0600)] <mlam> yes, checkout is to switch b/w local branches
[15:07:33 CST(-0600)] <heidi_> so infusion-FlUID-4037 is a fork
[15:07:41 CST(-0600)] <heidi_> and FLUID-4037 is a branch of that fork
[15:07:46 CST(-0600)] <heidi_> is that right colinclark?
[15:07:56 CST(-0600)] <colinclark> yes
[15:08:32 CST(-0600)] <heidi_> so cloning a fork should give me all the branches?
[15:08:47 CST(-0600)] <heidi_> and then i'd checkout to work on a particular branch within that
[15:12:35 CST(-0600)] <heidi_> so somehow i'm not getting all the branches when i clone... they're still remote
[15:13:57 CST(-0600)] <heidi_> git branch -a shows me them
[15:14:25 CST(-0600)] <mlam> shouldn't you then be able to switch between the branches?
[15:15:07 CST(-0600)] <heidi_> mlam i think i have to get it locally first
[15:15:39 CST(-0600)] <heidi_> when i do the git branch -a it says the one i want is "remotes/origin/FLUID-4037"
[15:36:59 CST(-0600)] <mlam> heidi_: i'm not sure what to do here to get access to that branch
[15:37:16 CST(-0600)] <heidi_> yeah something's up
[15:41:54 CST(-0600)] <mlam> heidi_:
[15:55:08 CST(-0600)] <colinclark> heidi_: Still around?
[15:55:31 CST(-0600)] <heidi_> colinclark almost (smile) does what i'm describing above make sense?
[15:55:41 CST(-0600)] <colinclark> let me catch up
[15:56:01 CST(-0600)] <colinclark> heidi_: it sort of makes sense, yes
[15:56:01 CST(-0600)] <colinclark> l
[15:56:05 CST(-0600)] <colinclark> let's screen share
[15:56:10 CST(-0600)] <heidi_> okay
[15:56:19 CST(-0600)] <heidi_> you sharing or me?
[15:56:27 CST(-0600)] <heidi_> skype or ichat?
[15:56:32 CST(-0600)] <colinclark> i can share first if you want, just to show you what i did
[15:56:37 CST(-0600)] <colinclark> and then we can try it on your system
[15:56:41 CST(-0600)] <heidi_> okay
[15:56:41 CST(-0600)] <colinclark> so we'll both share
[15:56:44 CST(-0600)] <colinclark> skype is fine
[15:57:23 CST(-0600)] <Bosmon2> Hi
[15:57:26 CST(-0600)] <mlam> colinclark: can i pop by and see the screen share?
[15:57:27 CST(-0600)] <Bosmon2> So I am trying to do this pull
[15:57:41 CST(-0600)] <colinclark> mlam: I don't think you can share more than one way
[15:57:43 CST(-0600)] <Bosmon2> It seems I can't pull a particular revision... but simply need to pull from yura_'s master as a whole
[15:57:56 CST(-0600)] <Bosmon2> I guess that makes sense, I am really pulling "the whole branch"
[15:57:59 CST(-0600)] <mlam> oh,i meant, can i pop by your office to see what's happening off your screen?
[15:58:11 CST(-0600)] <colinclark> mlam: go for it
[15:58:13 CST(-0600)] <colinclark> c'mon
[15:58:14 CST(-0600)] <Bosmon2> But there is an interesting consequence that it is yura's responsibility to be up to date in his master
[15:59:03 CST(-0600)] <Bosmon2> I guess we don't see in this exercise what happens if he isn't
[15:59:04 CST(-0600)] <Bosmon2> Anyway
[15:59:10 CST(-0600)] <Bosmon2> I have done "step 2" - yura's changes are pushed
[15:59:22 CST(-0600)] <Bosmon2> So, go ahead for steps 3 and subsequent...
[16:00:14 CST(-0600)] <Bosmon2> The network diagram looks funny to me - since "yzen" is not listed as an independent track
[16:00:28 CST(-0600)] <Bosmon2> His repository state appears as part of the general "fluid-project" track
[16:01:35 CST(-0600)] <Bosmon2> So, the github notification message is also not great
[16:01:53 CST(-0600)] <Bosmon2> Given it does not include either the patch itself or Yura's original commit comment
[16:03:04 CST(-0600)] <Bosmon2> Contrary to the way the merge colinclark did - although it changed ownership of all of the patches to himself, it did include all of the changed paths and original commit messages
[16:12:25 CST(-0600)] <heidi_> colinclark i updated
[16:12:33 CST(-0600)] <heidi_> went into /test and ran checkout
[16:12:35 CST(-0600)] <heidi_> and it says
[16:12:37 CST(-0600)] <heidi_> Branch FLUID-4037