title: How do git grafts and replace differ? (Are grafts now deprecated?)
body: <p>There are very few Q&amp;A's on git <code>grafts</code> versus <code>replace</code>. The search <em>[git] +grafts +replace</em> only found two that felt relevant of the 5. <a href="https://stackoverflow.com/questions/161928/what-are-git-info-grafts-for">what-are-git-info-grafts-for</a> and <a href="https://stackoverflow.com/questions/6088551/git-what-is-a-graftcommit-or-a-graft-id">git-what-is-a-graftcommit-or-a-graft-id</a>. There is also a note on <a href="https://git.wiki.kernel.org/index.php/GraftPoint" rel="noreferrer">git.wiki.kernel.org:GraftPoint</a></p>
  
  <p>Are grafts now <strong>completely overtaken</strong> by the <code>replace</code> and <code>filter-branch</code>, or do they still needed for some special corner cases (and backward compatibility) ?</p>
  
  <p>In general, how do they differ (e.g. which are transported between repos), and how are they generically the same? 
  I've seen that Linus doesn't appear to care about grafts at present in the discussion on commit generation numbers (of the max parents back to any root variety) <a href="http://permalink.gmane.org/gmane.comp.version-control.git/177153" rel="noreferrer">"Grafts are already unreliable."</a></p>
  
  <p>EDIT: more info found.<br>
  A search of www.kernel.org/pub/software/scm/git/docs for <code>graft</code> only found 3 results: </p>
  
  <ol>
  <li>git-filter-branch(1), </li>
  <li>v1.5.4.7/git-filter-branch(1),</li>
  <li>v1.5.0.7/git-svn(1).</li>
  </ol>
  
  <p>A slightly broader search found <a href="http://www.kernel.org/pub/software/scm/git/docs/RelNotes/1.6.5.txt" rel="noreferrer">RelNotes/1.6.5.txt</a> which contains:</p>
  
  <blockquote>
    <ul>
    <li>refs/replace/ hierarchy is designed to be usable as a replacement
    of the "grafts" mechanism, with the added advantage that it can be
    transferred across repositories.</li>
    </ul>
  </blockquote>
  
  <p>Unfortunately, the <a href="http://www.kernel.org/pub/software/scm/git/docs/gitrepository-layout.html" rel="noreferrer">gitrepository-layout(5)</a> isn't yet up to date with the refs/replace/ repository layout info (and notes), nor any deprecation note of info/grafts.</p>
  
  <p>This gets closer to supporting what I was thinking but I'd welcome any confirmation or clarification.</p>