Skip to content
This repository has been archived by the owner on Jun 12, 2021. It is now read-only.

Updating Dependencies

Pike edited this page Jan 19, 2012 · 4 revisions

Updating dependencies in a complex system like elmo is, well, complex. Here's what you should do when you update some external dependencies.

compare-locales

compare-locales is used in elmo, locale-inspector and slave-ball.

elmo

elmo uses compare-locales in the diff view in the pushes app. Run those tests. You update compare-locales by updating the submodule in vendor-local/src/compare-locales

locale-inspector

locale-inspector uses compare-locales in slave.py, the tests for this are on tests/test_compare.py. Run these, and update these if feasible by the update to compare-locales.

locale-inspector tests require a good of weird stuff, including that runAll triggers a Django bug. You'll need to run that with a patched dumpdata.py. It'll write out allruns.json and mounts_local.py, which you can use to visually inspect the compare-locales results from within elmo.

slave-ball

slave-ball pulls in compare-locales through locale-inspector's slave.py code. You want to run locale-inspector's tests. You want to update the submodules for both compare-locales and locale-inspector in vendor-local

Mercurial

elmo, master-ball and slave-ball have more or less dependencies on mercurial and its internal python apis. locale-inspector only depends on the command-line interface of mercurial (at this time).

elmo

Notably, the diff view depends on mercurial. Those are in the pushes app, so you want to run the tests for that.

master-ball

master-ball depends on the hg server's implementation of the json-pushes api. The use of internal mercurial apis is factored out into the elmo's pushes app.

test-master

test-master depends on mercurial through the hgcustom repos. If you update mercurial, you need to update the revisions in createEnvironment

Clone this wiki locally