<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://gwiki3.thatlinuxbox.com/index.php?action=history&amp;feed=atom&amp;title=Mercurial_for_SVN_Users</id>
		<title>Mercurial for SVN Users - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://gwiki3.thatlinuxbox.com/index.php?action=history&amp;feed=atom&amp;title=Mercurial_for_SVN_Users"/>
		<link rel="alternate" type="text/html" href="http://gwiki3.thatlinuxbox.com/index.php?title=Mercurial_for_SVN_Users&amp;action=history"/>
		<updated>2026-04-05T07:41:37Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.27.5</generator>

	<entry>
		<id>http://gwiki3.thatlinuxbox.com/index.php?title=Mercurial_for_SVN_Users&amp;diff=5367&amp;oldid=prev</id>
		<title>Dirk: any -&gt; every</title>
		<link rel="alternate" type="text/html" href="http://gwiki3.thatlinuxbox.com/index.php?title=Mercurial_for_SVN_Users&amp;diff=5367&amp;oldid=prev"/>
				<updated>2009-05-19T17:35:25Z</updated>
		
		<summary type="html">&lt;p&gt;any -&amp;gt; every&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 17:35, 19 May 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l24&quot; &gt;Line 24:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 24:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Workflows ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Workflows ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;However, when working on something, you don't usually push &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;any &lt;/del&gt;change immediately. Instead, use the benefits of version control locally until you have reached a point where you think your work is ready for others to use and only then do the push.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;However, when working on something, you don't usually push &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;every &lt;/ins&gt;change immediately. Instead, use the benefits of version control locally until you have reached a point where you think your work is ready for others to use and only then do the push.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Additionally, having a local repository also lets you work offline. Push your changes when you're back online again.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Additionally, having a local repository also lets you work offline. Push your changes when you're back online again.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dirk</name></author>	</entry>

	<entry>
		<id>http://gwiki3.thatlinuxbox.com/index.php?title=Mercurial_for_SVN_Users&amp;diff=5313&amp;oldid=prev</id>
		<title>Dirk: An attempt at explaining &quot;hg vs. svn&quot;</title>
		<link rel="alternate" type="text/html" href="http://gwiki3.thatlinuxbox.com/index.php?title=Mercurial_for_SVN_Users&amp;diff=5313&amp;oldid=prev"/>
				<updated>2009-05-16T12:57:44Z</updated>
		
		<summary type="html">&lt;p&gt;An attempt at explaining &amp;quot;hg vs. svn&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This is an attempt at giving a quick introduction to [http://www.selenic.com/mercurial/ Mercurial] for those familiar with more &amp;quot;traditional&amp;quot; version control systems, e.g Subversion or CVS. Please replace &amp;quot;SVN&amp;quot; with &amp;quot;(or any other non-distributed VCS you may be familiar with)&amp;quot; in the following text.&lt;br /&gt;
&lt;br /&gt;
== 3 ops vs. 5 ops ==&lt;br /&gt;
&lt;br /&gt;
When using SVN, the most common operations you'll do are&lt;br /&gt;
* checking out a repository&lt;br /&gt;
* committing a change to the repository&lt;br /&gt;
* updating to get the changes other people made to the repository&lt;br /&gt;
&lt;br /&gt;
These things aren't really different in Mercurial - apart from one detail:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;hg clone&amp;lt;/tt&amp;gt; does the initial checkout of a repository. In addition to checking out the files, though, you also get a complete working local copy of the repository.&lt;br /&gt;
&lt;br /&gt;
Consequentially, when you commit changes using &amp;lt;tt&amp;gt;hg commit&amp;lt;/tt&amp;gt;, you only commit them against your local repository. &amp;lt;tt&amp;gt;hg up&amp;lt;/tt&amp;gt; also only updates from the local repository.&lt;br /&gt;
&lt;br /&gt;
So we need two more commands to sync with our &amp;quot;parent&amp;quot; repository:&lt;br /&gt;
* &amp;lt;tt&amp;gt;hg push&amp;lt;/tt&amp;gt; pushes any locally committed changes to the other repository&lt;br /&gt;
* &amp;lt;tt&amp;gt;hg pull&amp;lt;/tt&amp;gt; pulls other people's changes into your local repository&lt;br /&gt;
&lt;br /&gt;
In other words, to get the ''exact same'' effect as in SVN:&lt;br /&gt;
* &amp;lt;tt&amp;gt;hg pull&amp;lt;/tt&amp;gt; + &amp;lt;tt&amp;gt;hg up&amp;lt;/tt&amp;gt; == &amp;lt;tt&amp;gt;svn up&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;hg commit&amp;lt;/tt&amp;gt; + &amp;lt;tt&amp;gt;hg push&amp;lt;/tt&amp;gt; == &amp;lt;tt&amp;gt;svn commit&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Workflows ==&lt;br /&gt;
&lt;br /&gt;
However, when working on something, you don't usually push any change immediately. Instead, use the benefits of version control locally until you have reached a point where you think your work is ready for others to use and only then do the push.&lt;br /&gt;
&lt;br /&gt;
Additionally, having a local repository also lets you work offline. Push your changes when you're back online again.&lt;br /&gt;
&lt;br /&gt;
With SVN, checking something in immediately makes it available to others. And since that means that you risk breaking something, people tend to work on something locally for a long time before checking changes in, which also means that changes are often huge and tend to cover more than one aspect.&lt;br /&gt;
&lt;br /&gt;
The Mercurial documentation recommends using a clean &amp;quot;incoming&amp;quot; repository that you only use to sync with the parent repository. From that repository, you can then easily create local clones. The recommendation here is to have one clone for every feature or bugfix you're working on.&lt;br /&gt;
&lt;br /&gt;
So when you're in the middle of implementing a new feature (with some commits already in your local repository that you don't want to push just yet) and you run into a bug - what do you do? You create a new clone of the incoming repository, fix the bug there, then push back that change to the remote repository. You can then sync the bugfix back (via your incoming repository) into your other work repository and continue working on that new feature.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Dirk</name></author>	</entry>

	</feed>