<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog::Quibb &#187; git</title>
	<atom:link href="http://blog.quibb.org/tag/git/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.quibb.org</link>
	<description>Software development and more.</description>
	<lastBuildDate>Tue, 10 Aug 2010 14:11:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Passing Parameters Between Builds in Hudson</title>
		<link>http://blog.quibb.org/2010/04/passing-parameters-between-builds-in-hudson/</link>
		<comments>http://blog.quibb.org/2010/04/passing-parameters-between-builds-in-hudson/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 03:06:23 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://blog.quibb.org/?p=192</guid>
		<description><![CDATA[In my last post, I talked about setting up Hudson to run nightly benchmarks.  While trying to take that to the next step, and get nightly benchmarks recorded in a graph, I discovered that passing parameters between builds may not be as easy as it originally seemed.  If you&#8217;re using the Hudson Parameterized Trigger plugin, [...]]]></description>
			<content:encoded><![CDATA[<p>In my last post, I talked about setting up <a title="Hudson" href="http://hudson-ci.org/">Hudson</a> to run nightly benchmarks.  While trying to take that to the next step, and get nightly benchmarks recorded in a graph, I discovered that passing parameters between builds may not be as easy as it originally seemed.  If you&#8217;re using the Hudson <a title="Parameterized Trigger Plugin" href="http://wiki.hudson-ci.org/display/HUDSON/Parameterized+Trigger+Plugin">Parameterized Trigger plugin</a>, that gets you part of the way to passing parameters between builds, but I was left wanting more flexibility than it offered.</p>
<p>I wanted to set environment variables with an Execute Shell step, and then be able to pass them as parameters to the benchmarks build.  I wanted to pass the git commit id and timestamp to the benchmarks build for recording.  The <a title="Git SCM Plugin" href="http://wiki.hudson-ci.org/display/HUDSON/Git+Plugin">Git SCM Plugin</a> doesn&#8217;t provide that information to Hudson.  The Parameterized Trigger plugin is able to handle environment variables that are set by Hudson itself.  However, when trying to set them in the Execute Shell step, it didn&#8217;t pick up the newly set environment variables.  At this point I looked through the available options.  I saw that I could set the Parameterized Trigger to read from a parameters file.  I tried writing out a parameters file from the Execute Shell section, and reading it in using the Parameterized Trigger plugin.  Success!</p>
<p>Here are the commands I used to write out the properties file:</p>
<pre>echo "COMMIT_ID=$(git rev-parse HEAD)" &gt; params.properties
echo "COMMIT_TIME=$(git log -1 --pretty=\"format:%ad\")" &gt;&gt; params.properties</pre>
<p>In the end, it worked out pretty well.  After these commands are run, a params.properties file is created.  The Parameterized Trigger plugin is setup to read params.properties, and the information moves on to the next build.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.quibb.org/2010/04/passing-parameters-between-builds-in-hudson/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Getting Started with Git (and the Hub)</title>
		<link>http://blog.quibb.org/2009/01/getting-started-with-git-and-the-hub/</link>
		<comments>http://blog.quibb.org/2009/01/getting-started-with-git-and-the-hub/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 02:30:01 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[source control]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://blog.quibb.org/?p=23</guid>
		<description><![CDATA[I&#8217;m very new to Git, but I find some of its features interesting and worth a post about.  This is possibly a part 1 of more to come as I learn more about Git and how to use it effectively.  The comments below are made with having mostly used SVN in the past for source [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m very new to Git, but I find some of its features interesting and worth a post about.  This is possibly a part 1 of more to come as I learn more about Git and how to use it effectively.  The comments below are made with having mostly used SVN in the past for source control.</p>
<p><strong>Features (that appeal to me):</strong></p>
<p>These features are of DVCS in general, Bisect may be git specific.</p>
<ul>
<li><em>Local Commits</em> &#8211; Even if you don&#8217;t have access to the repository, you&#8217;re still able to commit to your local copy.  So even without commit access, you still have all the tools a cm system provides available to you.</li>
<li><em>Entire revision history stored locally</em>. &#8211; Let&#8217;s face it, hard drive space it cheap these days, and network hiccups happen from time to time.  It&#8217;s nice to be able to have your revision history there when you need it.  With SVN, without a path to the server there is little you can do.</li>
<li><em>Bisect</em> &#8211; While I haven&#8217;t used this, it seems like a very interesting feature.  It allows you to specify a start and a stop revision.  It then helps you track down when a bug was introduced.  I may include something more about this after I&#8217;ve used it, but it still looks like an interesting feature.</li>
</ul>
<p><strong>Starting out:</strong></p>
<p>Make sure you have git installed before starting here.  I&#8217;m assuming git is installed, and you are a little familiar with the commands.  Here are some links to some excellent resources to get you started if you&#8217;re not at that point yet:</p>
<ul>
<li><a title="http://git.or.cz/gitwiki/GitCheatSheet" href="http://git.or.cz/gitwiki/GitCheatSheet">http://git.or.cz/gitwiki/GitCheatSheet</a>
<ul>
<li>When starting out with any new command line tool, I see if there is a cheatsheet online for it.  It&#8217;s always good to help you get acquainted with some of the commands.  In general, a good starting point.</li>
</ul>
</li>
<li><a title="http://gitready.com/" href="http://gitready.com/">http://gitready.com/</a>
<ul>
<li>This is a really cool resource I found while on my adventures in git.  It helped me figure out how to revert files, which wasn&#8217;t entirely clear from the commands.</li>
</ul>
</li>
<li><a title="http://git-scm.com/course/svn.html" href="http://git-scm.com/course/svn.html">http://git-scm.com/course/svn.html</a>
<ul>
<li>It was useful to see some of the svn commands that I&#8217;m used to, and their git counterparts.</li>
</ul>
</li>
</ul>
<p>Well, now that you&#8217;re somewhat familiar with git, let&#8217;s get started on with github.  Now, the main reason for posting this is because as a new user it didn&#8217;t seem that clear what I need to do to actually push to a repository.  After you&#8217;ve been given access to, or created, a github repository, you must set your username and email for github to use.</p>
<p>Instructions on that can be found here: <a title="http://github.com/guides/tell-git-your-user-name-and-email-address" href="http://github.com/guides/tell-git-your-user-name-and-email-address">http://github.com/guides/tell-git-your-user-name-and-email-address</a></p>
<p>Now, here is the part that really wasn&#8217;t clear to me.  You need to setup an ssh key to github as part of their authentication.  I don&#8217;t know if this is correct, but I think of this as a layer of encryption that happens to make sure my files get to github unaltered. (similar to PGP for email)</p>
<p>Instructions for this can be found here: <a title="http://github.com/guides/providing-your-ssh-key" href="http://github.com/guides/providing-your-ssh-key">http://github.com/guides/providing-your-ssh-key</a></p>
<p>Now that you&#8217;re all setup, you&#8217;re ready to do some commits and then a push to the server.  Have fun in the world of git.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.quibb.org/2009/01/getting-started-with-git-and-the-hub/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
