Team project¶
Synchronize project.omegat with remote repository¶
We take the following procedure to open the project.
Every time we reopen the project, we copy omegat.project from the remote project.
When opening a teamwork project as local only non-teamwork by passing ‘no-team’ to command line, skip teamwork treatment.
Save the currently effective repository mapping [1] from LOCAL to variable ‘repos’.
Update project properties from REMOTE copy of
omegat.projectthat has postfix.NEWby callingloadPropertiesFile(... )with"omegat.project.NEW". It respects a local root repository URL than remote mapping configurationHandles mappings of four cases.
no mapping
no remote mapping, there are local mapping(s) the locally defined mapping(s) are merged into local
omegat.project.remote mapping, no local mapping(s)
remote and local mappings Local mapping changes are overwritten except for root repository mapping.
We save the original project file with as
omegat.project.timestamp.bak
root mapping URL¶
We basically use mapping from remote configuration but override repository URL when there is difference between local and remote configuration. It is because many repository services provide multiple protocols to access same repository. For examples, git repository access can be https or git+ssh, and svn repository access can be https or svn+ssh.
We respect local configuration of root mapping protocol. For example, there is root mapping
https://example.com/repo.git in a remote project, but a user specifies git@example.com:repo.git,
local omegat.project will have git@example.com:repo.git as a root project mapping.
Non-team project¶
When the project is configured without a team feature, or start OmegaT with a command line option --no-team,
OmegaT validates a project file omegat.project. If there is no problem, OmegaT just open the file.
Otherwise, OmegaT asks user to change some wrong configuration, and save it as a new project file and create backup
file, which will be named omegat.project.YYYYMMDDhhmm.bak