<?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>EclipseSource Blog &#187; git</title>
	<atom:link href="http://eclipsesource.com/blogs/tag/git/feed/" rel="self" type="application/rss+xml" />
	<link>http://eclipsesource.com/blogs</link>
	<description>Eclipse Equinox OSGi</description>
	<lastBuildDate>Fri, 03 Feb 2012 17:54:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>You don&#8217;t have to use git to access code on github</title>
		<link>http://eclipsesource.com/blogs/2011/06/10/you-dont-have-to-use-git-to-access-code-on-github/</link>
		<comments>http://eclipsesource.com/blogs/2011/06/10/you-dont-have-to-use-git-to-access-code-on-github/#comments</comments>
		<pubDate>Fri, 10 Jun 2011 15:37:23 +0000</pubDate>
		<dc:creator>Holger Staudacher</dc:creator>
				<category><![CDATA[syndicate]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[egit]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[GitHub]]></category>

		<guid isPermaLink="false">http://eclipsesource.com/blogs/?p=5965</guid>
		<description><![CDATA[I guess a lot of people would agree that github is the current kick-ass platform for developing software. Many platforms showed up fast and with the same speed they disappeared. Github is different. It&#8217;s also genuinely innovative. For several months I use github to share small projects (widgets, tools, small plug-ins). When I write a [...]]]></description>
			<content:encoded><![CDATA[<p>I guess a lot of people would agree that <a href="http://github.com">github</a> is the current kick-ass platform for developing software. Many platforms showed up fast and with the same speed they disappeared. Github is different. It&#8217;s also genuinely innovative. For several months I use <a href="http://github.com">github</a> to share small projects (widgets, tools, small plug-ins). When I write a blog about something new I always link the associated github repository.</p>
<p>A few days ago some people mentioned to me that it&#8217;s great that the sources from my posts are open but they can&#8217;t install git on their machines due to security restrictions in their company. They aren&#8217;t even allowed to install <a href="http://eclipse.org/egit">egit</a> as an Eclipse plug-in. But there is  good news. <strong>You don&#8217;t have to use git when you want to get sources from github</strong>. You can download every branch from every (public) github repository without git. When you browse to a repository you can simply press the download button on the right and download the latest version of the repository as zip or tar.gz. Is this simple? As I said, it&#8217;s a kick-ass platform <img src='http://eclipsesource.com/blogs/wp-includes/images/smilies/icon_wink.gif' alt="icon wink You dont have to use git to access code on github" class='wp-smiley' title="You dont have to use git to access code on github" /> </p>
<p style="text-align: center;"><a href="http://eclipsesource.com/blogs/wp-content/uploads/2011/06/github.png"><img class="aligncenter size-full wp-image-5966" title="github" src="http://eclipsesource.com/blogs/wp-content/uploads/2011/06/github.png" alt="github You dont have to use git to access code on github" width="666" height="319" /></a></p>
<p style="text-align: center;">&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://eclipsesource.com/blogs/2011/06/10/you-dont-have-to-use-git-to-access-code-on-github/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Git Lesson: Be mindful of a detached head</title>
		<link>http://eclipsesource.com/blogs/2011/05/29/life-lesson-be-mindful-of-a-detached-head/</link>
		<comments>http://eclipsesource.com/blogs/2011/05/29/life-lesson-be-mindful-of-a-detached-head/#comments</comments>
		<pubDate>Sat, 28 May 2011 22:09:36 +0000</pubDate>
		<dc:creator>Ian Bull</dc:creator>
				<category><![CDATA[eclipse]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[syndicate]]></category>
		<category><![CDATA[egit]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://eclipsesource.com/blogs/?p=5854</guid>
		<description><![CDATA[A severed head is never fun, and in git this is no different. In fact, a detached head can cause quite the headache.  In this article I will discuss what a detached head is, how it can happen, and most importantly, what you can do about it.  But before I begin, let&#8217;s rehash a bit [...]]]></description>
			<content:encoded><![CDATA[<p>A severed head is never fun, and in git this is no different. In fact, a detached head can cause quite the <em>headache</em>.  In this article I will discuss what a <strong>detached head</strong> is, how it can happen, and most importantly, what you can do about it.  But before I begin, let&#8217;s rehash a bit about how git works.</p>
<p><strong>A git repository is a direct acyclic graph of commits</strong>.  Here is a very simple git repository.</p>
<p><img class="aligncenter" src="https://docs.google.com/drawings/pub?id=14UlGSKKQhvK0EsWcpKC-BbYShPeX6q5ApzfEtWiiYtU&amp;w=923&amp;h=472" alt=" Git Lesson: Be mindful of a detached head" width="738" height="378" title="Git Lesson: Be mindful of a detached head" /></p>
<p>In the EGit history view it would look like this:</p>
<p style="text-align: center;"><a href="http://eclipsesource.com/blogs/wp-content/uploads/2011/05/screenshot_078.png"><img class="aligncenter size-full wp-image-5857" title="screenshot_078" src="http://eclipsesource.com/blogs/wp-content/uploads/2011/05/screenshot_078.png" alt="screenshot 078 Git Lesson: Be mindful of a detached head" width="571" height="207" /></a></p>
<p>Now, let&#8217;s assume that <strong>core</strong> and <strong>ui bugs</strong> (commits E and F) were not actually bugs, but rather <strong>controversial design decisions. </strong>And the the <strong>fixes</strong> broke other parts of the application.  After a quick meeting, someone suggests a new way of addressing the problems that will make everyone happy. One problem, they&#8217;re not sure if it will actually work.   Since they are using git, they <strong>checkout</strong> the code before the controversial bugs were addressed (Commit B) and they start hacking away.  Now here&#8217;s the crux of the problem<strong>: a branch is a linear set of commits, so where do these new commits live?</strong> The truth is, head is not actually <em>visible </em>from any branch now.  This is a <strong>detached head.</strong></p>
<p>&nbsp;</p>
<p><img class="aligncenter" src="https://docs.google.com/drawings/pub?id=1WVDJjLBcZTHmDmw1sYGhfAE5GNxPXpSTn_FnZm1K2OM&amp;w=960&amp;h=720" alt=" Git Lesson: Be mindful of a detached head" width="768" height="456" title="Git Lesson: Be mindful of a detached head" /></p>
<p>In the EGit history view you can see you have no head.</p>
<p style="text-align: center;"><a href="http://eclipsesource.com/blogs/wp-content/uploads/2011/05/screenshot_079.png"><img class="aligncenter size-full wp-image-5858" title="screenshot_079" src="http://eclipsesource.com/blogs/wp-content/uploads/2011/05/screenshot_079.png" alt="screenshot 079 Git Lesson: Be mindful of a detached head" width="661" height="246" /></a></p>
<p>The good news is that you can quickly fix this problem by creating a new branch.  In egit, this is as simple as <strong>Team -&gt; Switch To -&gt; New Branch.</strong> Now, all these &#8216;detached commits&#8217; will live on the new branch (new_idea).</p>
<p><img class="aligncenter" src="https://docs.google.com/drawings/pub?id=1V627ASprYbZwxUVH4o0VtHLW0BAQN2xqjqGZih_OOF8&amp;w=937&amp;h=560" alt=" Git Lesson: Be mindful of a detached head" width="749" height="448" title="Git Lesson: Be mindful of a detached head" /></p>
<p>You can now see the new commits (and new branch) in the EGit history view:</p>
<p style="text-align: center;"><a href="http://eclipsesource.com/blogs/wp-content/uploads/2011/05/screenshot_080.png"><img class="aligncenter size-full wp-image-5859" title="screenshot_080" src="http://eclipsesource.com/blogs/wp-content/uploads/2011/05/screenshot_080.png" alt="screenshot 080 Git Lesson: Be mindful of a detached head" width="661" height="234" /></a></p>
<p>What if you accidentally  switched branches while you were on a detached head.  At this point, there is no way to access the commits because they are not attached to any branch. Luckily, git remembers all the commits, even the ones that happened while your head was detached.  Simply drop the command line and issue: <strong>git reflog</strong></p>
<p style="text-align: center;"><strong><a href="http://eclipsesource.com/blogs/wp-content/uploads/2011/05/screenshot_081.png"><img class="aligncenter size-full wp-image-5860" title="screenshot_081" src="http://eclipsesource.com/blogs/wp-content/uploads/2011/05/screenshot_081.png" alt="screenshot 081 Git Lesson: Be mindful of a detached head" width="598" height="208" /></a><br />
</strong></p>
<p>You can now see the missing commits.  If you return to Eclipse and use <strong>Navigate -&gt; Open Git Commit </strong>you can open the commit 73df399</p>
<p style="text-align: center;"><a href="http://eclipsesource.com/blogs/wp-content/uploads/2011/05/screenshot_082.png"><img class="aligncenter size-full wp-image-5861" title="screenshot_082" src="http://eclipsesource.com/blogs/wp-content/uploads/2011/05/screenshot_082.png" alt="screenshot 082 Git Lesson: Be mindful of a detached head" width="485" height="405" /></a></p>
<p style="text-align: left;">And directly create a branch from here</p>
<p style="text-align: center;"><a href="http://eclipsesource.com/blogs/wp-content/uploads/2011/05/screenshot_083.png"><img class="aligncenter size-full wp-image-5862" title="screenshot_083" src="http://eclipsesource.com/blogs/wp-content/uploads/2011/05/screenshot_083.png" alt="screenshot 083 Git Lesson: Be mindful of a detached head" width="618" height="170" /></a></p>
<p>Another very common way to <em>lose your head</em> is to checkout a remote branch. Again, if you checkout a remote branch, immediately create a new local branch for your new commits; otherwise you&#8217;ll be working with a detached head.</p>
<p>There is more information about detached heads <a href="http://sitaramc.github.com/concepts/detached-head.html">here</a>.  Remember, don&#8217;t fight your tools<em>, </em>just <strong><em>git &#8216;er done</em></strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://eclipsesource.com/blogs/2011/05/29/life-lesson-be-mindful-of-a-detached-head/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>How to blog using GitHub and Eclipse</title>
		<link>http://eclipsesource.com/blogs/2011/04/05/how-to-blog-using-github-and-eclipse/</link>
		<comments>http://eclipsesource.com/blogs/2011/04/05/how-to-blog-using-github-and-eclipse/#comments</comments>
		<pubDate>Tue, 05 Apr 2011 12:05:12 +0000</pubDate>
		<dc:creator>Holger Staudacher</dc:creator>
				<category><![CDATA[eclipse]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[egit]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[GitHub Pages]]></category>
		<category><![CDATA[jekyll]]></category>
		<category><![CDATA[soc]]></category>

		<guid isPermaLink="false">http://eclipsesource.com/blogs/?p=5693</guid>
		<description><![CDATA[If this is not the first post by me that you’re reading, you may know that I try to blog regularly. Previously, I had 2 or 3 private blogs which, you also might know, were not that successful . Since I started at EclipseSource, I publish on our company blog. Anyway, I started my first [...]]]></description>
			<content:encoded><![CDATA[<p>If this is not the first post by me that you’re reading, you may know that <a href="http://eclipsesource.com/blogs/author/hstaudacher/">I try to blog regularly</a>.  Previously, I had 2 or 3 private blogs which, you also might know, were not that successful <img src='http://eclipsesource.com/blogs/wp-includes/images/smilies/icon_wink.gif' alt="icon wink How to blog using GitHub and Eclipse" class='wp-smiley' title="How to blog using GitHub and Eclipse" /> . Since I started at <a href="http://eclipsesource.com">EclipseSource</a>, I publish on our <a href="http://eclipsesource.com/blogs">company blog</a>.</p>
<p>Anyway, I started my first blog 5 years ago and used some horrible, long forgotten php software. For my other blogs and the EclipseSource blog, <a href="http://wordpress.org/">WordPress</a> is used. WordPress is probably the winner when it comes to blogging software. It&#8217;s widely accepted and heavily used by thousands of bloggers. While I like WordPress a lot, it has some drawbacks. Currently I&#8217;m sitting in the train writing this post and what tool do I use? A simple <a href="http://www.barebones.com/products/textwrangler/">Text Editor</a>. When I arrive at my company I have to paste this post into our WordPress, do a little formatting and publish it. What I really miss in this workflow with the text editior is the history of the post.</p>
<p>As a developer I like trying out the new stuff. As a result I&#8217;ve been using Git for a while now and I&#8217;m quite happy with it. I&#8217;m also an <a href="http://eclipse.org">Eclipse</a> committer and the Eclipse IDE is my home. Thanks to my colleagues I&#8217;m quite quick with all the shortcuts in the IDE. So, using the IDE as my blog editor and Git as the version control system (aka. history) would feel quite natural to me. But, how can we do this?</p>
<p><a title="github pages" href="http://pages.github.com/"><img class="alignleft size-full wp-image-5696" title="pages" src="http://eclipsesource.com/blogs/wp-content/uploads/2011/04/pages.png" alt="pages How to blog using GitHub and Eclipse" width="218" height="72" /></a>Luckily there is <a href="http://github.com">GitHub</a>, probably your choice also for a Git hosting service too. Anyone can create a public Git repository for free. In the same way as WordPress is the winner for blog systems, GitHub is the winner when it comes to Git hosting services. What is less well known is that GitHub provides another service called <a href="http://pages.github.com/">GitHub pages</a>. With pages you can use a Git repository to publish web contents. All you need to do is create a Git repository with a special naming (your-username.github.com) and everything pushed to this repository will be published under http://your-username.github.com (also good for publishing p2 repositories).</p>
<p>What the <a href="http://github.com">GitHub</a> folks have also implemented is a <a href="http://jekyllrb.com/">Jekyll</a> integration. <a href="https://github.com/mojombo/jekyll/">Jekyll</a> is a blog system that transforms your articles using static templates. You can add a blog post by adding a text file. After writing your posts, all you have to do is push the files to your GitHub pages repository and GitHub automatically starts the Jekyll transformation to create the blog. Isn&#8217;t this awesome? You get a blog system with Git as a history and a web hoster for free &#8211; in one provider <img src='http://eclipsesource.com/blogs/wp-includes/images/smilies/icon_wink.gif' alt="icon wink How to blog using GitHub and Eclipse" class='wp-smiley' title="How to blog using GitHub and Eclipse" /> .</p>
<p>How does <a href="http://eclipse.org">Eclipse</a> come into the game? After cloning your repository to a local destination you can use linked workspace resources to edit the blog post in your IDE. All you have to do is create a new project and change the location to your Git repository root (see screenshot below).</p>
<p><a href="http://eclipsesource.com/blogs/wp-content/uploads/2011/04/projectWizard.png"><img class="aligncenter size-full wp-image-5700" title="projectWizard" src="http://eclipsesource.com/blogs/wp-content/uploads/2011/04/projectWizard.png" alt="projectWizard How to blog using GitHub and Eclipse" width="526" height="502" /></a></p>
<p>After editing your posts you have the option to use <a href="http://eclipse.org/egit">EGit</a> (the Eclipse Git Integration) to push your changes to GitHub (don&#8217;t forget to share the project). The only piece missing is an Eclipse Jekyll integration (GSoC Students where are you?). With this I mean, when I save or commit a local blog post, it would be nice if a Jekyll transformation could be triggered to provide a local preview of the blog. Currently I do this by executing a command on the shell.</p>
<p>I’ve decided already that when I have to create a new blog I will use this technique. If you are not convinced yet, check out these <a href="https://github.com/mojombo/jekyll/wiki/Sites">example blogs which use GitHub and Jekyll</a>.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://eclipsesource.com/blogs/2011/04/05/how-to-blog-using-github-and-eclipse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Git Support, Top Eclipse Helios Feature #2</title>
		<link>http://eclipsesource.com/blogs/2010/06/22/git-support-eclipse-helios-feature-2/</link>
		<comments>http://eclipsesource.com/blogs/2010/06/22/git-support-eclipse-helios-feature-2/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 04:16:54 +0000</pubDate>
		<dc:creator>Ian Bull</dc:creator>
				<category><![CDATA[eclipse]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[syndicate]]></category>
		<category><![CDATA[egit]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[helios]]></category>
		<category><![CDATA[jgit]]></category>

		<guid isPermaLink="false">http://eclipsesource.com/blogs/?p=4411</guid>
		<description><![CDATA[Only 1 more day until Eclipse Helios is release and we are down to my Top 2 features. Over the life of Eclipse (Jeff McAffer tells me that he&#8217;s been working on Eclipse since 1999) a lot has changed. Eclipse started its life inside OTI/IBM. In November 2001 the Eclipse Consortium was announced and Eclipse [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://eclipsesource.com/blogs/2010/06/21/emf-riena-and-rap-integration-top-eclipse-helios-feature-3/">Only 1 more</a> <a href="http://eclipsesource.com/blogs/2010/06/18/mpc_eclipse_helios_feature_4/">day until</a> <a href="http://eclipsesource.com/blogs/2010/06/17/p2-api-and-the-b3-aggregator-top-eclipse-helios-feature-5/">Eclipse Helios</a> <a href="http://eclipsesource.com/blogs/2010/06/16/target-platform-improvements-top-eclipse-helios-feature-6/">is release and</a> <a href="http://eclipsesource.com/blogs/2010/06/15/java-ide-improvements-top-eclipse-helios-feature-7/">we are</a> <a href="http://eclipsesource.com/blogs/2010/06/14/api_tools_top_eclipse_helios_feature_8/">down to</a> <a href="http://eclipsesource.com/blogs/2010/06/11/feature-based-configurations-top-eclipse-helios-feature-9/">my Top</a> <a href="http://eclipsesource.com/blogs/2010/06/10/resource-improvements-helios-feature-10/">2 features</a>.</p>
<p>Over the life of Eclipse (Jeff McAffer tells me that he&#8217;s been working on Eclipse since 1999) a lot has changed. Eclipse started its life inside OTI/IBM.  In November 2001 the <a href="http://www.eclipse.org/org/pr.html">Eclipse Consortium</a> was announced and <a href="http://wiki.eclipse.org/FAQ_Where_did_Eclipse_come_from%3F">Eclipse was released as &#8216;Open Source&#8217;</a>.  For the next few years Eclipse grew, but was still mostly supported by a few large companies.  New projects were proposed, new committers came on board, and Eclipse became the dominate player in the IDE space.  But as the popularity of Eclipse grew, so did its diversification.  Then in April 2010, <a href="http://intellectualcramps.blogspot.com/2010/04/roll-up-your-sleevesand-pitch-in.html">David Carver</a> noticed that the number of active individual committers (those not associated with any particular company) was tied with IBM for the top spot.</p>
<p><a href="http://eclipsesource.com/blogs/wp-content/uploads/2010/06/Committers.png"><img class="aligncenter size-full wp-image-4412" title="Committers" src="http://eclipsesource.com/blogs/wp-content/uploads/2010/06/Committers.png" alt="Committers Git Support, Top Eclipse Helios Feature #2" width="939" height="417" /></a></p>
<p><em>What does all this mean and what does this have to do with the Eclipse Helios release</em>?  Well, as Eclipse continues to diversify, the Eclipse foundation will need a software revision control system that supports this diversification.  The Eclipse Helios release marks the beginning of this transformation. Number 2 on my Top 10 List is: <strong>Git Support at Eclipse</strong>.</p>
<p>Three important components make up the Git support at Eclipse: <strong>JGit</strong>, <strong>EGit</strong> and the <strong>Git Infrastructure.</strong> JGit is a pure Java library implementation of Git version control system.  JGit is licensed under the EDL has a number of users, including the Netbeans Git support.</p>
<p>EGit is the Eclipse tooling, and is build on JGit.  There is currently support for a number of Git features:</p>
<p><a href="http://eclipsesource.com/blogs/wp-content/uploads/2010/06/Egitmenu-0.8.0.png"><img class="aligncenter size-full wp-image-4413" title="Egitmenu-0.8.0" src="http://eclipsesource.com/blogs/wp-content/uploads/2010/06/Egitmenu-0.8.0.png" alt="Egitmenu 0.8.0 Git Support, Top Eclipse Helios Feature #2" width="684" height="775" /></a></p>
<p><strong>History view:</strong></p>
<p><a href="http://eclipsesource.com/blogs/wp-content/uploads/2010/06/Egit-0.8-history-view.png"><img class="aligncenter size-full wp-image-4414" title="Egit-0.8-history-view" src="http://eclipsesource.com/blogs/wp-content/uploads/2010/06/Egit-0.8-history-view.png" alt="Egit 0.8 history view Git Support, Top Eclipse Helios Feature #2" width="813" height="467" /></a></p>
<p><strong>Repository View:</strong></p>
<p><a href="http://eclipsesource.com/blogs/wp-content/uploads/2010/06/Egitrepositoriesview.png"><img class="aligncenter size-full wp-image-4415" title="Egitrepositoriesview" src="http://eclipsesource.com/blogs/wp-content/uploads/2010/06/Egitrepositoriesview.png" alt="Egitrepositoriesview Git Support, Top Eclipse Helios Feature #2" width="684" height="364" /></a></p>
<p><strong>Patch Support:</strong></p>
<p><a href="http://eclipsesource.com/blogs/wp-content/uploads/2010/06/PatchContextMenu.png"><img class="aligncenter size-full wp-image-4416" title="PatchContextMenu" src="http://eclipsesource.com/blogs/wp-content/uploads/2010/06/PatchContextMenu.png" alt="PatchContextMenu Git Support, Top Eclipse Helios Feature #2" width="791" height="337" /></a></p>
<p>The JGit / EGit team has <a href="http://wiki.eclipse.org/EGit/User_Guide">excellent documentation</a> and there is some <a href="http://wiki.eclipse.org/EGit/Git_For_Eclipse_Users">great information on Git in general</a>.  Git is being worked on by Matthias Sohn, Shawn Pearce, Chris Aniszczyk, Mathias Kinzler, Stefan Lay, Robin Rosenberg and Christian Halstrick.  However, a really big thank-you goes out to the past (and present) committer reps for bringing Git to Eclipse.  The initial Git contribution provided a number of unique licensing challenges that required unanimous approval from the Eclipse board of directors.  Git at Eclipse would not have been possible without their hard work.</p>
<p>In addition to the tool support, Eclipse.org has rolled out Git infrastructure for the community to make use of. There are <a href="http://dev.eclipse.org/git/index.html">Git mirrors for Eclipse projects</a> and even Git repositories that some projects have started to migrate too. The big thank-you goes out to Denis Roy and Wayne Beaton for this.  Git really is the future of Eclipse, and if all goes as planned, Git will be on my Top 10 List again next year.</p>
]]></content:encoded>
			<wfw:commentRss>http://eclipsesource.com/blogs/2010/06/22/git-support-eclipse-helios-feature-2/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Eclipse DemoCamp 2010 in Mannheim</title>
		<link>http://eclipsesource.com/blogs/2010/04/22/eclipse-democamp-2010-in-mannheim/</link>
		<comments>http://eclipsesource.com/blogs/2010/04/22/eclipse-democamp-2010-in-mannheim/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 17:49:23 +0000</pubDate>
		<dc:creator>Benjamin Muskalla</dc:creator>
				<category><![CDATA[eclipse]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[syndicate]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[democamp]]></category>
		<category><![CDATA[eclipseRT]]></category>
		<category><![CDATA[egit]]></category>
		<category><![CDATA[equinox]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[helios]]></category>
		<category><![CDATA[roo]]></category>
		<category><![CDATA[talks]]></category>

		<guid isPermaLink="false">http://eclipsesource.com/blogs/?p=4009</guid>
		<description><![CDATA[Ever been to Mannheim? If not &#8211; this is your chance to visit this lovely city. For the Helios release, the guys behind the majug² (Mannheimer Java user Group) invite everybody to the Helios Democamp in June. And as Ian already found out: Yes, we love our DemoCamps! It&#8217;s always great to have technical discussions over a [...]]]></description>
			<content:encoded><![CDATA[<p>Ever been to <a href="http://www.mannheim.de/">Mannheim</a>? If not &#8211; this is your chance to visit this lovely city. For the Helios release, the guys behind the <a href="http://www.majug.de">majug²</a> (Mannheimer Java user Group) invite everybody to the Helios <a href="http://wiki.eclipse.org/Eclipse_DemoCamps_Helios_2010/Mannheim">Democamp</a> in June. And as <a href="http://ianskerrett.wordpress.com/">Ian</a> already <a href="http://twitter.com/IanSkerrett/status/12101160817">found out</a>: Yes, we love our DemoCamps! It&#8217;s always great to have technical discussions over a frosty beverage!</p>
<div class="wp-caption alignnone" style="width: 432px"><a href="http://www.flickr.com/photos/lamouroux/2455008482/"><img title="Watertower Mannheim" src="http://farm3.static.flickr.com/2055/2455008482_b1def65090.jpg" alt="2455008482 b1def65090 Eclipse DemoCamp 2010 in Mannheim" width="422" height="500" /></a><p class="wp-caption-text">Watertower by flamouroux</p></div>
<p>At the moment, the attendee list is still pretty empty but <a href="http://wiki.eclipse.org/Eclipse_DemoCamps_Helios_2010/Mannheim#Who_Is_Attending">save yourself</a> a seat while it&#8217;s not booked out &#8211; they only have 100 seats available. Topics this year include <a href="http://eclipse.org/egit">EGit</a>, <a href="http://www.eclipse.org/rt/">EclipseRT</a>, <a href="http://www.android.com/">Android</a> and <a href="http://www.springsource.org/roo">Roo</a>. Do you think a cool topic is missing? Step up and give a demo about what you&#8217;re doing! I&#8217;m really looking forward to see more demos of how people use Eclipse as IDE or runtime.</p>
<p><a href="http://wiki.eclipse.org/Eclipse_DemoCamps_Helios_2010"><img class="alignnone" title="DemoCamp" src="http://wiki.eclipse.org/images/8/89/Eclipse-camp.gif" alt="Eclipse camp Eclipse DemoCamp 2010 in Mannheim" width="90" height="76" /></a></p>
<p>Hope to see you there for another great DemoCamp and ad-hoc Stammtisch!</p>
]]></content:encoded>
			<wfw:commentRss>http://eclipsesource.com/blogs/2010/04/22/eclipse-democamp-2010-in-mannheim/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Helios M6 RCP package</title>
		<link>http://eclipsesource.com/blogs/2010/03/19/helios-m6-rcp-package/</link>
		<comments>http://eclipsesource.com/blogs/2010/03/19/helios-m6-rcp-package/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 08:00:23 +0000</pubDate>
		<dc:creator>Markus Knauer</dc:creator>
				<category><![CDATA[eclipse]]></category>
		<category><![CDATA[syndicate]]></category>
		<category><![CDATA[egit]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[helios]]></category>
		<category><![CDATA[rap]]></category>
		<category><![CDATA[rcp]]></category>

		<guid isPermaLink="false">http://eclipsesource.com/blogs/?p=3912</guid>
		<description><![CDATA[The new EPP packages for Helios M6 are uploaded to the download area and just need some more hours to be distributed to the Eclipse download mirrors until we can make them available for the public from eclipse.org/downloads. The mirroring is important, because otherwise the eclipse.org uplink would be entirely saturated and no one could [...]]]></description>
			<content:encoded><![CDATA[<p>The new EPP packages for Helios M6 are uploaded to the download area and just need some more hours to be distributed to the Eclipse download mirrors until we can make them available for the public from eclipse.org/downloads. The mirroring is important, because otherwise the eclipse.org uplink would be entirely saturated and no one could get the Helios M6 bits in time before EclipseCon.</p>
<p>In the meantime, I&#8217;d like to highlight some additions that I recently did as a package maintainer of the <strong>RCP package</strong>. (If you don&#8217;t know what a package maintainer is you should consider joining my talk on Monday about &#8216;<a title="Building EPP Packages" href="http://www.eclipsecon.org/2010/sessions/?page=sessions&amp;id=1398" target="_blank">Building EPP packages</a>&#8216;.)</p>
<ul>
<li><a title="git" href="http://git-scm.com/" target="_blank">git</a> is becoming more and more popular at Eclipse and <a href="http://www.eclipse.org/egit/" target="_blank">EGit</a> is always one of the first plug-ins that I am installing whenever I unpack a new Eclipse milestone on my computer. The logical step: Include EGit in my RCP package because I think that I am not the only one who needs this tool.</li>
<li>Another addition that I recently made is the RAP tooling. My daily work has changed and in the last months I am doing more RAP development than RCP development. I am not entirely sure if one needs both in one package, maybe RAP needs to go into its own package, but so far I think both technologies  complement each other. I am happy to get feedback &#8211; see <a title="RCP package content" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=230357" target="_blank">bug 230357</a>.</li>
<li>Last but not least: The <a title="MPC" href="http://eclipse.org/mpc/" target="_blank">Marketplace Client (MPC)</a> is included  to allow early feedback &#8211; the developers of this nice tool need your feedback to bring it into the best possible shape for Helios!</li>
</ul>
<p>Now let&#8217;s wait until the packages are available&#8230; and I need to go back preparing my EclipseCon slides.</p>
]]></content:encoded>
			<wfw:commentRss>http://eclipsesource.com/blogs/2010/03/19/helios-m6-rcp-package/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Persistent Trees in git, Clojure and CouchDB</title>
		<link>http://eclipsesource.com/blogs/2009/12/13/persistent-trees-in-git-clojure-and-couchdb-data-structure-convergence/</link>
		<comments>http://eclipsesource.com/blogs/2009/12/13/persistent-trees-in-git-clojure-and-couchdb-data-structure-convergence/#comments</comments>
		<pubDate>Sun, 13 Dec 2009 16:33:35 +0000</pubDate>
		<dc:creator>Manuel Woelker</dc:creator>
				<category><![CDATA[syndicate]]></category>
		<category><![CDATA[clojure]]></category>
		<category><![CDATA[couchdb]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://eclipsesource.com/blogs/?p=3606</guid>
		<description><![CDATA[This is a tale of three images. I found these images while investigating the internals of several different applications. There are some really neat software projects emerging at the moment, and as a developer I always find it interesting to take a look at the implementation details, because there is often a lot to be [...]]]></description>
			<content:encoded><![CDATA[<p>This is a tale of three images. I found these images while investigating the internals of several different applications. There are some really neat software projects emerging at the moment, and as a developer I always find it interesting to take a look at the implementation details, because there is often a lot to be learned. It&#8217;s not always something you might need right now, but maybe a few years down the line you may be confronted with a similar problem. Plus &#8211; in my opinion &#8211; knowing a bit about the internals of a program helps reasoning about its behaviour.</p>
<h3>Exhibit A: git repositories</h3>
<p><img class="aligncenter size-full wp-image-3633" title="git-trees" src="http://eclipsesource.com/blogs/wp-content/uploads/2009/12/git-trees.png" alt="git trees Persistent Trees in git, Clojure and CouchDB" width="640" height="480" /></p>
<p>Let&#8217;s start with the first image. This one is taken from <a href="http://www.gitcasts.com/git-talk">Scott Chacon&#8217;s talk &#8220;Getting Git&#8221;</a>. (Actually I had to mix slides 138 and 142 together to better fit the blog format.) I&#8217;ll try not to go to much into the details of <a href="http://git-scm.com/">git</a> here, listen to the talk instead of you want to know more. The thing I <em>do</em> want to talk about though is git&#8217;s tree structures.  These tree structures describe the project contents (both directory and file) for one specific commit. These trees are completely immutable (this is ensured by SHA-1 hashes). A new commit creates what amounts to a completely new tree. But usually the changes in each commit are only a fraction of the whole tree. Since a lot of the sub-trees of the original tree have not changed (and are immutable), these can be safely recycled. Only files and folders that have changed need to be added. Note that this means parent nodes of changed nodes have to be created as well, recursively up to the tree root. But even though the tree itself is new (as evidenced by the new root) the additional space requirements are quite low, on the order of approximately O(log n). This makes for extremely compact repository format, and an astonishingly simple one.<br />
Another thing I want to point out that the only element that needs to be mutated is the reference to the root of the tree, everything else is immutable.</p>
<h3>Exhibit B: Clojure&#8217;s persistent data structures</h3>
<p><img class="aligncenter size-full wp-image-3631" title="clojure-trees" src="http://eclipsesource.com/blogs/wp-content/uploads/2009/12/clojure-trees.png" alt="clojure trees Persistent Trees in git, Clojure and CouchDB" width="640" height="342" /></p>
<p>Next up is a picture lifted from <a href="http://blip.tv/file/812787">Rich Hickey&#8217;s &#8220;Clojure Concurrency&#8221; talk</a>. If you are interested in figuring out ways to deal with the impending multi-core age, I highly recommend you take a look at this talk. The concepts and techniques are not exclusive to <a href="http://clojure.org/">Clojure</a>, so even if you are not into Lisp&#8217;s you might want to watch it.</p>
<p>The way clojure deals with concurrency (in a nutshell) is that every core data structure (list, trees, hash maps, etc) is immutable. This has one big perceived drawback: Immutable data structures incur a huge overhead because of all the copying involved in creating new instances. But this is only a problem if the immutability is implemented naively. Analysis shows that usually only a part of a data structure is actually modified at any given time. This again allows recycling large parts of the the &#8220;old&#8221; data structure and only creating part of it new, and just pointing to the bits of the old structure that have not changed. As these are immutable as well, it is completely safe to do so. In the picture the two green boxes are the root nodes of two data structures sharing large parts of their trees.</p>
<p>Since a program that only deals with static, immutable data is pretty boring, there are mechanisms for introducing changes in a program. These mechanisms are called references, and these <em>do</em> mutate. But the runtime ensures that these changes happen in a controlled and well behaved manner, e.g. in the form of Software Transactional Memory (STM) or agents. But everything else is essentially immutable. Note that this has the neat side effect that reading process are inherently thread-safe since nothing can suddenly change while you are looking at it, i.e. no more ConcurrentModificationExceptions.</p>
<h3>Exhibit C: CouchDB&#8217;s append-only file format</h3>
<p><img class="aligncenter size-full wp-image-3632" title="couchdb-trees" src="http://eclipsesource.com/blogs/wp-content/uploads/2009/12/couchdb-trees.png" alt="couchdb trees Persistent Trees in git, Clojure and CouchDB" width="400" height="212" /></p>
<p>The third picture is from a <a href="http://horicky.blogspot.com/2009/11/nosql-patterns.html">blog post by Ricky Ho titled &#8220;NoSQL patterns&#8221;</a>. <a href="http://couchdb.apache.org/">CouchDB</a> has made quite a few waves recently, so I wanted to see what makes it tick under the hood. In keeping with the Erlang philosophy of robustness and failure tolerance, couchdb uses an append-only file format. This means that all data written is not modified any further and there is thus little chance for corruption. CouchDB uses a <a href="http://en.wikipedia.org/wiki/B%2B_tree">B+ Tree</a> to index its entries, so again we have a tree structure. And because the tree entries live inside an append only file, these trees are immutable as well. When making a change to the database, the new data is written along with all changes to nodes in the B+ Tree. Since the B+ Tree is very flat, that means even for databases with millions of entries the number of updated tree nodes is fairly small. The most recent root of the index tree can always be found at the very end of the file, and thus the database file is read from the end backwards. If any kind of failure occurs while writing changes, the software can see that the last entry is corrupt and can seek further back until it finds a &#8220;good&#8221; entry and proceed from there. Another interesting benefit is that reading processes don&#8217;t block writing processes and vice versa. A reading process can just find the latest root and then work from there. Because all references go backward in the file, and everything is immutable there is no contention. Meanwhile a writing process can happily append at the end of the file without disrupting any readers.</p>
<h4>Further exhibits</h4>
<p>There are probably more examples of this pattern to be found. The oldest reference I could find is &#8220;<a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.41.8933">The Design and Implementation of a Log-Structured File System</a>&#8221; written by Mendel Rosenblum and John K. Ousterhout in 1991. The most recent file system effort seems to be <a href="http://www.nilfs.org">NILFS</a>. The flash-based SSDs that are currently entering the market are also rumored to use <a href="http://lwn.net/Articles/353411/">something along these lines internally</a>. I also suspect that a few of the traditional DBMS might use similar data structures under the hood</p>
<h3>Shared characteristics</h3>
<p>Although all the applications do very different things and come from completely different backgrounds, they share a common data structure underneath. Unfortunately I have not been able to find a well published moniker for this pattern. If anyone does, please let me know.</p>
<p><strong>Update: </strong>As FuncFan pointed out in the comments the moniker I was looking for was &#8220;<a href="http://en.wikipedia.org/wiki/Purely_functional#Trees">Purely functional trees</a>&#8220;. Thanks for the quick reply!</p>
<h4>Immutable, recycling trees</h4>
<p>All three systems have these immutable trees in some way way or form that allow sharing structure. In git these are tree objects, in Clojure they are called persistent data structures, and in CouchDB they are part of the internal index tree.</p>
<h4>Mutable references</h4>
<p>To allow for changes in an otherwise immutable world, all systems allow for mutable reference constructs. All change is encapsulated in these references, which are called exactly that in both git and Clojure. In CouchDB the story is a little different. Here the &#8220;reference&#8221; to the latest tree is simply the end of the database file</p>
<h3>More common ground</h3>
<p>Apart from these &#8220;primary&#8221; characteristics there are other shared features among these three systems, that are a direct result of the underlying data structure.</p>
<h4>Garbage collection</h4>
<p>Because data may be shared between data structures, it is often not safe to delete all children when a root node is no longer needed. Instead a garbage collection mechanism is needed to free unused structures. Git does have a special command that does exactly that, Clojure uses the Garbage Collection in the JVM implicitly, and CouchDB offers a compact operation, which removes old versions and tree indices.</p>
<h4>Versioning</h4>
<p>Because no structure is changed, it is trivially easy to keep old versions around, and since a lot of data is shared it is usually fairly cheap in terms of memory to do so. Versioning is the primary application of git, so no big surprises on that end. In Clojure it is also fairly easy to add versioning for things like an &#8220;undo&#8221; buffer: Just keep a list of the old objects around. CouchDB also offers some lightweight versioning out-of-box, but it is mostly used for replication. But it should be fairly simple to add more sophisticated versioning features.</p>
<h4>Concurrency Safety</h4>
<p>The immutability properties of all three system make reasoning about concurrent changes and processes a lot simpler. Reading is trivial because all that is read is set in stone, so to speak. Writing is made easier by the fact that there is only a single point &#8211; the reference &#8211; that is modified to effect a specific change. This critical point can then be guarded with traditional synchronization primitives, without having to worry about the rest of the data structure.</p>
<h3>Conclusion</h3>
<p>I have to admit I found it a bit eerie seeing a single pattern pop up in so many different places. It may be just an idea whose time has come (similar to Garbage Collection a few years back). Or it may be just that now we simply have enough memory and computing resources at our disposal, which allows us to never have to delete something from the record, but instead only add incrementally. And oftentimes the <a href="http://en.wikipedia.org/wiki/Dendrochronology">history of data is just as interesting as the data itself</a>. The benefits of immutability may also be a good way to tame the concurrency beast in the years to come.</p>
<p>I hope you enjoyed this comparative trip into the internals of these software systems. Again, check out the two talks and the blog post, they are well worth the time.</p>
]]></content:encoded>
			<wfw:commentRss>http://eclipsesource.com/blogs/2009/12/13/persistent-trees-in-git-clojure-and-couchdb-data-structure-convergence/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Git Mirrors at Eclipse.org</title>
		<link>http://eclipsesource.com/blogs/2009/11/03/git-mirrors-at-eclipse-org/</link>
		<comments>http://eclipsesource.com/blogs/2009/11/03/git-mirrors-at-eclipse-org/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 15:04:43 +0000</pubDate>
		<dc:creator>Chris Aniszczyk</dc:creator>
				<category><![CDATA[syndicate]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://eclipsesource.com/blogs/?p=3322</guid>
		<description><![CDATA[Good news everyone, Git mirrors are going live at Eclipse.org Please give them a whirl. If you find any issues, please state them on this bug.]]></description>
			<content:encoded><![CDATA[<p>Good news everyone, Git <a href="http://dev.eclipse.org/git/">mirrors</a> are going live at Eclipse.org</p>
<p><a href="http://dev.eclipse.org/git/"><img class="alignnone size-medium wp-image-3323" title="Eclipse Git Mirrors" src="http://eclipsesource.com/blogs/wp-content/uploads/2009/11/gitmirrors-300x93.png" alt="gitmirrors 300x93 Git Mirrors at Eclipse.org" width="300" height="93" /></a></p>
<p>Please give them a whirl.</p>
<p>If you find any issues, please state them on this <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=280583">bug</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://eclipsesource.com/blogs/2009/11/03/git-mirrors-at-eclipse-org/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Git at Eclipse</title>
		<link>http://eclipsesource.com/blogs/2009/09/22/git-at-eclipse/</link>
		<comments>http://eclipsesource.com/blogs/2009/09/22/git-at-eclipse/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 14:47:06 +0000</pubDate>
		<dc:creator>Chris Aniszczyk</dc:creator>
				<category><![CDATA[syndicate]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[jgit]]></category>

		<guid isPermaLink="false">http://eclipsesource.com/blogs/?p=3044</guid>
		<description><![CDATA[Git has been gaining some traction in the Eclipse community as of late. From the birth of the EGit project at Eclipse and the recent approval of JGit to be hosted at Eclipse as a sub project of the EGit project, good things are coming. Why should you care about Git? Git is pretty popular [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://git-scm.com/">Git</a> has been gaining some traction in the Eclipse community as of late.</p>
<p><a href="http://eclipsesource.com/blogs/wp-content/uploads/2009/09/githeader.gif"><img class="alignnone size-medium wp-image-3093" title="githeader" src="http://eclipsesource.com/blogs/wp-content/uploads/2009/09/githeader-300x40.gif" alt="githeader 300x40 Git at Eclipse" width="300" height="40" /></a></p>
<p>From the birth of the <a href="http://www.eclipse.org/egit">EGit</a> project at Eclipse and the recent approval of <a href="http://www.jgit.org">JGit</a> to be hosted at Eclipse as a sub project of the EGit project, good things are coming. Why should you care about Git?</p>
<p>Git is pretty popular these days as evident by some of the open source projects out there using Git:</p>
<ul>
<li>Linux</li>
<li>KDE</li>
<li>Qt</li>
<li>Android</li>
<li>X.org</li>
<li>Wine</li>
<li>VLC</li>
<li>OLPC</li>
<li>OpenAFS</li>
<li>Ruby</li>
<li>Perl</li>
</ul>
<p>Apache is even rumored to be switching, at the moment they have a <a href="http://git.apache.org/">public GIT mirror</a>.</p>
<p>Git is also fast and efficient. In some of my testing, Git produced significantly smaller repositories than SVN did. In terms of speed&#8230; I think Git&#8217;s ability to do branching cheaply is one of its biggest assets. In the end, I think the most important feature of Git is that it significantly lowers the barrier to contribution. People are able to easily branch your work and you can pull at a later time. I&#8217;m not a Git expert by any means yet, but here are some things that have helped me along my Git journey:</p>
<ul>
<li>Read the free <a href="http://progit.org/">Pro Git book</a></li>
<li>Read <a href="http://carsonified.com/blog/web-apps/why-you-should-switch-from-subversion-to-git/">Why you should switch from SVN to Git</a></li>
<li>Read <a href="http://whygitisbetterthanx.com/">http://whygitisbetterthanx.com/</a></li>
</ul>
<p>In the Eclipse world, I see a move towards Git as the smart thing to do. It would make it easier for the Eclipse community to contribute code versus our current model. It would also help the many companies out there that maintain their own copies of Eclipse and patch things as necessary because of their release cycles. The more I look at it, I can&#8217;t come up with many reasons why Eclipse shouldn&#8217;t move to Git. Here are some current happenings:</p>
<ul>
<li>A vserver is being <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=270850">provisioned</a> with Git and Gerrit installed</li>
<li>A <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=280583">read only</a> GIT mirror of the Eclipse codebase is being setup</li>
</ul>
<p>If Git is important to you at Eclipse, I encourage you to get involved with the EGit project via their <a href="https://dev.eclipse.org/mailman/listinfo/egit-dev">mailing list</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://eclipsesource.com/blogs/2009/09/22/git-at-eclipse/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Git BoF @ EclipseCon</title>
		<link>http://eclipsesource.com/blogs/2009/03/02/git-bof-eclipsecon/</link>
		<comments>http://eclipsesource.com/blogs/2009/03/02/git-bof-eclipsecon/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 11:11:45 +0000</pubDate>
		<dc:creator>Manuel Woelker</dc:creator>
				<category><![CDATA[eclipse]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[syndicate]]></category>
		<category><![CDATA[bof]]></category>
		<category><![CDATA[eclipsecon]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://eclipsesource.com/blogs/?p=563</guid>
		<description><![CDATA[EclipseCon is coming up, and to my big suprise the Git BoF got accepted.]]></description>
			<content:encoded><![CDATA[<p>EclipseCon is coming up, and to my big suprise the <strong><a href="http://www.eclipsecon.org/2009/sessions?id=776">Git BoF</a> got accepted</strong>.</p>
<p>Initially, this BoF proposal was just a way to get the ball rolling on distributed version control systems at eclipse. In the recent weeks I have learned that the ball has been rolling for some time already and has gained quite a momentum, especially among the committers &#8211; just take a look at the comments on <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=257706">Bug 257706</a>.</p>
<p>I&#8217;d like to get all stakeholders involved in the discussion. Denis Roy will be there to represent the technical and infrastructure side of things. Apart from  downstream consumers, committers, contributors and potential contributors, it would also be really great to have some members of the legal team and the board present to get <strong>as many viewpoints as possible</strong>.</p>
<p>I know that git support was <a href="http://eclipse-committer-reps.blogspot.com/2008/12/december-2008-board-meeting.html">put on hold</a> at the board meeting in December. The cited reason was the resource cost to deploy and support yet another VCS. While I can understand that concern, especially after the recent investment in subversion, I think there is another issue to consider: The opportunity <strong>cost of <em>not </em>deploying a DVCS</strong> in the near future. Contributions from developers are the life blood of any open source project, and as such, it should be as easy as possible to get people involved in the development process. I experienced first hand how cumbersome it can be to work with the current infrastructure. Centralized versioning may be fine for corporate software development, but for a project like Eclipse I fear it results in too many hurdles for developers. That&#8217;s why I&#8217;m hoping we can really get this off the ground sooner rather than later.</p>
<p>Regarding infrastructure costs, it has been my understanding that the effort to setup a repository is relatively low. Which I guess makes sense since each developer has to have his own repository. A possibility might even be to use a third party provider like <a href="http://github.com/">github</a>, at least during the transition period.</p>
<p>Another interesting issue is what work flow model to adopt if we decided to support a DVCS. Options include a &#8220;lieutenant&#8221; style process as practiced by the Linux kernel, or a more traditional approach with a central master repository that committers commit to.</p>
<p>These are some of the issues I&#8217;d like to discuss in this BoF. I am absolutely stoked to see this happening and am really looking forward to making some progress on this front. See you all there!</p>
]]></content:encoded>
			<wfw:commentRss>http://eclipsesource.com/blogs/2009/03/02/git-bof-eclipsecon/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

