Update on modularisation of Infusion and other projects conversation

Harnum, Alan aharnum at ocadu.ca
Thu Nov 10 14:41:56 UTC 2016

Thank you Antranig - a quick note on a related piece of this that's on that wiki page (reading it spurred me to try this late yesterday) - in trying to understand the "monorepo" pattern better, I worked a little trying to use Lerna to make a monorepo containing Kettle and Infusion.

>From reading the docs this workflow should look like the following:

- follow the "Getting Started" instructions at https://github.com/lerna/lerna#getting-started
- use "lerna import" on local copies of the Infusion and Kettle repos (Lerna will not import from a repo at a URL) to bring them under the Lerna repo with their commit histories

I immediately ran into the issues described at https://github.com/lerna/lerna/issues/272 for both repos. Specifically:

"lerna import ../lerna-imports/infusion" fails as follows:

Errored while running ImportCommand.execute
Failed to apply commit 029adc5.
Error: Command failed: /bin/sh -c git am -3
fatal: sha1 information is lacking or useless (packages/infusion/src/webapp/demos/html/2InlineEdit.html).
error: could not build fake ancestor

"lerna import ../lerna-imports/kettle/" fails as follows:

Errored while running ImportCommand.execute
Failed to apply commit 8e58cd7.
Error: Command failed: /bin/sh -c git am -3
error: Failed to merge in the changes.

Preliminary conclusion: converting to a monorepo style with Lerna will require either some evolution in Lerna's tooling or some massaging of our existing repos. The suggested "git rebase --interactive" workaround mentioned at https://github.com/lerna/lerna/issues/272#issuecomment-255486762 did not work for either repo.

I don't think I unearthed anything spectacularly useful here, but wanted to note what I tried & the immediate roadblock in case it saves others time in the future.


E aharnum at ocadu.ca<mailto://aharnum@ocadu.ca>

100 McCaul Street, Toronto, Canada, M5T 1W1

On 2016-11-08, 2:31 PM, "fluid-work on behalf of Antranig Basman" <fluid-work-bounces at lists.idrc.ocad.ca<mailto:fluid-work-bounces at lists.idrc.ocad.ca> on behalf of antranig.basman at colorado.edu<mailto:antranig.basman at colorado.edu>> wrote:

Last month a few of us had an updated conversation about where our
thinking about how to modularise our repositories had reached. The notes
were taken in a "GPII pad" and weren't more widely circulated - so I
took the opportunity now to wikify them and update our ancient page on
Modularisation of Infusion from 2014 -


It looks like there might be some pretty straightforward things we could
do by harmonising our existing fluid-publish and grunt-modulefiles
workflows, together with the basic file/module layout that we already
established in our GPII projects (e.g. universal) to get most of what we
need. Please circulate further discussion or thoughts - this looks like
a good task to tackle after the Infusion 2.0 release, as well as looking
at the mechanics of moving the GPII itself to being a "larger monorepo"
- (but what could be larger than something which is already "universal"?
: P )


fluid-work mailing list - fluid-work at lists.idrc.ocad.ca<mailto:fluid-work at lists.idrc.ocad.ca>
To unsubscribe, change settings or access archives,
see http://lists.idrc.ocad.ca/mailman/listinfo/fluid-work

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.idrc.ocad.ca/pipermail/fluid-work/attachments/20161110/057dac72/attachment.htm>

More information about the fluid-work mailing list