<?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"
	>
<channel>
	<title>Comments on: Starting to compare Version Control Systems</title>
	<atom:link href="http://blogs.gnome.org/newren/2007/11/15/starting-to-compare-version-control-systems/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.gnome.org/newren/2007/11/15/starting-to-compare-version-control-systems/</link>
	<description>Just another GNOME Blogs weblog</description>
	<pubDate>Sun, 12 Oct 2008 11:59:10 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
		<item>
		<title>By: Elijah&#8217;s Blog &#187; Blog Archive &#187; The concepts a user must learn to understand existing VCSes</title>
		<link>http://blogs.gnome.org/newren/2007/11/15/starting-to-compare-version-control-systems/#comment-199</link>
		<dc:creator>Elijah&#8217;s Blog &#187; Blog Archive &#187; The concepts a user must learn to understand existing VCSes</dc:creator>
		<pubDate>Sat, 01 Dec 2007 18:06:15 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/newren/2007/11/15/starting-to-compare-version-control-systems/#comment-199</guid>
		<description>[...] others, while others claim that they are all pretty much equal?&#8221;, questions I mentioned in my first post. Most probably aren&#8217;t interested in those questions and thus not this entry. I&#8217;m [...]</description>
		<content:encoded><![CDATA[<p>[...] others, while others claim that they are all pretty much equal?&#8221;, questions I mentioned in my first post. Most probably aren&#8217;t interested in those questions and thus not this entry. I&#8217;m [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob Taylor</title>
		<link>http://blogs.gnome.org/newren/2007/11/15/starting-to-compare-version-control-systems/#comment-185</link>
		<dc:creator>Rob Taylor</dc:creator>
		<pubDate>Mon, 26 Nov 2007 00:47:05 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/newren/2007/11/15/starting-to-compare-version-control-systems/#comment-185</guid>
		<description>Hmm,I just tested this and moving (*with git mv*), editing and commiting a file seems to work just fine in git 1.5.3, so ignore my last comment, it works just fine. I'm not sure how though!</description>
		<content:encoded><![CDATA[<p>Hmm,I just tested this and moving (*with git mv*), editing and commiting a file seems to work just fine in git 1.5.3, so ignore my last comment, it works just fine. I&#8217;m not sure how though!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob Taylor</title>
		<link>http://blogs.gnome.org/newren/2007/11/15/starting-to-compare-version-control-systems/#comment-180</link>
		<dc:creator>Rob Taylor</dc:creator>
		<pubDate>Sat, 24 Nov 2007 11:27:31 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/newren/2007/11/15/starting-to-compare-version-control-systems/#comment-180</guid>
		<description>Gabor, I've taken some time to think about it a bit more, and you're quite right! The main problem is if you move, you must commit before making any changes otherwise you'll have a broken history. That's pretty far from ideal. One possible solution would be to have git mv always create an automatic commit object.

Thanks,
Rob</description>
		<content:encoded><![CDATA[<p>Gabor, I&#8217;ve taken some time to think about it a bit more, and you&#8217;re quite right! The main problem is if you move, you must commit before making any changes otherwise you&#8217;ll have a broken history. That&#8217;s pretty far from ideal. One possible solution would be to have git mv always create an automatic commit object.</p>
<p>Thanks,<br />
Rob</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Emanuele Aina</title>
		<link>http://blogs.gnome.org/newren/2007/11/15/starting-to-compare-version-control-systems/#comment-171</link>
		<dc:creator>Emanuele Aina</dc:creator>
		<pubDate>Mon, 19 Nov 2007 15:51:01 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/newren/2007/11/15/starting-to-compare-version-control-systems/#comment-171</guid>
		<description>I agree with Gábor: the git way has the benefit of being implict, but this involve a bit of magic.

For example if I rename a file and modify it in the same commit there is no way to detect the renaming if not told explicitly.

Gábor: I tend to avoid defining people as 'zealots' even if they somewhat deserve it, as this puts the interlocutor in a defensive position and often leads to flames. Just say GIT-fans. ;)</description>
		<content:encoded><![CDATA[<p>I agree with Gábor: the git way has the benefit of being implict, but this involve a bit of magic.</p>
<p>For example if I rename a file and modify it in the same commit there is no way to detect the renaming if not told explicitly.</p>
<p>Gábor: I tend to avoid defining people as &#8216;zealots&#8217; even if they somewhat deserve it, as this puts the interlocutor in a defensive position and often leads to flames. Just say GIT-fans. <img src='http://blogs.gnome.org/newren/wp-content/mu-plugins/tango-smilies/tango/face-wink.png' alt=';)' class='wp-smiley' width='16' height='16' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gábor Farkas</title>
		<link>http://blogs.gnome.org/newren/2007/11/15/starting-to-compare-version-control-systems/#comment-168</link>
		<dc:creator>Gábor Farkas</dc:creator>
		<pubDate>Sun, 18 Nov 2007 21:38:28 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/newren/2007/11/15/starting-to-compare-version-control-systems/#comment-168</guid>
		<description>Rob: My problem with git is this:

&#62; people are used to having to tell thier source control systems 
&#62; this information and so its confusing that they don’t have to,
&#62; but thats the reason there’s a git-rename command,

and then:

&#62; these issues are equal whether you have ‘automatic’ 
&#62; move discovery or explicit description.

imho this is not consistent.

on one hand, git-zealots say that you do not have to tell git that you're renaming, because git is able to figure it out automatically,

on the other hand, when confrontend with a situation, where you EXPLICITLY HAVE TO TELL git that you're renaming, otherwise it does not work, then in such situations they say: but that's the same with other VCSs.

but doesn't that means that their previous sentence is not correct?

please note, i'm not saying what git does is wrong. i just do not agree with the opinion, that git's rename-handling is BETTER IN EVERY WAY.

in my opinion it's a DIFFERENT approach. better in some ways, and worse in other ways.</description>
		<content:encoded><![CDATA[<p>Rob: My problem with git is this:</p>
<p>&gt; people are used to having to tell thier source control systems<br />
&gt; this information and so its confusing that they don’t have to,<br />
&gt; but thats the reason there’s a git-rename command,</p>
<p>and then:</p>
<p>&gt; these issues are equal whether you have ‘automatic’<br />
&gt; move discovery or explicit description.</p>
<p>imho this is not consistent.</p>
<p>on one hand, git-zealots say that you do not have to tell git that you&#8217;re renaming, because git is able to figure it out automatically,</p>
<p>on the other hand, when confrontend with a situation, where you EXPLICITLY HAVE TO TELL git that you&#8217;re renaming, otherwise it does not work, then in such situations they say: but that&#8217;s the same with other VCSs.</p>
<p>but doesn&#8217;t that means that their previous sentence is not correct?</p>
<p>please note, i&#8217;m not saying what git does is wrong. i just do not agree with the opinion, that git&#8217;s rename-handling is BETTER IN EVERY WAY.</p>
<p>in my opinion it&#8217;s a DIFFERENT approach. better in some ways, and worse in other ways.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob Taylor</title>
		<link>http://blogs.gnome.org/newren/2007/11/15/starting-to-compare-version-control-systems/#comment-155</link>
		<dc:creator>Rob Taylor</dc:creator>
		<pubDate>Sat, 17 Nov 2007 18:02:38 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/newren/2007/11/15/starting-to-compare-version-control-systems/#comment-155</guid>
		<description>Gabor, on the kerneltrap discussion, if you read the comments you'll understand that these issues are equal whether you have 'automatic' move discovery or explicit description. Its just down to how much infomation one developer leaves another. At least in git you can find out what happened if someone messed up, which isn't true (at this moment) for any other scm as far as I know.</description>
		<content:encoded><![CDATA[<p>Gabor, on the kerneltrap discussion, if you read the comments you&#8217;ll understand that these issues are equal whether you have &#8216;automatic&#8217; move discovery or explicit description. Its just down to how much infomation one developer leaves another. At least in git you can find out what happened if someone messed up, which isn&#8217;t true (at this moment) for any other scm as far as I know.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob Taylor</title>
		<link>http://blogs.gnome.org/newren/2007/11/15/starting-to-compare-version-control-systems/#comment-154</link>
		<dc:creator>Rob Taylor</dc:creator>
		<pubDate>Sat, 17 Nov 2007 17:57:33 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/newren/2007/11/15/starting-to-compare-version-control-systems/#comment-154</guid>
		<description>James, Gabor - Could you describe exactly what is the benefit of having the developer burden that they have to always excplictly describe their behaviour when renaming files? AFACT, its just to add some metadata into the repository for efficiency in describing renames, though actually in git it couldn't get more faster for detecting a direct (no source changes) rename - its just comparing sha1 hashes of the file blobs.

I guess you could argue that people are used to having to tell thier source control systems this information and so its confusing that they don't have to, but thats the reason there's a git-rename command,</description>
		<content:encoded><![CDATA[<p>James, Gabor - Could you describe exactly what is the benefit of having the developer burden that they have to always excplictly describe their behaviour when renaming files? AFACT, its just to add some metadata into the repository for efficiency in describing renames, though actually in git it couldn&#8217;t get more faster for detecting a direct (no source changes) rename - its just comparing sha1 hashes of the file blobs.</p>
<p>I guess you could argue that people are used to having to tell thier source control systems this information and so its confusing that they don&#8217;t have to, but thats the reason there&#8217;s a git-rename command,</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gábor Farkas</title>
		<link>http://blogs.gnome.org/newren/2007/11/15/starting-to-compare-version-control-systems/#comment-146</link>
		<dc:creator>Gábor Farkas</dc:creator>
		<pubDate>Sat, 17 Nov 2007 10:01:16 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/newren/2007/11/15/starting-to-compare-version-control-systems/#comment-146</guid>
		<description>James: exactly.

as far as i understand, Git's storage model is simply unable to record file-renames, and there's nothing wrong with that. Linus probably maid a decision, that other properties were more important.

what i don't like, is when Git proponents starts to claim that this is in fact an advantage. and that's completely incorrect, because, as you said, if your VCS stores more than what GIT stores, then it can still do GIT-style inference.

also, to all git-rename-zealots:

http://kerneltrap.org/node/11765</description>
		<content:encoded><![CDATA[<p>James: exactly.</p>
<p>as far as i understand, Git&#8217;s storage model is simply unable to record file-renames, and there&#8217;s nothing wrong with that. Linus probably maid a decision, that other properties were more important.</p>
<p>what i don&#8217;t like, is when Git proponents starts to claim that this is in fact an advantage. and that&#8217;s completely incorrect, because, as you said, if your VCS stores more than what GIT stores, then it can still do GIT-style inference.</p>
<p>also, to all git-rename-zealots:</p>
<p><a href="http://kerneltrap.org/node/11765" rel="nofollow">http://kerneltrap.org/node/11765</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James Henstridge</title>
		<link>http://blogs.gnome.org/newren/2007/11/15/starting-to-compare-version-control-systems/#comment-140</link>
		<dc:creator>James Henstridge</dc:creator>
		<pubDate>Sat, 17 Nov 2007 05:03:20 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/newren/2007/11/15/starting-to-compare-version-control-systems/#comment-140</guid>
		<description>Anonymous: what you've said does not make sense.

If I am using a version control system that tracks renames or copies, there is nothing stopping me from ignoring that tracking data and performing GIT-style inference.  Such a VCS is storing a superset of the information needed for such a merge.

If a VCS has the opportunity to record developer intent w.r.t. moves and other operations, it seems like a no-brainer to do so.  Not doing so limits your options in the future.</description>
		<content:encoded><![CDATA[<p>Anonymous: what you&#8217;ve said does not make sense.</p>
<p>If I am using a version control system that tracks renames or copies, there is nothing stopping me from ignoring that tracking data and performing GIT-style inference.  Such a VCS is storing a superset of the information needed for such a merge.</p>
<p>If a VCS has the opportunity to record developer intent w.r.t. moves and other operations, it seems like a no-brainer to do so.  Not doing so limits your options in the future.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Wolf</title>
		<link>http://blogs.gnome.org/newren/2007/11/15/starting-to-compare-version-control-systems/#comment-139</link>
		<dc:creator>Michael Wolf</dc:creator>
		<pubDate>Sat, 17 Nov 2007 01:53:13 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/newren/2007/11/15/starting-to-compare-version-control-systems/#comment-139</guid>
		<description>@Gábor: First you said:

"I don’t think there are many misunderstandings… could you tell an example?"

and later said:

"also, when hunting for comparisons, be careful, because these programs are changing very fast. so it’s quite possible, that a comparison that’s let’s say 6 months old, is not obsolete."

I think many misunderstandings arise for this very reason.

As to why people choose different VCSs, I think it has a lot to do with examples set and who wants to emulate whom.

That is, I think many people say, "Linus wrote git, so it must be great" or "Canonical sponsors bzr, so it is surely awesome." and only later justify it by saying "I use git because it's really fast" or "I use bzr so I don't feel like I'm trapped inside a Kafka story."  (The middle ground, of course, is currently occupied by hg -- reasonably fast and reasonably usable.)</description>
		<content:encoded><![CDATA[<p>@Gábor: First you said:</p>
<p>&#8220;I don’t think there are many misunderstandings… could you tell an example?&#8221;</p>
<p>and later said:</p>
<p>&#8220;also, when hunting for comparisons, be careful, because these programs are changing very fast. so it’s quite possible, that a comparison that’s let’s say 6 months old, is not obsolete.&#8221;</p>
<p>I think many misunderstandings arise for this very reason.</p>
<p>As to why people choose different VCSs, I think it has a lot to do with examples set and who wants to emulate whom.</p>
<p>That is, I think many people say, &#8220;Linus wrote git, so it must be great&#8221; or &#8220;Canonical sponsors bzr, so it is surely awesome.&#8221; and only later justify it by saying &#8220;I use git because it&#8217;s really fast&#8221; or &#8220;I use bzr so I don&#8217;t feel like I&#8217;m trapped inside a Kafka story.&#8221;  (The middle ground, of course, is currently occupied by hg &#8212; reasonably fast and reasonably usable.)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
