developing nettle with git
nisse at lysator.liu.se
Sat Mar 26 08:46:09 CET 2011
Daniel Kahn Gillmor <dkg at fifthhorseman.net> writes:
> git does have submodule support -- so you can have one repository
> reference another at a given commit.
I don't have any first-hand experience with git submodules, but I've
heard some stories saying that it's not yet very usable.
> Is there a reason that lsh would need to be tightly-coupled with any
> of these libraries instead of using their exported API?
The main reason is that lsh is the main testcase. So when introducing
new features one of those those libraries, I usually first hack lsh to
use it, to iron out both interface and implementation bugs. Those
intermediate versions may never be in the API of any released library.
git submodules (assuming that they work well) would probably be the
right tool to keep these libraries in subdirectories of the lsh work
Ah, and then it's the release procedure. I'd still like to bundle the
libraries with lsh, and having the libraries in subdirectories makes
that easier. And as long as the versions bundled with nettle are
configured for static linking, I see no problem of bundling lsh with
unreleased versions of the libraries.
> How often do these files actually change? Is it critical that they be
> kept in sync?
It's not critical, it's just for convenience. It's nice to have a single
version, which is used (and tested) with all the projects.
>> I guess it's possible to start with migrating nettle from cvs, and leave
>> the rest of the tree for later. But I'm not sure that's a good way to do
> I actually don't think that's an unreasonable approach. If we just
> migrate one component (nettle), we can make sure the migrated setup is
> OK and that your workflow feels sensible before going through the work
> of the other subprojects.
If we do that, I guess we'd need the following steps:
1. migrate the nettle cvs directory to a git repository.
2. cvs rm all those files from the cvs tree (as usual, we can't cvs rm
the directories themselves).
3. At some later time, migrate the lsh cvs repository to git. Should the
old nettle subdirectory be excluded somehow? Perhaps not, if I want
to be able to check out old lsh versions from git.
Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26.
Internet email is subject to wholesale government surveillance.
More information about the nettle-bugs