Cross-channel Repository Creation

The generation of the cross-channel repository gecko-strings is done by the script initial.cli.create.

The python code depends on mozxchannel from version-control-tools/cross-channel-l10n and compare-locales of version 5.0 (or default).

The arguments specify the cross-channel repositories in the order in which they’re supposed to be merged, newest first, and then so forth:

  1. mozilla-central
  2. releases/mozilla-beta
  3. releases/mozilla-release
  4. releases/mozilla-esr-??
  5. releases/mozilla-esr-??

As cross-channel rides the trains with Firefox 57, this list currently stops at beta.

For each repository, you also pass in where on disk that repository is found. You can use a single clone for all related repositories, but you don’t have to.

The source repositories are given with optional arguments, and must be given in the right order, and in corresponding numbers.

Followed is the file location of the target directory, in which the gecko-strings repository is expected to exist as en-US. The repository is not created automatically, you need to make sure that it’s there.

Note: Investigate using gecko-strings as local repository name.

Next up, the currently converted repository is specified, which is one of the --repo-name from before, alongside with the revision to convert to.

Finally, the paths to the l10n.toml files are given, relative to the repositories.

Example:

$> python -m initial.cli.create --repo-name=mozilla-central -R ~/src/mozilla-central mozilla-central 30211 browser/locales/l10n.toml mobile/android/locales/l10n.toml