<?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 &amp; Git</title>
	<atom:link href="http://changelog.complete.org/archives/593-mercurial-git/feed" rel="self" type="application/rss+xml" />
	<link>http://changelog.complete.org/archives/593-mercurial-git</link>
	<description>Viewpoints on technology, society, and government</description>
	<lastBuildDate>Thu, 11 Mar 2010 16:48:59 -0600</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: panzi</title>
		<link>http://changelog.complete.org/archives/593-mercurial-git/comment-page-1#comment-2714</link>
		<dc:creator>panzi</dc:creator>
		<pubDate>Sun, 23 Nov 2008 00:09:50 +0000</pubDate>
		<guid isPermaLink="false">http://changelog2.complete.org/archives/593-mercurial-git.html#comment-2714</guid>
		<description>Hg has hgsubversion, which is also bidirectional. However, this needs the current development version of hg. But hg 1.1 should be released soon anyway.

http://www.selenic.com/mercurial/wiki/index.cgi/HgSubversion</description>
		<content:encoded><![CDATA[<p>Hg has hgsubversion, which is also bidirectional. However, this needs the current development version of hg. But hg 1.1 should be released soon anyway.</p>
<p><a href="http://www.selenic.com/mercurial/wiki/index.cgi/HgSubversion" rel="nofollow">http://www.selenic.com/mercurial/wiki/index.cgi/HgSubversion</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: martin langhoff</title>
		<link>http://changelog.complete.org/archives/593-mercurial-git/comment-page-1#comment-1447</link>
		<dc:creator>martin langhoff</dc:creator>
		<pubDate>Mon, 19 Mar 2007 20:05:09 +0000</pubDate>
		<guid isPermaLink="false">http://changelog2.complete.org/archives/593-mercurial-git.html#comment-1447</guid>
		<description>Good point. There are good reasons for the hash being different -- the hash reflechts a tree identity, and a particular history.

However, in the subsequent merge (at _your_ end), if the patch you mailed out was applied without conflicts, then git will recognise that and not show a merge.

OTOH, it will show a conflict if your upstream edited the patch. This identification is done by hashing the diff so if someone else sent the exact same patch, git will recognise it as merged in too.

So, GIT does deal with &quot;patch identities&quot; creating a SHA1 of the unified diff -- but it treats those as peripheral. The _central_ concept is the content of the tree. From my experience with patch-centered SCMs (darcs, tla), tree identities win big time because it&#039;s cheap to generate patch identities -- whereas it&#039;s a lot more expensive, complicated and failure-prone to generate full trees from series of patches. (When I write failure-prone, I&#039;m thinking of tla...)

Hope that helps!</description>
		<content:encoded><![CDATA[<p>Good point. There are good reasons for the hash being different &#8212; the hash reflechts a tree identity, and a particular history.</p>
<p>However, in the subsequent merge (at _your_ end), if the patch you mailed out was applied without conflicts, then git will recognise that and not show a merge.</p>
<p>OTOH, it will show a conflict if your upstream edited the patch. This identification is done by hashing the diff so if someone else sent the exact same patch, git will recognise it as merged in too.</p>
<p>So, GIT does deal with &#8220;patch identities&#8221; creating a SHA1 of the unified diff &#8212; but it treats those as peripheral. The _central_ concept is the content of the tree. From my experience with patch-centered SCMs (darcs, tla), tree identities win big time because it&#8217;s cheap to generate patch identities &#8212; whereas it&#8217;s a lot more expensive, complicated and failure-prone to generate full trees from series of patches. (When I write failure-prone, I&#8217;m thinking of tla&#8230;)</p>
<p>Hope that helps!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Goerzen</title>
		<link>http://changelog.complete.org/archives/593-mercurial-git/comment-page-1#comment-1445</link>
		<dc:creator>John Goerzen</dc:creator>
		<pubDate>Mon, 19 Mar 2007 14:58:57 +0000</pubDate>
		<guid isPermaLink="false">http://changelog2.complete.org/archives/593-mercurial-git.html#comment-1445</guid>
		<description>The nice thing about darcs send is that it  looks at the remote repository, compares it to the local, and *automatically* sends the patches that local has but remote doesn&#039;t.

But it doesn&#039;t just send a diff, it sends the exact changeset, which, when applied remotely, will have the same hash as locally.  So there is no merging later unless it is modified before applying.</description>
		<content:encoded><![CDATA[<p>The nice thing about darcs send is that it  looks at the remote repository, compares it to the local, and *automatically* sends the patches that local has but remote doesn&#8217;t.</p>
<p>But it doesn&#8217;t just send a diff, it sends the exact changeset, which, when applied remotely, will have the same hash as locally.  So there is no merging later unless it is modified before applying.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jan Hudec</title>
		<link>http://changelog.complete.org/archives/593-mercurial-git/comment-page-1#comment-1441</link>
		<dc:creator>Jan Hudec</dc:creator>
		<pubDate>Mon, 19 Mar 2007 07:22:00 +0000</pubDate>
		<guid isPermaLink="false">http://changelog2.complete.org/archives/593-mercurial-git.html#comment-1441</guid>
		<description>Well, the difference between darcs send and git-format-patch is, that the former maintains the commit identity, while the later simply creates patches.

The idea in git is the logical steps and not how the work was done that should be tracked. So the contributor prepares the changes, against a whatever version, refactors them into logical steps (using stgit or patchy-git git add-on) and sends them in with git-send-email. And the maintainer will apply them to his current head, so they most likely end up with different parent and therefore slightly different anyway. Git has separate &#039;author&#039; and &#039;committer&#039; fields to keep track of who sent it and who applied it.

It should not be too hard to create a git command that would send whole commits though. Just find what a push would do and add it to a pack object instead.</description>
		<content:encoded><![CDATA[<p>Well, the difference between darcs send and git-format-patch is, that the former maintains the commit identity, while the later simply creates patches.</p>
<p>The idea in git is the logical steps and not how the work was done that should be tracked. So the contributor prepares the changes, against a whatever version, refactors them into logical steps (using stgit or patchy-git git add-on) and sends them in with git-send-email. And the maintainer will apply them to his current head, so they most likely end up with different parent and therefore slightly different anyway. Git has separate &#8216;author&#8217; and &#8216;committer&#8217; fields to keep track of who sent it and who applied it.</p>
<p>It should not be too hard to create a git command that would send whole commits though. Just find what a push would do and add it to a pack object instead.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: martin langhoff</title>
		<link>http://changelog.complete.org/archives/593-mercurial-git/comment-page-1#comment-1440</link>
		<dc:creator>martin langhoff</dc:creator>
		<pubDate>Mon, 19 Mar 2007 06:41:09 +0000</pubDate>
		<guid isPermaLink="false">http://changelog2.complete.org/archives/593-mercurial-git.html#comment-1440</guid>
		<description>Nice to see people playing with git-cvsserver ;-) What does darcs send do and why is it so nice?
 
If it formats a commit and sends it to upstream, maybe git-format-patch and git-send-email are what you are after?

(will this cc me on your reply?)</description>
		<content:encoded><![CDATA[<p>Nice to see people playing with git-cvsserver ;-) What does darcs send do and why is it so nice?</p>
<p>If it formats a commit and sends it to upstream, maybe git-format-patch and git-send-email are what you are after?</p>
<p>(will this cc me on your reply?)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://changelog.complete.org/archives/593-mercurial-git/comment-page-1#comment-1439</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Mon, 19 Mar 2007 05:12:50 +0000</pubDate>
		<guid isPermaLink="false">http://changelog2.complete.org/archives/593-mercurial-git.html#comment-1439</guid>
		<description>Git has a MinGW port.

Also, what does darcs send do that git-format-patch and git-send-email don&#039;t?

(You might also find git-imap-send useful if you have an IMAP server.)</description>
		<content:encoded><![CDATA[<p>Git has a MinGW port.</p>
<p>Also, what does darcs send do that git-format-patch and git-send-email don&#8217;t?</p>
<p>(You might also find git-imap-send useful if you have an IMAP server.)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
