GPG guide/Repository and Publishing

From LibrePlanet
Jump to: navigation, search

Checkout Out Project for editing/translating

To do this, you'll need to have the FSF tech team give you access. See the instructions at If you want to download the repository but do not intend to directly edit the master copy, see the instructions below.

The repository can be checked out via the following command: git clone After checking out, make sure you are on the master branch of the repository.

The static submodule

The 'static' directory is now a part of the main repo itself, rather than a separate repo. This helps with the portability of the site, so it can be run anywhere, without reliance upon a shared (or unshared) resource at

To remove the old Git submodule, you'll need to run the following in your enc/ directory:

git submodule deinit static
git pull
rm -rf .git/modules/static/

Checking out the project for read-only access

You may want to do this if you plan to create diffs and send them to the FSF as suggested edits, rather than editing directly. You do not need permission for this.

git clone

The Hooks

The repository has the following hooks:


** When master is pushed to, is updated.

  • (previously a submodule of the, it was found in the static/ directory of its parent repository).

Pushing to the Live Instance

NOTE: Access to the live site is restricted, access is given on an as needed basis. Anyone can watch commits to it on the Web at

Due to some poor design decisions (made by Zak) early on in this project, a clean, git-only workflow isn't possible for publishing right now. Instead, to publish:

  • Check out the dev repo (enc) *and* the live repo (enc-live) on the same computer. If you already have them, make sure they are both up to date.
  • Manually copy the directories for the languages you want to publish from the dev to the live site, but don't push yet
  • Test the new or modified pages on your own computer. To do this, you'll need to set up a local server. See the instructions at Make sure the local server is serving your checked out copy of the live site, not the dev site.
  • Push your updated live repo.

This is the more "correct" method, which you should not use right now, but which will again be appropriate some day.

  • Add the following remote repository: git remote add live
  • When you are ready to push to the live site, use: git push live master
  • Your changes will be then pushed to