Version Control

A part of Serge's localization cycle is a two-way synchronization with a version control system (VCS). Serge automatically pulls changes from VCS before processing source files, and pushes localized files back to VCS.

Serge currently supports the following VCS:

  • SVN
  • Git
  • Gerrit (Git-based code review system)
  • Mercurial

Each system is supported by the means of VCS plugins, and you can write your own VCS integration plugins. You can use existing plugins code (located in <serge_root>/lib/Serge/Sync/Plugin/VCS folder) as inspiration.

VCS are defined on a per-configuration file basis. So you can have some translation projects working with Git, and others with SVN, for example. Also, each translation project can define one or more repositories to pull data from.