<?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>Better Software and beyond... &#187; Subversion</title>
	<atom:link href="http://www.thorsten-kamann.de/tag/subversion/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thorsten-kamann.de</link>
	<description>About architecture, development, quality and more</description>
	<lastBuildDate>Tue, 25 Oct 2011 20:16:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>How can a development environment looks like</title>
		<link>http://www.thorsten-kamann.de/2010/05/04/how-can-a-development-environment-looks-like-2/</link>
		<comments>http://www.thorsten-kamann.de/2010/05/04/how-can-a-development-environment-looks-like-2/#comments</comments>
		<pubDate>Tue, 04 May 2010 20:03:05 +0000</pubDate>
		<dc:creator>thorque</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[archiva]]></category>
		<category><![CDATA[artifactory]]></category>
		<category><![CDATA[Bamboo]]></category>
		<category><![CDATA[bazaar]]></category>
		<category><![CDATA[bugzilla]]></category>
		<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[GIT]]></category>
		<category><![CDATA[Hudson]]></category>
		<category><![CDATA[JIRA]]></category>
		<category><![CDATA[mantis]]></category>
		<category><![CDATA[mercurial]]></category>
		<category><![CDATA[nexus]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[quality]]></category>
		<category><![CDATA[revision control system]]></category>
		<category><![CDATA[sonatype]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[TeamCity]]></category>
		<category><![CDATA[ticketing system]]></category>
		<category><![CDATA[trac]]></category>
		<category><![CDATA[youtrack]]></category>

		<guid isPermaLink="false">http://blog.kamann.info/?p=326</guid>
		<description><![CDATA[<a href="http://www.thorsten-kamann.de/2010/05/04/how-can-a-development-environment-looks-like-2/" title="How can a development environment looks like"></a>What do I mean with development environment? Not only the developer workstation with Eclipse and the common tools like JDK, Maven, Ant and so on, but the environment you need for producing high quality software. The following article is a &#8230;<p class="read-more"><a href="http://www.thorsten-kamann.de/2010/05/04/how-can-a-development-environment-looks-like-2/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.thorsten-kamann.de/2010/05/04/how-can-a-development-environment-looks-like-2/" title="How can a development environment looks like"></a><p>What do I mean with development environment? Not only the developer workstation with Eclipse and the common tools like JDK, Maven, Ant and so on, but the environment you need for producing high quality software.<br />
The following article is a kind of proposal for such an environment. I think every organization has its own needs but overall this could be a starting point, if you want to build it for your organization.</p>
<div class="img size-full wp-image-327  alignnone" style="width:674px;">
	<a href="http://www.bobdveloper.de/wp-content/uploads/2010/04/structure.png"><img src="http://www.bobdveloper.de/wp-content/uploads/2010/04/structure.png" alt="Structure of a development environment" width="674" height="504" /></a>
	<div>Structure of a development environment</div>
</div>
<h2>Which roles are involved?</h2>
<p>There are developers (in figure 1 in the top left corner), the QA (in the bottom right corner) and &#8211; of course - the customer (not shown). Of course there a many more roles in a software project &#8211; you know them as stakeholders, too.<br />
But you know the ditch between developers and the QA-Guys? You can work well with the QA if the software they test has a good quality. But for this you need some components.</p>
<h2>What components do you need?</h2>
<table style="border: 1px solid #000000;" border="1" cellspacing="1" cellpadding="5" frame="void" rules="rows">
<caption></caption>
<thead>
<tr style="background-color: #7e817f;">
<td><span style="color: #ffffff;">Component</span></td>
<td><span style="color: #ffffff;">Description</span></td>
</tr>
</thead>
<tbody>
<tr valign="top">
<td>Ticketing System</td>
<td>This is a must have. This component you need to track your tickets during development.</p>
<ul>
<li><a title="Trac" href="http://trac.edgewall.org/" target="_blank">Trac</a></li>
<li><a title="Jetbrains YouTrack" href="http://www.jetbrains.com/youtrack/index.html" target="_blank">Jetbrains YouTrack</a></li>
<li><a title="Atlassian Jira" href="http://www.atlassian.com/software/jira/" target="_blank">Atlassian Jira</a></li>
<li><a title="Bugzilla" href="http://www.bugzilla.org/" target="_blank">Bugzilla</a></li>
<li><a title="Mingle" href="http://www.thoughtworks-studios.com/mingle-agile-project-management" target="_blank">Mingle</a></li>
<li><a title="Mantis" href="http://www.mantisbt.org/" target="_blank">Mantis</a></li>
<li>&#8230;</li>
</ul>
</td>
</tr>
<tr valign="top">
<td>Revision Control System</td>
<td>This component you need for versioning your source files. The is a great number of such systems:</p>
<ul>
<li><a title="Subversion" href="http://subversion.apache.org/" target="_blank">Subversion</a></li>
<li><a title="CVS" href="http://www.nongnu.org/cvs/" target="_blank">CVS</a></li>
<li><a title="Bazaar" href="http://bazaar.canonical.com/en/" target="_blank">Bazaar</a></li>
<li><a title="Mercurial" href="http://mercurial.selenic.com/" target="_blank">Mercurial</a></li>
<li><a title="Git" href="http://git-scm.com/" target="_blank">Git</a></li>
<li><a title="Rational Clearcase" href="http://www-01.ibm.com/software/awdtools/clearcase/" target="_blank">Clearcase</a></li>
<li>&#8230;</li>
</ul>
</td>
</tr>
<tr valign="top">
<td>Wiki</td>
<td>You need something as documentation storage. Something that is agile enough not to block the development process.<br />
A Wiki can help you. But remember not every wiki is a good wiki <img src='http://www.thorsten-kamann.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </td>
</tr>
<tr valign="top">
<td>Continuous Integration</td>
<td>To produce high quality you need an automatically build and tests. Only with this you can verify your changes not breaking<br />
already existing features. With a CI-System you can achieve this. Some of this CI-Systems are:</p>
<ul>
<li><a title="Hudson" href="http://hudson-ci.org/" target="_blank">Hudson</a></li>
<li><a title="Cruise Control" href="http://cruisecontrol.sourceforge.net/" target="_blank">Cruise Control</a></li>
<li><a title="Atlassian Bamboo" href="http://www.atlassian.com/software/bamboo/" target="_blank">Atlassian Bamboo</a></li>
<li><a title="Jetbrains Teamcity" href="http://www.jetbrains.com/teamcity/" target="_blank">Jetbrains Teamcity</a></li>
<li><a title="Cruise" href="http://www.thoughtworks-studios.com/cruise-release-management" target="_blank">Cruise</a></li>
<li>&#8230;</li>
</ul>
</td>
</tr>
<tr valign="top">
<td>Artifact Repository</td>
<td>You need always a repository where you can deploy the artifacts you build. The meaning of artifact in this context are archives like<br />
JARs, WARs, EARs but DLLs, too. Of cource you can deploy them to your Revision Control System. But it is always an good idea to<br />
have a mechanism you can resolve dependencies you have automatically. With Maven and Ivy you have Buildtools that do this for you.</p>
<p>An Artifact Repository is a simple (or not so) storage for deployable artifacts. You can choose between 3 well-known OpenSource Products:</p>
<ul>
<li><a title="Archiva" href="http://archiva.apache.org/" target="_blank">Archiva</a></li>
<li><a title="Sonatype Nexus" href="http://nexus.sonatype.org/" target="_blank">Sonatype Nexus</a></li>
<li><a title="Artifactory" href="http://www.jfrog.org/products.php" target="_blank">Artifactory</a></li>
</ul>
</td>
</tr>
</tbody>
</table>
<h2>And now&#8230;</h2>
<p>Every component must communicate with every other component. But let&#8217;s us begin with the developers. Developers working directly with the Ticketing and the Revision Control System. They need the Ticketing System to manage the development orders (or tasks or Sprint Backlog Items if you are familary with Scrum). Changes at the sources of the project will be committed to the Revision Control System. If you have a full featured Ticketing System you can log this commits and show the relevant commits in the tickets. So you can track all changes needed for the resolving of a ticket.</p>
<p>The Continuous Integration System (CI) is polling the Revision Control System to get notified for changes. If there are one or more changes the automatically build will be started. After the &#8211; hopefully &#8211; successful build all tests are executed &#8211; and hopefully green &#8211; and the artifacts can be deployed to the Artifact Repository. At the same time the revision (in Subversion) or the commit (in Git) can be tagged. So you have a marker for the sources the CI used to build and create the artifacts. With this tag it is every time reproducable. If you add the Ticket-ID in the commit messages the CI can add a comment to the ticket, so you can see if the buidl was successfully or not.</p>
<p>After some time the developer can resolve a ticket. At this time the CI should create a QA-Release. This is a special release because if the QA-Process is green this build should use for a release. The QA-Team gets notification for a testable build from the Ticket System. After the test the QA mark the ticket as tested or reopen the ticket. In the second case the developer should fix the errors or problems.</p>
<h2>Conclusion</h2>
<p>This was a quick view of a possible solution to build a development environment. Such an environment you need to use Scrum successfully. I am very interested in your opionion. Please leave a comment&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thorsten-kamann.de/2010/05/04/how-can-a-development-environment-looks-like-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing git-svn with Macports</title>
		<link>http://www.thorsten-kamann.de/2010/03/14/installing-git-svn-with-macports/</link>
		<comments>http://www.thorsten-kamann.de/2010/03/14/installing-git-svn-with-macports/#comments</comments>
		<pubDate>Sun, 14 Mar 2010 17:04:48 +0000</pubDate>
		<dc:creator>thorque</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[GIT]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[MacPort]]></category>
		<category><![CDATA[Subversion]]></category>

		<guid isPermaLink="false">http://blog.kamann.info/?p=294</guid>
		<description><![CDATA[<a href="http://www.thorsten-kamann.de/2010/03/14/installing-git-svn-with-macports/" title="Installing git-svn with Macports"></a>I am using a Macbook. Now I want to play with GIT and the Subversion-Support of this. After some searching with Google I found this Blog-Entry. If mentioned there is is very easy to install git-svn: Install Darwinports install subversion-perlbindings &#8230;<p class="read-more"><a href="http://www.thorsten-kamann.de/2010/03/14/installing-git-svn-with-macports/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.thorsten-kamann.de/2010/03/14/installing-git-svn-with-macports/" title="Installing git-svn with Macports"></a><p>I am using a Macbook. Now I want to play with GIT and the Subversion-Support of this. After some searching with Google I found this <a href="http://blog.emmanuelbernard.com/2009/01/how-to-install-git-and-git-svn-on-mac.html" target="_blank">Blog-Entry</a>. If mentioned there is is very easy to install git-svn:</p>
<ul>
<li>Install <a href="http://darwinports.com/" target="_blank">Darwinports</a></li>
<li>install <span style="font-family: andale mono,times;">subversion-perlbindings</span></li>
<li>install <span style="font-family: andale mono,times;">git-core +svn</span></li>
</ul>
<p>Instead of Darwinports I want to use <a href="http://www.macports.org/" target="_blank">Macports</a>. There is a image for SnowLeopard you can download <a href="http://www.macports.org/install.php" target="_blank">here</a>. After the installation it were very easy to use Macports. The next step is to uínstall the subversion-perlbindings. This is done with a</p>
<pre lang="bash">sudo port install subversion-perlbindings</pre>
<p>and some time. This works very fine&#8230;I thought <img src='http://www.thorsten-kamann.de/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /><br />
The problem begins with the installation of git-core +svn.</p>
<pre lang="bash">sudo port install git-core +svn</pre>
<p>stops with an error if curl should be installed:</p>
<pre lang="bash">Error: Target org.macports.destroot returned: error copying
 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_net_curl/work/destroot"
 to
 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_net_curl/work/destroot-x86_64/destroot":
 file already exists
</pre>
<p>After some searching with Google I found this <a href="http://lists.macosforge.org/pipermail/macports-tickets/2009-December/046538.html" target="_blank">Bugentry</a>. The solution was to install <span style="font-family: andale mono,times;">zlib +universal</span> first. But this doesn&#8217;t work for me <img src='http://www.thorsten-kamann.de/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /><br />
So I decided to uninstall all of Macport and start a new try:</p>
<pre lang="bash">sudo port -f uninstall installed
sudo rm -rf \
    /opt/local \
   /Applications/DarwinPorts \
   /Applications/MacPorts \
   /Library/LaunchDaemons/org.macports.* \
   /Library/Receipts/DarwinPorts*.pkg \
   /Library/Receipts/MacPorts*.pkg \
   /Library/StartupItems/DarwinPortsStartup \
   /Library/Tcl/darwinports1.0 \
   /Library/Tcl/macports1.0 \
   ~/.macports</pre>
<p>At next I am reinstalling the Macport image followed by</p>
<pre lang="bash">sudo port install subversion-perlbindings
sudo port install zlib +universal
sudo port install git-core +svn</pre>
<p>And it works <img src='http://www.thorsten-kamann.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.thorsten-kamann.de/2010/03/14/installing-git-svn-with-macports/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Vortragsreihe Dortmund 14.04.2008: Unified Development Environments</title>
		<link>http://www.thorsten-kamann.de/2008/04/04/vortragsreihe-dortmund-14042008-unified-development-environments/</link>
		<comments>http://www.thorsten-kamann.de/2008/04/04/vortragsreihe-dortmund-14042008-unified-development-environments/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 21:28:34 +0000</pubDate>
		<dc:creator>thorque</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[Development Process]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[Test]]></category>

		<guid isPermaLink="false">http://www.thorsten-kamann.de/wordpress/?p=97</guid>
		<description><![CDATA[<a href="http://www.thorsten-kamann.de/2008/04/04/vortragsreihe-dortmund-14042008-unified-development-environments/" title="Vortragsreihe Dortmund 14.04.2008: Unified Development Environments"></a>Große Entwicklungsabteilungen stehen oft vor dem Problem einheitlicher Entwicklungsprozesse und Werkzeuge. Nach einiger Zeit hat jedes Projekt eigene Prozesse und Werkzeuge etabliert. Dies ist nicht im Sinne der Entwicklungsabteilung. Softwaresysteme müssen i. d. R. über Jahre hinweg gewartet und erweitert &#8230;<p class="read-more"><a href="http://www.thorsten-kamann.de/2008/04/04/vortragsreihe-dortmund-14042008-unified-development-environments/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.thorsten-kamann.de/2008/04/04/vortragsreihe-dortmund-14042008-unified-development-environments/" title="Vortragsreihe Dortmund 14.04.2008: Unified Development Environments"></a><p>Große Entwicklungsabteilungen stehen oft vor dem Problem einheitlicher Entwicklungsprozesse und Werkzeuge. Nach einiger Zeit hat jedes Projekt eigene Prozesse und Werkzeuge etabliert. Dies ist nicht im Sinne der Entwicklungsabteilung. Softwaresysteme müssen i. d. R. über Jahre hinweg gewartet und erweitert werden &#8211; oft von einem Team, das sich neu in die Anwendung einarbeiten muss.<br />
Nicht selten stellt die Rekonstruktion der Entwicklungsumgebung einen erheblichen Aufwand dar.</p>
<p>Dieser Vortrag beschreibt &#8211; anhand eines Erfahrungsberichts &#8211; den Aufbau einer strukturierten Entwicklungsumgebung, die auch für grosse Entwicklungsabteilungen skaliert.</p>
<ul>
<li> Zentrale Projekt- und Codeverwaltung (ähnlich wie Sourceforge)</li>
<li>Buildmanagement mit Maven</li>
<li>Entwicklungswerkzeuge basierend auf Maven und Eclipse</li>
<li>Installierbare Teamserver mit Virtualisierungstechnologie für Continuous Integration</li>
</ul>
<p><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=id=527945&amp;doc=unified-development-environment-1216994299020088-8" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><param name="wmode" value="transparent" /><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=id=527945&amp;doc=unified-development-environment-1216994299020088-8" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355" wmode="transparent"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thorsten-kamann.de/2008/04/04/vortragsreihe-dortmund-14042008-unified-development-environments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

