{"id":4735,"date":"2012-12-16T22:39:12","date_gmt":"2012-12-17T03:39:12","guid":{"rendered":"http:\/\/esr.ibiblio.org\/?p=4735"},"modified":"2014-03-09T22:18:46","modified_gmt":"2014-03-10T02:18:46","slug":"the-reposturgeon-that-ate-sheboygan","status":"publish","type":"post","link":"http:\/\/esr.ibiblio.org\/?p=4735","title":{"rendered":"The Reposturgeon That Ate Sheboygan!"},"content":{"rendered":"<p>Well-designed software suites should not only be correct, they should be able to demonstrate their own correctness.  This is why the new 2.10 release of reposurgeon features a new tool called &#8216;repodiffer&#8217;.  And yes, that is what it sounds like &#8211; a diff tool that operates not on files but entire repository histories.  You get a report on which revisions are identical, which are different, and in the latter case where the differences are, down to which files don&#8217;t match.  Commits to be paired are matched by committer and commit date.  Like reposurgeon, it will work on any version-control system that can emit a fast-import stream.<\/p>\n<p><!--more--><\/p>\n<p>If you tried running repodiffer on two repositories for different projects the output would be noise and coincidences.  What it&#8217;s really useful for is comparing two different attempts to lift a repository.  Don&#8217;t trust reposurgeon? Fine &#8211; lift your repo twice, once with git-svn or whatever tool strikes your fancy, then run repodiffer to see the differences.  <em>All<\/em> the differences, not just those in the master tip state. I&#8217;ve already found one bug in git-svn this way.<\/p>\n<p>There are few other new goodies, like automatic translation of .cvsignore to .gitignore files (trivial, really &#8211; the syntax is upward-compatible).  Also, translations from Subversion now emulate Subversion&#8217;s default ignore-pattern behavior.<\/p>\n<p>Also note the new web page comparing reposurgeon to other translation tools. To be extended&#8230; <\/p>\n<p><a href=\"http:\/\/www.catb.org\/esr\/reposurgeon\/\">Fear the reposturgeon!<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Well-designed software suites should not only be correct, they should be able to demonstrate their own correctness. This is why the new 2.10 release of reposurgeon features a new tool called &#8216;repodiffer&#8217;. And yes, that is what it sounds like &#8211; a diff tool that operates not on files but entire repository histories. You get&hellip; <a class=\"more-link\" href=\"http:\/\/esr.ibiblio.org\/?p=4735\">Continue reading <span class=\"screen-reader-text\">The Reposturgeon That Ate Sheboygan!<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,13],"tags":[],"class_list":["post-4735","post","type-post","status-publish","format-standard","hentry","category-new-on-my-website","category-software","entry"],"_links":{"self":[{"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=\/wp\/v2\/posts\/4735","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4735"}],"version-history":[{"count":4,"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=\/wp\/v2\/posts\/4735\/revisions"}],"predecessor-version":[{"id":5339,"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=\/wp\/v2\/posts\/4735\/revisions\/5339"}],"wp:attachment":[{"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4735"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4735"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4735"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}