[Cryptech Core] proposed core reorganization

Peter Stuge peter at stuge.se
Tue Mar 10 16:31:54 UTC 2015


Paul Selkirk wrote:
> > Yes, I think renames too are fine, but deleting non-empty ones
> > without having that history somewhere else?
> 
> The repo currently named core/novena_eim has the history of our
> thrashing around with Bunnie's EIM code, before Pavel completely
> rewrote it. It might be of mild interest to someone, but it never
> produced a usable result. Even today, it doesn't work

Fair enough. Thanks for the summary!

> I suppose I don't object in principle to archiving the current state
> of the core/ tree (in say archive/ or historical/), but it will need
> a user's guide.

I guess it wouldn't get used much, but I think it would be good to
save anyway.


> >> whereas with the ten zillion separate repositories there's no
> >> history mechanism for rearrangements of the repository tree itself.
> > 
> > Sure there is, a single top level repo has each of the zillion repos
> > as submodule. History of that repo tracks rearrangements, even though
> > history of the zillion repos is not atomic.
> 
> It may be a religious question, but what is the advantage of having a
> super-repo with a bunch of repos as submodules, versus having one
> honking big repo?

That's an important question! In a word it provides modularity.

Each repo has its own versioning, all commits in each repo are
changes to one and the same logical entity, and especially if
cores are (or will be) mix-and-match then it allows a third party to
create their own super-repo with only the particular submodules they
need.


> I could understand it if the repos are hosted on different servers,
> but all of the cryptech repos are hosted on the cryptech server,

It's less about hosting.


> and they are furthermore somewhat inter-dependent.

Ah - is that on purpose, or more an accident that will take a bit of
effort to move away from?

Inter-dependent things may still warrant separate repos, depending on
specifics. Each logical entity should have its own repo. When
entities have inter-dependencies a consistent view is always possible
through a super-repo, if one is strictly required at every level.

(That's why I mentioned that there might be several levels. But I
don't know if that makes sense at this point.)

Cryptech is a very ambitious project. An Android system is built out
of several hundred repositories. I don't think Cryptech will need to
go that far, but I do think individual repos is important.


//Peter



More information about the Core mailing list