<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2015-11-30 19:20 GMT+03:00 Gary Byers <span dir="ltr"><<a href="mailto:gb@clozure.com" target="_blank">gb@clozure.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000"><span class="">
    <br>
    <br>
    <div>On 11/30/2015 08:29 AM, Stelian Ionescu
      wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div>If you want to keep the master copy in SNV and mirror to git,
        SubGit can do that but mapping externals to submodules is not
        supported: <a href="http://www.subgit.com/remote-book.html" target="_blank">http://www.subgit.com/remote-book.html</a> chapter
        9.<br>
      </div>
      <div>If you want to keep the master copy in git and access it
        through SVN, Github supports that: <a href="https://help.github.com/articles/support-for-subversion-clients/" target="_blank">https://help.github.com/articles/support-for-subversion-clients/</a>.
        Again, mapping submodules to externals is not supported.<br>
      </div>
      <div> </div>
      <div>That said, as far as I understand it, there are two reasons
        why binaries are bundles with the sources:<br>
      </div>
      <div>1) for easy distribution of released binaries together with
        the code so that those who only use releases can also M-. (or
        equivalent) without hassles.<br>
      </div>
      <div>2) for easy bootstrap because of compiler and/or ABI(such as
        fasl format) changes within a release.</div>
    </blockquote>
    <br></span>
    Several years ago this was essentially how CCL was distributed - one
    checked out sources from CVS and a<br>
    a matching tarball via FTP or equivalent, and that was it.  At the
    time, there were two possible choice of<br>
    tarballs., one for 32-bit PPC Linux and another for 32-bit PPC
    Darwin.</div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000">
    <br>
    Some of the smartest people that I've ever known were very confused
    by this, and I think that having<br>
    a single way for users to obtain a consistent set of sources and
    binaries is very important.  SVN offers<br>
    this via "external properties", which are otherwise a mess.  If Git
    does as well, I have not seen anyone<br>
    describe the mechanism. </div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000">
    <br>
    I don't otherwise care whether one uses "svn co something" or "git
    clone something", but I would<br>
    not want to expect users to have to revert back to what didn't work
    well long ago.</div></blockquote><div>I don't know about CCL, but the GCC source distribution comes with a simple</div><div>download_prerequisites shell script which downloads via wget MPFR, GMP, MPC libraries</div><div>before building GCC. This works fine for many years. So, why not use this approach with CCL?</div><div>There are "hooks" system in the Git, which are event-based. It's possible to</div><div>run the script for download actual binary files after git clone or git merge or git pull</div><div>operations (post-checkout and post-merge hooks).</div></div></div></div>