<?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>Defective Semantics &#187; smartmerge</title>
	<atom:link href="http://scarff.id.au/blog/tag/smartmerge/feed/" rel="self" type="application/rss+xml" />
	<link>http://scarff.id.au</link>
	<description>Dean Scarff's perpetual struggle with technology, and other anecdotes</description>
	<lastBuildDate>Thu, 03 Nov 2011 22:39:55 +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>iTerm+blur: updated; thanks git</title>
		<link>http://scarff.id.au/blog/2008/iterm-blur-updated-thanks-git/</link>
		<comments>http://scarff.id.au/blog/2008/iterm-blur-updated-thanks-git/#comments</comments>
		<pubDate>Thu, 28 Aug 2008 11:55:39 +0000</pubDate>
		<dc:creator>Dean</dc:creator>
				<category><![CDATA[Programs]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[iTerm]]></category>
		<category><![CDATA[merge]]></category>
		<category><![CDATA[smartmerge]]></category>

		<guid isPermaLink="false">http://scarff.id.au/?p=107</guid>
		<description><![CDATA[<p><small class="postscript">Update: The patch has been merged into upstream CVS. Yay!</small></p>
<p>I&#8217;ve merged the current CVS HEAD (sub-minor version 0821 apparently) of iTerm with my +blur branch.  You can download the new binary.</p>
<p>In doing so, I found that there&#8217;s a new maintainer, James Bunton, responsible for most of the changes.  He&#8217;s got a mercurial tree, but it&#8217;s not up to date with sourceforge CVS.  Welcome to distributed VC hell, where CVS is being used as a central repository between patchset-based DVCs.  There are some importers, but if the canonical repository is CVS, importing from the mercurial tree is strictly more work (since I&#8217;d still need to import the CVS updates, and merge again).</p>
<p>cvsps and git-cvsimport do a good job of making working with cvs repositories from git reasonably painless.  But I had some issues.</p>
<p>Perhaps it was just me failing, but I couldn&#8217;t coax git-cvsimport to import into my&#8230; <a href="http://scarff.id.au/blog/2008/iterm-blur-updated-thanks-git/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p><small class="postscript">Update: The patch has been merged into <a href="http://iterm.sourceforge.net/download.shtml">upstream CVS</a>. Yay!</small></p>
<p>I&#8217;ve merged the current CVS HEAD (sub-minor version 0821 apparently) of iTerm with my +blur branch.  You can download the new <a href="http://scarff.id.au/file/iTerm-0.9.5.0821+blur.dmg">binary</a>.</p>
<p>In doing so, I found that there&#8217;s a new maintainer, James Bunton, responsible for most of the changes.  He&#8217;s got a <a href="http://delx.net.au/hg/iterm/">mercurial tree</a>, but it&#8217;s not up to date with sourceforge CVS.  Welcome to distributed VC hell, where CVS is being used as a central repository between patchset-based DVCs.  There are <a href="http://git.or.cz/gitwiki/InterfacesFrontendsAndTools">some importers</a>, but if the canonical repository is CVS, importing from the mercurial tree is strictly more work (since I&#8217;d still need to import the CVS updates, and merge again).</p>
<p>cvsps and git-cvsimport do a good job of making working with cvs repositories from git reasonably painless.  But I had some issues.</p>
<p>Perhaps it was just me failing, but I couldn&#8217;t coax git-cvsimport to import into my remotes (yes, using -r).  Also it would be nice if git pull could figure out a remote was CVS and run git-cvsimport for me, using cached parameters.  As it is, I have one repository for running git-cvsimport, and my working repository that pulls from that.</p>
<p>Git seems remarkably unhelpful when it comes time to do manual merging.  An &#8220;ours&#8221;-type strategy for hunks consisting of just CVS $Id$ keywords would be nice.  Why isn&#8217;t there a simple comand to run a 3-way merge with an arbitrary merge(1)-compatible invocation?  I discovered <a href="http://utsl.gen.nz/scripts/smartmerge">smartmerge</a> too late, but surely manual merges are common enough that getting 3 temporary files together could be done in one base command?</p>
<p>There&#8217;s a persistent feeling when using git that <em>I&#8217;m doing it wrong</em>, or at least there&#8217;s an easier way if only I could remember the command.  I ran <code>git status |grep unmerged</code> because I couldn&#8217;t remember that I wanted <code>git ls-files -u</code>.  I have to re-read git-rebase&#8217;s documentation every time I use it.</p>
<p><small class="postscript">Update: the <a href="http://www.kernel.org/pub/software/scm/git/docs/gitattributes.html#_tt_ident_tt">ident attribute</a> deals neatly with CVS $Id$ keywords.</small><br />
<small class="postscript">Update: the <a href="http://www.kernel.org/pub/software/scm/git/docs/git-mergetool.html#_tt_ident_tt">git mergetool</a> command can be used instead of smartmerge.</small></p>
]]></content:encoded>
			<wfw:commentRss>http://scarff.id.au/blog/2008/iterm-blur-updated-thanks-git/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

