<?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>doetsch.info &#187; shelve</title>
	<atom:link href="http://doetsch.info/tag/shelve/feed/" rel="self" type="application/rss+xml" />
	<link>http://doetsch.info</link>
	<description>Im Wendekreis des Elbfisches</description>
	<lastBuildDate>Fri, 26 Mar 2010 19:39:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Shelve it, baby</title>
		<link>http://doetsch.info/2008/11/23/shelve-it-baby/</link>
		<comments>http://doetsch.info/2008/11/23/shelve-it-baby/#comments</comments>
		<pubDate>Sun, 23 Nov 2008 10:05:16 +0000</pubDate>
		<dc:creator>Bastian</dc:creator>
				<category><![CDATA[computer]]></category>
		<category><![CDATA[mercurial]]></category>
		<category><![CDATA[dvcs]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[mercurialeclipse]]></category>
		<category><![CDATA[plug-in]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[shelve]]></category>
		<category><![CDATA[unshelve]]></category>
		<category><![CDATA[vcs]]></category>

		<guid isPermaLink="false">http://doetsch.info/?p=135</guid>
		<description><![CDATA[As a some people seem to miss a shelve / unshelve feature in Mercurial, we now have a self-grown solution that works a lot like the hgshelve extension. It does the following: Check if we have not already shelved something for this project. If the shelf is not empty, we notify the user and abort. [...]


Verwandte Artikel:<ol><li><a href='http://doetsch.info/2009/02/14/mercurialeclipse-131019-released/' rel='bookmark' title='Permanent Link: MercurialEclipse 1.3.1019 released'>MercurialEclipse 1.3.1019 released</a></li>
<li><a href='http://doetsch.info/2008/11/14/rebase-and-subversion-support-in-mercurialeclipse/' rel='bookmark' title='Permanent Link: Rebase and subversion support in MercurialEclipse'>Rebase and subversion support in MercurialEclipse</a></li>
<li><a href='http://doetsch.info/2009/09/11/mercurialeclipse-1-4-1280-released/' rel='bookmark' title='Permanent Link: MercurialEclipse 1.4.1280 released'>MercurialEclipse 1.4.1280 released</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a title="#07 [from::the office]; the workspace or empty" href="http://www.flickr.com/photos/8261588@N04/2303858967/" target="_blank"><img class="alignnone" src="http://farm3.static.flickr.com/2311/2303858967_be0707026e_m.jpg" border="0" alt="#07 [from::the office]; the workspace or empty" width="240" height="208" /></a></p>
<p>As a <a href="http://markmail.org/message/so3nzxqe7kiaaypa?q=hg+shelve&amp;page=1&amp;refer=6vjmdouspr3wdn3q" target="_blank">some people</a> seem to miss a shelve / unshelve feature in <a href="http://www.selenic.com/mercurial" target="_blank">Mercurial</a>, we now have a self-grown solution that works a lot like the <a href="http://www.selenic.com/mercurial/wiki/index.cgi/ShelveExtension" target="_blank">hgshelve extension</a>. It does the following:</p>
<ul>
<li>Check if we have not already shelved something for this project. If the shelf is not empty, we notify the user and abort.</li>
<li>Determine which project files are in one of the states <em>modified</em>, <em>added</em>, <em>removed</em> or <em>deleted</em>. If the repository root is hierarchically above the project level, only the files within the current project are considered.</li>
<li>Export a diff for all of these files to the file <em>&lt;project-name&gt;-patchfile.patch</em> that resides in the folder <em>.hg/mercurialeclipse-shelve-backup</em>. This patch file contains the diffs for all modified files in the project. </li>
<li>Determine the changeset at which the current working directory is via <em>hg id</em>.</li>
<li>Update to that changeset with <em>hg update -C -r &lt;changeset&gt;</em>.</li>
<li>Refresh the resources whose diff was exported.</li>
</ul>
<p>For Unshelving these changes we do the following:</p>
<ul>
<li>Check if there are files in our backup directory that contain shelved changes. Notify user and abort if no changes are shelved. </li>
<li>Import changes via <em>hg import &lt;patchfile&gt;</em>.</li>
<li>Empty shelve by deleting the patch file.</li>
<li>Refresh the project directory for updating files and decorations within Eclipse.</li>
</ul>
<p>The mandatory screenshot:</p>
<p><a href="http://doetsch.info/wordpress/wp-content/uploads/2008/11/20081123_shelve.png" rel="lightbox[135]"><img class="size-medium wp-image-136" style="border: 2px solid black;" title="20081123_shelve" src="http://doetsch.info/wordpress/wp-content/uploads/2008/11/20081123_shelve-300x220.png" alt="The shelve functionality in MercurialEclipse" width="300" height="220" /></a></p>
<p>The current implementation is not compatible with the hg shelve extension, but this extension a) currently does not work and b) is only using interactive mode.</p>


<p>Verwandte Artikel:<ol><li><a href='http://doetsch.info/2009/02/14/mercurialeclipse-131019-released/' rel='bookmark' title='Permanent Link: MercurialEclipse 1.3.1019 released'>MercurialEclipse 1.3.1019 released</a></li>
<li><a href='http://doetsch.info/2008/11/14/rebase-and-subversion-support-in-mercurialeclipse/' rel='bookmark' title='Permanent Link: Rebase and subversion support in MercurialEclipse'>Rebase and subversion support in MercurialEclipse</a></li>
<li><a href='http://doetsch.info/2009/09/11/mercurialeclipse-1-4-1280-released/' rel='bookmark' title='Permanent Link: MercurialEclipse 1.4.1280 released'>MercurialEclipse 1.4.1280 released</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://doetsch.info/2008/11/23/shelve-it-baby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
