<?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>Rails on the Run &#187; svn</title>
	<atom:link href="http://railsontherun.com/tag/svn/feed/" rel="self" type="application/rss+xml" />
	<link>http://railsontherun.com</link>
	<description>Rails experiments by Matt Aimonetti</description>
	<lastBuildDate>Tue, 23 Feb 2010 07:28:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>resolving git-svn conflicts</title>
		<link>http://railsontherun.com/2008/02/29/resolving-git-svn-conflicts/</link>
		<comments>http://railsontherun.com/2008/02/29/resolving-git-svn-conflicts/#comments</comments>
		<pubDate>Fri, 29 Feb 2008 22:40:00 +0000</pubDate>
		<dc:creator>Matt Aimonetti</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[git-svn]]></category>
		<category><![CDATA[repository]]></category>
		<category><![CDATA[scm]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://railsontherun.com/2008/02/29/resolving-git-svn-conflicts</guid>
		<description><![CDATA[I&#8217;ve been using git and git-svn for a little while and never had a problem&#8230; until today. On one of my project, we have a SVN repo but since I prefer using Git, I&#8217;m using git-svn. Git-svn has been great, it let me create my own local branches for each new set of features (that&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using <a href="http://git.or.cz/">git</a> and <a href="http://www.kernel.org/pub/software/scm/git/docs/git-svn.html">git-svn</a> for a little while and never had a problem&#8230; until today.</p>
<p>On one of my <a href="http://gumgum.com">project</a>, we have a SVN repo but since I prefer using Git, I&#8217;m using git-svn.</p>
<p>Git-svn has been great, it let me create my own local branches for each new set of features (that&#8217;s when I don&#8217;t forget to create a branch) and to commit all the changes back to svn.</p>
<p>The problem today happened after I did a simple git-svn rebase. I had some sort of error and my local repo looked like it got reverted to the head of the svn repo&#8230;. </p>
<pre><code>error: patch failed: trunk/app/models/view.rb:1
error: trunk/app/models/view.rb: patch does not apply
[blah blah]
sing index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
</code></pre>
<p>I hadn&#8217;t committed to SVN for 24 hours and had a lot of work that was just checked in locally&#8230; You can imagine the panic.  <a href="http://notch8.com">Rob</a> started digging in the .git repo to finally find the hash representing the latest delta before the rebase. With the help of the #caboose guys, I did a simple</p>
<pre><code>git reset --hard hash-name
</code></pre>
<p>Which restore my repo to the pre SVN commit state. Awesome&#8230; however I still had issues to commit my stuff. After a little while I as able to commit again, worked a bit more and tried to commit again&#8230;. same error <img src='http://railsontherun.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>But this time I noticed I could simply do</p>
<pre><code>git rebase --abort
</code></pre>
<p>to restore the original branch.an </p>
<p>But I still couldn&#8217;t commit properly&#8230; until I discovered that I just needed to fix the conflicts manually using</p>
<pre><code>git-mergetool
</code></pre>
<p>git-mergetool uses whichever merge tool available: kdiff3 tkdiff xxdiff meld gvimdiff opendiff emerge vimdiff filemerge</p>
<p>I fixed my conflicts in no time, then did a </p>
<pre><code>git rebase --continue
</code></pre>
<p>and finally</p>
<pre><code>git-svn dcommit
</code></pre>
<p>Looking back, I wish I knew how to properly deal with conflicts when using git-svn, I wasted a bit of my precious time <img src='http://railsontherun.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />   hopefully this post will help you.</p>
<p>p.s:  <a href="http://brian.maybeyoureinsane.net/blog/2008/01/31/git-sake-tasks/">here</a> is an interesting use of Sake to handle git-svn</p>
]]></content:encoded>
			<wfw:commentRss>http://railsontherun.com/2008/02/29/resolving-git-svn-conflicts/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Lighthouse</title>
		<link>http://railsontherun.com/2007/07/28/why-you-should-seriously-consider-using-lighthouse/</link>
		<comments>http://railsontherun.com/2007/07/28/why-you-should-seriously-consider-using-lighthouse/#comments</comments>
		<pubDate>Sat, 28 Jul 2007 23:55:00 +0000</pubDate>
		<dc:creator>Matt Aimonetti</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[activereload]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[basecamp]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[bug tracking]]></category>
		<category><![CDATA[lighthouse]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://railsontherun.com/2007/07/31/why-you-should-seriously-consider-using-lighthouse</guid>
		<description><![CDATA[is one of my favorite web application of the moment. It got publicly released last April (2007) by the activereload ninjas. Since then, they also released but I&#8217;ll keep that for another post. I&#8217;ve been using Lighthouse for a little while and I have to admit that I was a bit confused at first. I&#8217;d [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.lighthouseapp.com/"><img src="http://farm2.static.flickr.com/1290/931895653_92ab9b4282_o.jpg" alt="lighthouse logo"/></a> is one of my favorite web application of the moment. It got publicly released last April (2007) by the <a href="http://activereload.net/">activereload</a> ninjas.  </p>
<p>Since then, they also released <a href="http://warehouseapp.com/"><img src="http://farm2.static.flickr.com/1338/932922548_576ef7fb11_m.jpg" alt="warehouse"/></a><br/><br />
but I&#8217;ll keep that for another post.</p>
<p>I&#8217;ve been using Lighthouse for a little while and I have to admit that I was a bit confused at first. I&#8217;d like to share with you <strong>why I&#8217;m really pleased with <a href="http://www.lighthouseapp.com/">Lighthouse</a></strong> and <strong>why I think you should consider using it too</strong>.</p>
<p>You have probably figured out, I&#8217;m a little biased. So let me give you my conclusions right away.</p>
<ul>
<li><a href="http://www.lighthouseapp.com/">Lighthouse</a> is <strong>simple</strong> and <strong>efficient</strong>.</li>
<li><a href="http://www.lighthouseapp.com/">Lighthouse</a> is <strong>more than a bug tracker</strong>, it&#8217;s also a <strong>project management application</strong>.</li>
<li><a href="http://www.lighthouseapp.com/">Lighthouse</a> helps you <strong>communicating better</strong> with you clients.</li>
<li><a href="http://www.lighthouseapp.com/">Lighthouse</a> <strong>doesn&#8217;t lack any features</strong> I used in <a href="http://trac.edgewall.org">trac</a>.</li>
<li><a href="http://www.lighthouseapp.com/">Lighthouse</a> helps you <strong>keeping it simple</strong>.</li>
<li><a href="http://www.lighthouseapp.com/">Lighthouse</a> has a <strong>nice UI</strong>.</li>
<li><a href="http://www.lighthouseapp.com/">Lighthouse</a> is really cheap (it&#8217;s not free but almost).</li>
</ul>
<p>The 2 things that threw me off when I switched from <a href="http://trac.edgewall.org">trac</a> to <a href="http://www.lighthouseapp.com/">Lighthouse</a> were:</p>
<ul>
<li>the lack of <strong>integration with Subversion</strong></li>
<li>the weird way of <strong>organizing tickets</strong></li>
</ul>
<p><strong>SVN integration:</strong></p>
<p>So, no <a href="http://www.lighthouseapp.com/">Lighthouse</a> doesn&#8217;t have a repository browser, you would need to use <a href="http://warehouseapp.com/">warehouse</a>, <a href="http://trac.edgewall.org">trac</a>, <a href="http://retrospectiva.org/blog">retrospectiva</a> or another tool. I personally don&#8217;t think there&#8217;s a real need for such a tool, but others might disagree.  However, Lighthouse has a subversion beacon(Beacons are services that can be used to interact with Lighthouse). You can really easily install the beacon on your subversion server and committing code will leave a comment in your ticket, add a tag, change the status etc.. check <a href="http://lighthouseapp.com/tour/source-control-integration">this video</a> to see how it works. That&#8217;s something I never did with Trac and I spent a lot of time editing tickets to mention the changesets related to issue related in the ticket.</p>
<p><strong>SVN integration conclusion: better than expected</strong>  </p>
<p><strong>Organizing tickets:</strong></p>
<p>I like having my tickets well organized. When i switched to Lighhouse and I only had tags to organize my tickets, I felt a bit lost. Actually Lighthouse doesn&#8217;t only have tags, it also has milestones. My milestones are usually really simple: iteration 1, iteration 2, iteration 3, investor demo 1, iteration 4, beta etc&#8230; Milestones aren&#8217;t used to classify tickets but to give them a deadline. So I was still facing an issue since I wanted to organize and prioritize all my user story tickets, bug reports, feature requests etc&#8230; using tag is &#8216;ok&#8217; but finding your tickets later on is a pain. I decided to do something I&#8217;ve been doing with trac for a while: adding a keyword in the topic line. For instance I would create a new ticket like that <strong>[bug] a user can&#8217;t use utf-8 characters in his name</strong>. It worked ok but I was still missing something. What I didn&#8217;t know was that Rick and Justin already thought about that and came up with a simple/cool solution: <a href="http://lighthouseapp.com/tour/ticket-bins">ticket bins</a>. Basically, a ticket is just a pool of tickets sharing the same criteria. Creating a ticket bin is dead simple, search for tickets, save the search criteria. That&#8217;s it.</p>
<p><img src="http://farm2.static.flickr.com/1280/933132130_839046bcd3_o.jpg" alt="ticket bins"/>  </p>
<p>I could now start using my critical, essential, nonessential tags and create bins for them. What I love with bins is that they are not <em>folders</em>. A ticket can be inside many bins. For instance, my critical UI open bug will be in my current bugs bin, critical bugs bin and in my UI bin. (I don&#8217;t actually have a current bugs bin, but you see my point.) </p>
<p>User stories/bug reports/new features can all be entered via the same interface and you don&#8217;t have to worry since they can be easily sorted using your ticket bins.</p>
<p><strong>Organizing tickets conclusion: awesome</strong></p>
<hr/>
<p><strong>What about <a href="http://basecamphq.com/">Basecamp</a>?</strong></p>
<p><a href="http://basecamphq.com/">Basecamp</a> is great but even DHH says it is not meant for managing development projects. Itâ€™s really meant for marketers and managers, in other words: my clients. But you still need a good way of tracking your code, <a href="http://www.lighthouseapp.com/">Lighthouse</a> isn&#8217;t perfect and I wish it had a better support of user stories but it&#8217;s by far the best tool I found so far. Regarding the lack of user stories/criteria support, maybe I&#8217;ll just write my own application and use their beacon interface to integrate both apps together&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://railsontherun.com/2007/07/28/why-you-should-seriously-consider-using-lighthouse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create a Rails Edge / RSpec project</title>
		<link>http://railsontherun.com/2007/06/06/create-a-rails-edge-rspec-project/</link>
		<comments>http://railsontherun.com/2007/06/06/create-a-rails-edge-rspec-project/#comments</comments>
		<pubDate>Wed, 06 Jun 2007 19:34:00 +0000</pubDate>
		<dc:creator>Matt Aimonetti</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[autotest]]></category>
		<category><![CDATA[BDD]]></category>
		<category><![CDATA[edge]]></category>
		<category><![CDATA[growl]]></category>
		<category><![CDATA[hackfest]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[RSpec]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[texmate]]></category>
		<category><![CDATA[zentest]]></category>

		<guid isPermaLink="false">http://railsontherun.com/2007/06/06/create-a-rails-edge-rspec-project</guid>
		<description><![CDATA[Recently I helped few people moving to Rails Edge and start using RSpec. I realized that I learned few tricks and even if for me everything seemed quite simple, things are not that simple when you recently started with Rails. This would work on Mac and Linux, sorry Windows users, you&#8217;ll have to slightly change [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I helped few people moving to <a href="http://dev.rubyonrails.org/">Rails Edge</a> and start using <a href="http://rspec.rubyforge.org">RSpec</a>. I realized that I learned few tricks and even if for me everything seemed quite simple, things are not that simple when you recently started with Rails.</p>
<p>This would work on Mac and Linux, sorry Windows users, you&#8217;ll have to slightly change the code below.</p>
<h1>Live on the Edge</h1>
<p>This is actually a bit tricky but it was very well covered by <a href="http://addictedtonew.com/about/">John Nunemaker</a> in <a href="http://railstips.org/2007/5/31/even-edgier-than-edge-rails">this post</a></p>
<p>To sum John&#8217;s post:</p>
<p>Create a normal rails project:</p>
<pre><code>$ rails my_project
$ cd my_project

$ rake rails:freeze:edge
</code></pre>
<p>(or use checkout edge in the vendor folder)</p>
<pre><code>$ cd ..
$ ruby my_project/vendor/rails/railties/bin/rails my_edgie_project
</code></pre>
<p>You now have have a real Edge project called my<em>edgie</em>project. You can delete the my_project folder since we only used it to create our real edge project.</p>
<p>Now, we are not really done since we need to add the Edge files into our vendor folder so we don&#8217;t use our local rails gem.</p>
<p>I would refer to another post from John, that you can find <a href="http://railstips.org/2007/3/5/my-local-rails-setup">there</a></p>
<pre><code>$ mkdir ~/rails
$ cd ~/rails
$ svn co http://dev.rubyonrails.com/svn/rails/trunk .
</code></pre>
<p>We just created a rails folder called rails in our home folder and we checked out edge/trunk in it.<br />
Now let&#8217;s go in our Rails app and setup a symlink to the trunk folder we just created.</p>
<pre><code>$ cd ~/rails_projects/my_edgie_project
$ ln -s ~/rails/trunk vendor/rails
</code></pre>
<p>If you are using subversion, you can ignore the symlink so it doesnâ€™t try to version it:</p>
<pre><code>$ svn propset svn:ignore "rails" vendor/
$ svn commit -m "using new sweet rails setup as recommended by John Nunemaker"
$ svn up
</code></pre>
<p><a href="http://railstips.org/2007/3/5/my-local-rails-setup">Read more</a> for advanced settings etc&#8230;</p>
<h1>Install RSpec</h1>
<p>Very straight forward, you just need to follow <a href="http://rspec.rubyforge.org/documentation/rails/install.html">the documentation</a></p>
<pre><code>$ cd ~/rails_projects/my_edgie_project
$ ruby script/plugin install svn://rubyforge.org/var/svn/rspec/tags/CURRENT/rspec
$ ruby script/plugin install svn://rubyforge.org/var/svn/rspec/tags/CURRENT/rspec_on_rails
</code></pre>
<p>If you have TextMate, you might want to download the <a href="http://rubyforge.org/frs/?group_id=797">latest RSpec-X.Y.Z.tmbundle.tgz Bundle</a></p>
<p>Next thing you want to do is to install <a href="http://www.zenspider.com/ZSS/Products/ZenTest/">ZenTest</a></p>
<pre><code>$ sudo gem install ZenTest
</code></pre>
<p>Make sure you install all the required packages.</p>
<p>If you are using <a href="http://growl.info/">Growl</a> create a new file called .autotest in your home directory:</p>
<pre><code>$mate ~./autotest
</code></pre>
<p>and add the following 2 lines to be warned when your specs/examples fail/pass</p>
<pre><code>require 'autotest/redgreen'
require 'autotest/growl'
</code></pre>
<p>Now, lets go back to our project and create a model using the rspec scaffold (it uses scaffold_resource generator and create all the specs for you)</p>
<pre><code>$ cd ~/rails_projects/my_edgie_project
$ ruby script/generate rspec_scaffold User first_name:string last_name:string :age:integer
</code></pre>
<p>Now, let&#8217;s start autotest (from zentest) so out code is tested in the background</p>
<pre><code>$ autotest
</code></pre>
<p>There you go, really to modify your RSpec examples, make them fail, fix your code, examples should pass, refactor your code and start again <img src='http://railsontherun.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://railsontherun.com/2007/06/06/create-a-rails-edge-rspec-project/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

