uPortal IRC Logs-2011-11-04

[12:38:14 CDT(-0500)] <b-rock> Greetings uPortal devs: I would normally import the uP release into our subversion repository from https://source.jasig.org/uPortal/tags/ . Are you gonna still put a svn tag there or should I just download from https://github.com/Jasig/uPortal/zipball/uportal-4.0.2 ?

[12:39:00 CDT(-0500)] <b-rock> seems like I would only want to make a fork of the master branch on git hub.

[12:39:38 CDT(-0500)] <EricDalquist> you can just grab the tagged download from github

[12:39:48 CDT(-0500)] <EricDalquist> we'll be syncing commits from github to svn

[12:39:54 CDT(-0500)] <b-rock> ok thanks EricDalquist. I'll use that.

[12:39:55 CDT(-0500)] <EricDalquist> but there is no easy way to sync tags

[12:40:14 CDT(-0500)] <b-rock> oh ok. so just the trunk is being synched right now?

[12:40:26 CDT(-0500)] <b-rock> trunk=svn and master=git ?

[12:40:27 CDT(-0500)] <EricDalquist> nothing is being synced yet

[12:40:39 CDT(-0500)] <EricDalquist> yes that is correct trunk == master

[12:40:45 CDT(-0500)] <EricDalquist> but hopefully by the end of the day

[12:41:02 CDT(-0500)] <EricDalquist> we will be syncing master all the 3.x patches branches and the umobile branch

[12:41:22 CDT(-0500)] <EricDalquist> though people are still strongly encouraged to just use the GitHub repository

[12:41:22 CDT(-0500)] <b-rock> oh ok. are you going to do a 4.0 branches ?

[12:41:26 CDT(-0500)] <EricDalquist> yes

[12:41:31 CDT(-0500)] <EricDalquist> there will be a 4.0 patches branch

[12:41:49 CDT(-0500)] <EricDalquist> we generally make that branch the first time work starts on trunk that is for the next minor version

[12:41:50 CDT(-0500)] <b-rock> yeah thats what I think i shoudl be forking. from while we are on 4.0

[12:42:03 CDT(-0500)] <EricDalquist> well you fork an entire git repository

[12:42:07 CDT(-0500)] <EricDalquist> which includes ALL branches

[12:42:18 CDT(-0500)] <b-rock> ok right

[12:49:17 CDT(-0500)] <b-rock> ok. another question before I do this. I can check out the repsotiory from github, but then I want to build from the 4.0.2 tag and not from the master branch. because the master branch may have changes in it post release 4.0.2 that we don't want in the build yet.

[12:49:31 CDT(-0500)] <b-rock> is there a way to do that?

[12:49:43 CDT(-0500)] <EricDalquist> yes

[12:49:52 CDT(-0500)] <EricDalquist> so once you clone the git repository to your local machine

[12:49:53 CDT(-0500)] <EricDalquist> do:

[12:51:24 CDT(-0500)] <EricDalquist> trying to remember the command ... sorry

[12:51:51 CDT(-0500)] <b-rock> np. I know you've posted a bunch of doucment links and stuff as well that I need to catch up with

[12:51:57 CDT(-0500)] <EricDalquist> "git checkout tagname"

[12:52:34 CDT(-0500)] <b-rock> and that checkout is from my copy of the repository and not the one I just cloned from github

[12:52:37 CDT(-0500)] <b-rock> ?

[12:53:23 CDT(-0500)] <EricDalquist> so with git you can't checkout from a remote repository

[12:53:23 CDT(-0500)] <b-rock> rather I'll be checking out from my cloned copy

[12:53:29 CDT(-0500)] <EricDalquist> you make a clone of a remote repository

[12:53:32 CDT(-0500)] <EricDalquist> and then work within that

[12:53:37 CDT(-0500)] <EricDalquist> so within your local clone

[12:53:40 CDT(-0500)] <b-rock> ok that makes sense

[12:53:48 CDT(-0500)] <EricDalquist> do: git checkout uportal-4.0.2

[12:54:10 CDT(-0500)] <EricDalquist> you'll get a warning message like: You are in 'detached HEAD' state. ....

[12:54:29 CDT(-0500)] <EricDalquist> that is essentially telling you that the thing you checked out can't be modified

[12:54:43 CDT(-0500)] <EricDalquist> which makes sense since you don't want to be modifying a tag

[12:56:07 CDT(-0500)] <b-rock> ok. I"m thinkning though that I don't want to commit changes to it but I would like to make mods to the properties and config files so that its using a real databse.

[12:56:32 CDT(-0500)] <EricDalquist> so what are you using for local version control of your portal?

[12:56:44 CDT(-0500)] <b-rock> subversion

[12:56:59 CDT(-0500)] <EricDalquist> the most likely reason you'd want to checkout the tag is to do a vendor branch import into SVN from your local git repo

[12:57:24 CDT(-0500)] <b-rock> ok. that could work.

[12:57:41 CDT(-0500)] <EricDalquist> since unless you're planning on using git for your VCS you don'

[12:57:53 CDT(-0500)] <EricDalquist> t have much reason to be editing things in your local git repo

[12:58:02 CDT(-0500)] <EricDalquist> if you want to use git you can do:

[12:58:09 CDT(-0500)] <EricDalquist> git checkout -b uportal-4.0.2

[12:58:23 CDT(-0500)] <EricDalquist> which creates a new branch in your local repository based on the specified tag

[12:58:31 CDT(-0500)] <EricDalquist> some useful commands when doing this:

[12:58:39 CDT(-0500)] <EricDalquist> list all tags: git tag -l

[12:58:46 CDT(-0500)] <EricDalquist> list all branches: git branch -a

[12:59:15 CDT(-0500)] <b-rock> I"m humbled. thanks for the lessons EricDalquist.

[12:59:24 CDT(-0500)] <EricDalquist> no problem

[12:59:32 CDT(-0500)] <EricDalquist> git is a learning experience for everyone, including me

[12:59:42 CDT(-0500)] <EricDalquist> I'm just trying to keep ahead so I can actually answer questions

[13:01:24 CDT(-0500)] <b-rock> much appreciated. we've had some disucssions in my group here in the office about use cases for trying git but we haven't come up with any yet. This will give me some good practice for learning how we can use it more here

[13:02:10 CDT(-0500)] <EricDalquist> well I think there are some really interesting possibilities for uPortal deployers to use git

[13:02:19 CDT(-0500)] <EricDalquist> but I haven't actually gotten to try anything

[13:02:27 CDT(-0500)] <EricDalquist> in theory I believe you could do the following:

[13:02:51 CDT(-0500)] <EricDalquist> - setup a local git repo hosting server/service just like you have a local SVN server

[13:03:08 CDT(-0500)] <EricDalquist> - fork/clone the Jasig/uPortal git repo into your local git server

[13:03:38 CDT(-0500)] <EricDalquist> - developer then clones Example.edu/uPortal git repo to their development machine

[13:03:56 CDT(-0500)] <EricDalquist> - developer adds Jasig/uPortal as a remote

[13:04:11 CDT(-0500)] <EricDalquist> - developer adds devName/uPortal (their personal github fork) as a remote

[13:04:25 CDT(-0500)] <EricDalquist> so now the developer has the uPortal repository on their machine

[13:04:55 CDT(-0500)] <EricDalquist> with 3 remote links one to their local .edu git repository, one to the main jasig/uPortal repository and one to their personal github fork

[13:05:05 CDT(-0500)] <EricDalquist> you now have some neat options

[13:05:28 CDT(-0500)] <b-rock> thats a lot to soak in.

[13:05:43 CDT(-0500)] <EricDalquist> you can create a branch for your school's version of uPortal from an existing tag or branch (like the uportal-4.0.2 tag)

[13:06:22 CDT(-0500)] <EricDalquist> you can cherry-pick (that is an actual git command) specific commits or merge entire releases into your school's branch directly from the JAsig/uPortal remote link

[13:06:50 CDT(-0500)] <EricDalquist> you can take a new feature you developed locally in a feature branch and push that branch to your github fork

[13:07:00 CDT(-0500)] <b-rock> that sounds interesting.

[13:07:01 CDT(-0500)] <EricDalquist> and then request the feature be pulled into Jasig/uPortal

[13:07:26 CDT(-0500)] <EricDalquist> essentially git would allow you to keep your locally customized uPortal code directly linked to the Jasig/uPortal code base

[13:08:24 CDT(-0500)] <b-rock> my personal goal for the moment is cloning the jasig/uportal to my dev maching and making a branch of the 4.0.2 release from the clone

[13:08:36 CDT(-0500)] <EricDalquist> which sounds quite reasonable

[13:08:58 CDT(-0500)] <b-rock> and I want to try to use eclipse for this if possible. although I've only worked from the command line with git hub so far.

[13:09:00 CDT(-0500)] <EricDalquist> that whole big thing was just a brain dump of ideas that I haven't even tested

[13:09:15 CDT(-0500)] <b-rock> sounds good to me.

[13:09:17 CDT(-0500)] <EricDalquist> as far as I can tell all of the same commands are available via the EGit plugin

[13:09:40 CDT(-0500)] <b-rock> yeah. I'm gonna start with that.

[13:31:57 CDT(-0500)] <b-rock> HI EricDalquist. Do you know if "clone a git repository" in egit / eclipse is the same thing as doing a "fork" of uPortal from the github.com site?

[13:32:18 CDT(-0500)] <EricDalquist> so "fork" is a github specific version of cloning

[13:32:27 CDT(-0500)] <EricDalquist> it is cloning one user's repository into your account

[13:32:55 CDT(-0500)] <b-rock> oh ok.

[13:32:58 CDT(-0500)] <EricDalquist> "clone a git repository" is how you would then get a copy of that fork onto your machine

[13:33:46 CDT(-0500)] <b-rock> do you recommend that over just "clone a git repository" directly from the jasig/uportal project?

[13:34:09 CDT(-0500)] <EricDalquist> so the advantage of having a fork is that you can then push a feature back to your fork

[13:34:24 CDT(-0500)] <EricDalquist> and from there submit a pull request for uPortal to merge that feature

[13:34:51 CDT(-0500)] <EricDalquist> with a direct clone from jasig/uportal unless you have direct commit access to uPortal you have no easy way (other than submitting patches) to submit a patch

[13:34:57 CDT(-0500)] <b-rock> ok I think thats what I would like to do.

[13:35:12 CDT(-0500)] <EricDalquist> so make sure you read through https://wiki.jasig.org/display/UPC/Git+Workflow

[13:35:27 CDT(-0500)] <b-rock> ok I'll take a look at that now.

[13:35:29 CDT(-0500)] <b-rock> thanks

[14:43:22 CDT(-0500)] <EricDalquist> ok ... git to svn syncing should be setup

[15:03:28 CDT(-0500)] <athena> hurray!

[15:04:03 CDT(-0500)] <EricDalquist> the "catch up" commits are ... big: svn log --limit 5 https://source.jasig.org/uPortal

[15:04:13 CDT(-0500)] <EricDalquist> if you're interested at taking a peek (tongue)