<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi folks,<br>
    <br>
    Neither mono- nor multirepo organization is inherently better or
    worse. We should look at the practical issues. From a developers
    perspective, some would be:<br>
    <br>
    <ol>
      <li>Do we want different versions of the source code checked out
        at the same time?<br>
        In the end, this comes down to whether different components have
        their own release cycle, for example, we might develop the next
        version of the work item storage service, but the UI still runs
        against a previous version of the API. Our advertised approach
        is to always have master in production. Since we have different
        people working on the back end and the UI, I don't expect us to
        be able to make changes to the back end and front end in the
        same pull request. However, we may have an integration branch
        where we collect the related changes and then promote them to
        master atomically.<br>
        If we have multiple repositories, we will have to prevent
        breakage some other way: for example with a "no breaking
        changes" policy (using a deprecation window) or by good old
        coordination between contributors.</li>
      <li>Tool support<br>
        I use VSCode to program in go (in my opinion, the code editor
        that sucks the least ;-)). However, if I checkout both
        almighty-core and almighty-ui and then open the parent folder in
        VSCode, I can't use the git tooling in VSCode anymore. So for
        me, monorepo would work better.</li>
      <li>The downside of monorepo is that you can't ever check out less
        than the whole repo. But aside from some wasted disk space,
        what's the problem with that?<br>
      </li>
    </ol>
    <p><br>
    </p>
    <p>Note that this is purely a git issue, if we had a svn repo, we
      would naturally have a single repo with multiple projects
      (folders) in it.</p>
    <p>My conclusion is that I see a monorepo approach as slightly more
      convenient. However, I don't think this is a game changes either
      way.</p>
    <p>/Thomas<br>
    </p>
  </body>
</html>