<?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"
	>

<channel>
	<title>Technology Watch &#187; programming</title>
	<atom:link href="http://techwatch.reviewk.com/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://techwatch.reviewk.com</link>
	<description>Sifting through the Technology News that matter</description>
	<pubDate>Thu, 20 Nov 2008 07:10:31 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Subversion 1.5.0 Released</title>
		<link>http://techwatch.reviewk.com/2008/06/subversion-150-released/</link>
		<comments>http://techwatch.reviewk.com/2008/06/subversion-150-released/#comments</comments>
		<pubDate>Fri, 20 Jun 2008 09:33:27 +0000</pubDate>
		<dc:creator>techwatcher</dc:creator>
		
		<category><![CDATA[programming]]></category>

		<category><![CDATA[open source version]]></category>

		<category><![CDATA[revisions]]></category>

		<category><![CDATA[source code]]></category>

		<category><![CDATA[Subversion]]></category>

		<category><![CDATA[version control system]]></category>

		<guid isPermaLink="false">http://techwatch.reviewk.com/?p=301</guid>
		<description><![CDATA[Subversion 1.5.0, a popular open source version control system, has been released. The first new feature release of Subversion in almost 2 years, 1.5.0 contains a number of new improvements and features. A detailed list of changes can be found in the release notes. Among the major new features included in this release is merge [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://svn.haxx.se/users/archive-2008-06/0687.shtml" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://svn.haxx.se/users/archive-2008-06/0687.shtml');">Subversion 1.5.0</a>, a popular open source version control system, has been released. The first new feature release of Subversion in almost 2 years, 1.5.0 contains a number of new improvements and features. A detailed list of changes can be found in the <a href="http://subversion.tigris.org/svn_1.5_releasenotes.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://subversion.tigris.org/svn_1.5_releasenotes.html');">release notes</a>. Among the major new features included in this release is merge tracking—Subversion now keeps track of what changes have been merged where. <a href="http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260&amp;expandFolder=74" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260&amp;expandFolder=74');">Source code is available immediately</a>, with various <a href="http://subversion.tigris.org/getting.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://subversion.tigris.org/getting.html');">other packages available soon</a>.</p>
<p>From the release notes page:</p>
<div id="mt-known-issues" class="h4" title="mt-known-issues">
<h4><span style="text-decoration: underline;"><span style="color: #800000;">Known Issues</span></span></h4>
<p><span style="color: #800000;">There are still known issues with merge tracking in 1.5.0.  We&#8217;re working on the most important ones first, which are:</span></p>
<ul>
<li><span style="color: #800000;"><a href="http://subversion.tigris.org/issues/show_bug.cgi?id=3128" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://subversion.tigris.org/issues/show_bug.cgi?id=3128');">issue #3128</a>: <code>merge --reintegrate</code> should handle     renames better</span></li>
<li><span style="color: #800000;"><a href="http://subversion.tigris.org/issues/show_bug.cgi?id=2897" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://subversion.tigris.org/issues/show_bug.cgi?id=2897');">issue #2897</a>: proper support for reflective merges</span></li>
<li><span style="color: #800000;"><a href="http://subversion.tigris.org/issues/show_bug.cgi?id=3126" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://subversion.tigris.org/issues/show_bug.cgi?id=3126');">issue #3126</a>: better change-availability reporting     (<code>svn mergeinfo</code> shows too few or too many eligible     revisions)</span></li>
<li><span style="color: #800000;"><a href="http://subversion.tigris.org/issues/show_bug.cgi?id=2837" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://subversion.tigris.org/issues/show_bug.cgi?id=2837');">issue #2837</a>: allow merge tracking to be useful when performing     cyclic merging</span></li>
<li><span style="color: #800000;"><a href="http://subversion.tigris.org/issues/show_bug.cgi?id=3056" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://subversion.tigris.org/issues/show_bug.cgi?id=3056');">issue #3056</a>: avoid repeat merge in an intelligent way</span></li>
<li><span style="color: #800000;"><a href="http://subversion.tigris.org/issues/show_bug.cgi?id=2898" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://subversion.tigris.org/issues/show_bug.cgi?id=2898');">issue #2898</a>: handle mergeinfo when deleting/adding children     you don&#8217;t have access to</span></li>
<li><span style="color: #800000;"><a href="http://subversion.tigris.org/issues/show_bug.cgi?id=3067" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://subversion.tigris.org/issues/show_bug.cgi?id=3067');">issue #3067</a>: subtrees that don&#8217;t exist at the start or end of     a merge range shouldn&#8217;t break the merge</span></li>
<li><span style="color: #800000;"><a href="http://subversion.tigris.org/issues/show_bug.cgi?id=3157" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://subversion.tigris.org/issues/show_bug.cgi?id=3157');">issue #3157</a>: merging a change from a path&#8217;s natural history     creates self-referential mergeinfo</span></li>
<li><span style="color: #800000;"><a href="http://subversion.tigris.org/issues/show_bug.cgi?id=3174" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://subversion.tigris.org/issues/show_bug.cgi?id=3174');">issue #3174</a>: merge algorithm chokes on subtrees needing     special attention that have been renamed</span></li>
</ul>
<p><span style="color: #800000;">(See also the <a href="http://subversion.tigris.org/issues/buglist.cgi?component=subversion&amp;issue_status=UNCONFIRMED&amp;issue_status=NEW&amp;issue_status=STARTED&amp;issue_status=REOPENED&amp;short_desc=merg&amp;short_desc_type=substring&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Issue+Number&amp;Submit+query=Submit+query" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://subversion.tigris.org/issues/buglist.cgi?component=subversion&amp;issue_status=UNCONFIRMED&amp;issue_status=NEW&amp;issue_status=STARTED&amp;issue_status=REOPENED&amp;short_desc=merg&amp;short_desc_type=substring&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Issue+Number&amp;Submit+query=Submit+query');">list of all merge-related open issues</a>, though note that not all of them are about merge-tracking and many predate it.)</span></p>
<p><span style="color: #800000;"><a href="http://subversion.tigris.org/issues/show_bug.cgi?id=3157" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://subversion.tigris.org/issues/show_bug.cgi?id=3157');">Issue #3157</a> is particularly easy to run into, so here&#8217;s a more detailed explanation of what the issue is and how to work around it:</span></p>
<p><span style="color: #800000;">Merge tracking information currently can include the &#8220;natural history&#8221; of a path.  One situation where this happens is when creating a <tt>branch</tt> from <tt>trunk</tt> at a certain revision <tt>X</tt> and later merging all changes from <tt>branch</tt> back to <tt>trunk</tt>, without explicitly limiting the merge range and without using the <a href="http://subversion.tigris.org/svn_1.5_releasenotes.html#mt-reintegrate" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://subversion.tigris.org/svn_1.5_releasenotes.html#mt-reintegrate');"><code>--reintegrate</code> option</a>.  Afterwards, the merge tracking information on <tt>trunk</tt> will list revisions before <tt>X</tt>.  This does no harm to future merge operations, but thereafter <code>svn log -g</code> on <tt>trunk</tt> will report these revisions from the &#8220;natural history&#8221;, which is typically not expected. This is because <code>svn log -g</code> uses the merge tracking information from previous revisions (not only from HEAD).</span></p>
<p><span style="color: #800000;">Note that this should not be a problem with release branches (also called &#8220;maintenance branches&#8221;), because one typically does not merge them back to trunk.  Instead, recommended practice is for new changes to enter on trunk and be ported outward to the branches that need the changes.  However, you could run into this problem with a feature branch, which would be merged back to trunk once, at the end of the branch&#8217;s lifetime.</span></p>
<p><span style="color: #800000;">One workaround is to correct the merge tracking information before committing the merged revision, by reverse merging the &#8220;natural history&#8221; information: <code>svn merge --record-only -rX:1</code>. Another solution is to avoid this situation entirely, by explicitly specifying merge ranges in the first place, e.g.: <tt>-rX:HEAD</tt>. See <a href="http://subversion.tigris.org/servlets/ReadMsg?listName=dev&amp;msgNo=139379" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://subversion.tigris.org/servlets/ReadMsg?listName=dev&amp;msgNo=139379');">this mail</a> for more information.</span></p>
<p><span style="color: #800000;">When merging a feature branch, the best solution is to <a href="http://subversion.tigris.org/svn_1.5_releasenotes.html#mt-reintegrate" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://subversion.tigris.org/svn_1.5_releasenotes.html#mt-reintegrate');">use the <code>--reintegrate</code> option</a>; then this problem won&#8217;t happen in the first place.</span></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://techwatch.reviewk.com/2008/06/subversion-150-released/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
