<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Mercurial workflows: local development work</title>
	<atom:link href="http://lostechies.com/jimmybogard/2010/07/09/mercurial-workflows-local-development-work/feed/" rel="self" type="application/rss+xml" />
	<link>http://lostechies.com/jimmybogard/2010/07/09/mercurial-workflows-local-development-work/</link>
	<description>Strong opinions, weakly held</description>
	<lastBuildDate>Wed, 19 Jun 2013 05:19:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
	<item>
		<title>By: James</title>
		<link>http://lostechies.com/jimmybogard/2010/07/09/mercurial-workflows-local-development-work/#comment-4324</link>
		<dc:creator>James</dc:creator>
		<pubDate>Tue, 14 Feb 2012 13:55:00 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2010/07/08/mercurial-workflows-local-development-work.aspx#comment-4324</guid>
		<description>Would be nice if the blog post could be updated with this. It&#039;s a bit confusing... ;-)</description>
		<content:encoded><![CDATA[<p>Would be nice if the blog post could be updated with this. It&#8217;s a bit confusing&#8230; <img src='http://lostechies.com/jimmybogard/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bogardj</title>
		<link>http://lostechies.com/jimmybogard/2010/07/09/mercurial-workflows-local-development-work/#comment-2511</link>
		<dc:creator>bogardj</dc:creator>
		<pubDate>Fri, 25 Feb 2011 21:27:33 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2010/07/08/mercurial-workflows-local-development-work.aspx#comment-2511</guid>
		<description>@DM

Don&#039;t push them, then.  Even when I use named branches, I only push/pull my current branch/bookmark.  I have right now a dozen or so branches that have never made it up to the central repo, that no one&#039;s ever seen.  Pretty much like how I&#039;d work with git branching really.</description>
		<content:encoded><![CDATA[<p>@DM</p>
<p>Don&#8217;t push them, then.  Even when I use named branches, I only push/pull my current branch/bookmark.  I have right now a dozen or so branches that have never made it up to the central repo, that no one&#8217;s ever seen.  Pretty much like how I&#8217;d work with git branching really.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Valeriu Caraulean</title>
		<link>http://lostechies.com/jimmybogard/2010/07/09/mercurial-workflows-local-development-work/#comment-2508</link>
		<dc:creator>Valeriu Caraulean</dc:creator>
		<pubDate>Fri, 06 Aug 2010 14:24:24 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2010/07/08/mercurial-workflows-local-development-work.aspx#comment-2508</guid>
		<description>&gt; hg push –b master
Shouldn&#039;t it be &quot;-r&quot; option here?
master is a bookmark. When trying to run &quot;hg push –b master&quot; Mercurial is saying: &quot;abort: unknown branch master&quot;.

I&#039;ve tried do this operation with &quot;-r&quot; and it seems to work correctly...
PS: hg --version: 1.6.1023</description>
		<content:encoded><![CDATA[<p>> hg push –b master<br />
Shouldn&#8217;t it be &#8220;-r&#8221; option here?<br />
master is a bookmark. When trying to run &#8220;hg push –b master&#8221; Mercurial is saying: &#8220;abort: unknown branch master&#8221;.</p>
<p>I&#8217;ve tried do this operation with &#8220;-r&#8221; and it seems to work correctly&#8230;<br />
PS: hg &#8211;version: 1.6.1023</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bogardj</title>
		<link>http://lostechies.com/jimmybogard/2010/07/09/mercurial-workflows-local-development-work/#comment-2507</link>
		<dc:creator>bogardj</dc:creator>
		<pubDate>Fri, 16 Jul 2010 14:16:48 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2010/07/08/mercurial-workflows-local-development-work.aspx#comment-2507</guid>
		<description>@DaRage

I&#039;ve done the folder thing for about a year with SVN, I just prefer having a single repository.  There are advantages to having one repository over multiple folders, and conceptually I find it easier to manage.  Otherwise, the actions are pretty much the same.

I tend to stay away from TortoiseHg, I work faster from the command line.  My mouse is lonely ;)

@Arnis

- Better integration with Windows
- Extensibility model
- Configuration

@Ike

Funny, a teammate just brought that up to me the other day, thanks for the tip!
</description>
		<content:encoded><![CDATA[<p>@DaRage</p>
<p>I&#8217;ve done the folder thing for about a year with SVN, I just prefer having a single repository.  There are advantages to having one repository over multiple folders, and conceptually I find it easier to manage.  Otherwise, the actions are pretty much the same.</p>
<p>I tend to stay away from TortoiseHg, I work faster from the command line.  My mouse is lonely <img src='http://lostechies.com/jimmybogard/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>@Arnis</p>
<p>- Better integration with Windows<br />
- Extensibility model<br />
- Configuration</p>
<p>@Ike</p>
<p>Funny, a teammate just brought that up to me the other day, thanks for the tip!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ike</title>
		<link>http://lostechies.com/jimmybogard/2010/07/09/mercurial-workflows-local-development-work/#comment-2506</link>
		<dc:creator>Ike</dc:creator>
		<pubDate>Thu, 15 Jul 2010 21:10:23 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2010/07/08/mercurial-workflows-local-development-work.aspx#comment-2506</guid>
		<description>could be that you did this for informational purposes, but

# hg checkout SomeTopic1
# hg bookmark -f master
# hg bookmark -d SomeTopic1 

could be shorter if you don&#039;t really need the checkout (because you&#039;re going to work on SomeTopic2 next) you can also specify &quot;-r&quot; together with &quot;-f&quot;

hg bookmark -f master -r SomeTopic1
hg bookmark -d SomeTopic1</description>
		<content:encoded><![CDATA[<p>could be that you did this for informational purposes, but</p>
<p># hg checkout SomeTopic1<br />
# hg bookmark -f master<br />
# hg bookmark -d SomeTopic1 </p>
<p>could be shorter if you don&#8217;t really need the checkout (because you&#8217;re going to work on SomeTopic2 next) you can also specify &#8220;-r&#8221; together with &#8220;-f&#8221;</p>
<p>hg bookmark -f master -r SomeTopic1<br />
hg bookmark -d SomeTopic1</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Arnis L.</title>
		<link>http://lostechies.com/jimmybogard/2010/07/09/mercurial-workflows-local-development-work/#comment-2505</link>
		<dc:creator>Arnis L.</dc:creator>
		<pubDate>Thu, 15 Jul 2010 21:06:00 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2010/07/08/mercurial-workflows-local-development-work.aspx#comment-2505</guid>
		<description>Jimmy, sorry for highly subjective question, but is there anything You like in Hg that Git lacks?</description>
		<content:encoded><![CDATA[<p>Jimmy, sorry for highly subjective question, but is there anything You like in Hg that Git lacks?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: DaRage</title>
		<link>http://lostechies.com/jimmybogard/2010/07/09/mercurial-workflows-local-development-work/#comment-2504</link>
		<dc:creator>DaRage</dc:creator>
		<pubDate>Wed, 14 Jul 2010 01:01:10 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2010/07/08/mercurial-workflows-local-development-work.aspx#comment-2504</guid>
		<description>It&#039;s good that you brought up a  concrete scenario. To start a new work clone the repository. Locally, this is a simple folder copy. Work comes -&gt; another folder copy and give the folder the name of the topic. When finished working on the feature pull from original folder and merge then push back to original folder. super simple. In addition, I don&#039;t have to touch the command line and I can do it all from TortoiseHg interface.

You mentioned moving back and forth between features and branches very fast. Well this is complicated, why do you like to complicate your life? plus from visual studio there is no way to tell which feature you&#039;re working on when you come from the coffee break. With local folders you can. finally, KISS:)</description>
		<content:encoded><![CDATA[<p>It&#8217;s good that you brought up a  concrete scenario. To start a new work clone the repository. Locally, this is a simple folder copy. Work comes -> another folder copy and give the folder the name of the topic. When finished working on the feature pull from original folder and merge then push back to original folder. super simple. In addition, I don&#8217;t have to touch the command line and I can do it all from TortoiseHg interface.</p>
<p>You mentioned moving back and forth between features and branches very fast. Well this is complicated, why do you like to complicate your life? plus from visual studio there is no way to tell which feature you&#8217;re working on when you come from the coffee break. With local folders you can. finally, KISS:)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bogardj</title>
		<link>http://lostechies.com/jimmybogard/2010/07/09/mercurial-workflows-local-development-work/#comment-2503</link>
		<dc:creator>bogardj</dc:creator>
		<pubDate>Tue, 13 Jul 2010 16:33:46 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2010/07/08/mercurial-workflows-local-development-work.aspx#comment-2503</guid>
		<description>@DaRage

Git&#039;s workflow is simpler because this is all built in.  Local branches are &quot;the way&quot; to work, and are not an afterthought as it is in Hg.

Maybe I have your workflow wrong.  To start new work, the first thing I do is create a new bookmark.  This would mean in Hg land, clone into a new folder.  Bookmark = 1 very cheap step; new folder+clone = two steps, cheap because it&#039;s local, but not close to as cheap as bookmark.

Doing normal work is the same.  OK, now additional work comes in, and I have to abandon that folder for now.  Do the same, create new folder, clone from the &quot;master/trunk&quot; folder.  With topic branches, it&#039;s checkout master, bookmark.  Because it&#039;s a checkout, it&#039;s cheaper than a clone.

Now I want to fold changes from the additional work back in.  So you pull and merge/rebase not from local trunk, but from server trunk, make sure everything works, and push it back out.  Here local branches in Hg is more complicated, as the extensions don&#039;t support a fast-forward merge as Git does.  Bookmarks adds 1-2 steps here.

This is the exact workflow I used with SVN.  We had feature branches, and created a folder per feature, and had one folder for trunk.  Switching between branches meant loading up a new solution from a different folder.  With Git and Hg, I can now accomplish the exact same workflow, but now all in one local repository (very, very fast) and one local folder.

Still, the main disadvantage I see with multiple repositories is the conceptual overhead of multiple repositories.  With bookmarks, I&#039;m working with commits.  With folders, I&#039;m working with file operations.  When a bookmark is completed, I just need to delete the bookmark.  To delete a folder, it&#039;s more expensive and I have to make sure that everything is closed.  With hg checkout, I can move between trunk/topic branches with ease, and not have the extra burden of managing folders.

There are definitely benefits and drawbacks to both approaches (and others).  Going from SVN -&gt; Git -&gt; Hg, I saw the benefits of local topic branches in a single repository in the SVN -&gt; Git change.  Although it&#039;s more steps in Hg vs Git, I really like the benefits that a single local repository gives me, from very very cheap local branches to fast switching to a single, unified view of all my local work.</description>
		<content:encoded><![CDATA[<p>@DaRage</p>
<p>Git&#8217;s workflow is simpler because this is all built in.  Local branches are &#8220;the way&#8221; to work, and are not an afterthought as it is in Hg.</p>
<p>Maybe I have your workflow wrong.  To start new work, the first thing I do is create a new bookmark.  This would mean in Hg land, clone into a new folder.  Bookmark = 1 very cheap step; new folder+clone = two steps, cheap because it&#8217;s local, but not close to as cheap as bookmark.</p>
<p>Doing normal work is the same.  OK, now additional work comes in, and I have to abandon that folder for now.  Do the same, create new folder, clone from the &#8220;master/trunk&#8221; folder.  With topic branches, it&#8217;s checkout master, bookmark.  Because it&#8217;s a checkout, it&#8217;s cheaper than a clone.</p>
<p>Now I want to fold changes from the additional work back in.  So you pull and merge/rebase not from local trunk, but from server trunk, make sure everything works, and push it back out.  Here local branches in Hg is more complicated, as the extensions don&#8217;t support a fast-forward merge as Git does.  Bookmarks adds 1-2 steps here.</p>
<p>This is the exact workflow I used with SVN.  We had feature branches, and created a folder per feature, and had one folder for trunk.  Switching between branches meant loading up a new solution from a different folder.  With Git and Hg, I can now accomplish the exact same workflow, but now all in one local repository (very, very fast) and one local folder.</p>
<p>Still, the main disadvantage I see with multiple repositories is the conceptual overhead of multiple repositories.  With bookmarks, I&#8217;m working with commits.  With folders, I&#8217;m working with file operations.  When a bookmark is completed, I just need to delete the bookmark.  To delete a folder, it&#8217;s more expensive and I have to make sure that everything is closed.  With hg checkout, I can move between trunk/topic branches with ease, and not have the extra burden of managing folders.</p>
<p>There are definitely benefits and drawbacks to both approaches (and others).  Going from SVN -> Git -> Hg, I saw the benefits of local topic branches in a single repository in the SVN -> Git change.  Although it&#8217;s more steps in Hg vs Git, I really like the benefits that a single local repository gives me, from very very cheap local branches to fast switching to a single, unified view of all my local work.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: DaRage</title>
		<link>http://lostechies.com/jimmybogard/2010/07/09/mercurial-workflows-local-development-work/#comment-2502</link>
		<dc:creator>DaRage</dc:creator>
		<pubDate>Tue, 13 Jul 2010 14:29:40 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2010/07/08/mercurial-workflows-local-development-work.aspx#comment-2502</guid>
		<description>@bogardj

It depends how you measure complexity, but for me copying folders and giving them names is way simpler than the workflow described above, in orders of magnitude. 

It is strange to know that folder-based branches are unheard with git. I have never used git because of its complexity compared to hg, so i can&#039;t speak to that.

Maybe you should work the hg way instead of forcing a git workflow that is foreign to it.</description>
		<content:encoded><![CDATA[<p>@bogardj</p>
<p>It depends how you measure complexity, but for me copying folders and giving them names is way simpler than the workflow described above, in orders of magnitude. </p>
<p>It is strange to know that folder-based branches are unheard with git. I have never used git because of its complexity compared to hg, so i can&#8217;t speak to that.</p>
<p>Maybe you should work the hg way instead of forcing a git workflow that is foreign to it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bogardj</title>
		<link>http://lostechies.com/jimmybogard/2010/07/09/mercurial-workflows-local-development-work/#comment-2501</link>
		<dc:creator>bogardj</dc:creator>
		<pubDate>Tue, 13 Jul 2010 12:30:44 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2010/07/08/mercurial-workflows-local-development-work.aspx#comment-2501</guid>
		<description>@DaRage

Right now I have 4 topic branches locally that have not been integrated back to trunk.  Why would I want the additional complexity and maintenance overhead of putting these in separate folders?

With git, doing folder-based topic branches is pretty much unheard of.  This is because local branches are a first-class citizen, making the need for separate folders moot.  I do have to work in a couple of extra steps in Hg for local topic branches versus Git, but I can now manage exactly one repository, versus one repository and folder per branch.
</description>
		<content:encoded><![CDATA[<p>@DaRage</p>
<p>Right now I have 4 topic branches locally that have not been integrated back to trunk.  Why would I want the additional complexity and maintenance overhead of putting these in separate folders?</p>
<p>With git, doing folder-based topic branches is pretty much unheard of.  This is because local branches are a first-class citizen, making the need for separate folders moot.  I do have to work in a couple of extra steps in Hg for local topic branches versus Git, but I can now manage exactly one repository, versus one repository and folder per branch.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
