2008/11/12 Wynand Winterbach <[EMAIL PROTECTED]>:
> Hi everyone
>
> (I'm including OOo here, because you might want to use Mercurial with
> Pootle)
>
> The version control system in Pootle does not work well with distributed
> version control systems (git, Mercurial, Bazaar, Darcs).
>
> We have a proposed solution and would like feedback.
>
> **
>
> When a user updates a file from version control in Pootle, Pootle:
> 1. loads the file into memory (call this A),
> 2. reverts the file to the version that was checked out from the version
> control repository,
> 3. updates the file from the version control repository,
> 4. loads the updated file into memory (call this B),
> 5. merges A and B based on translation unit changes,
> 6. stores the resulting file.
>
> This system works for systems like CVS and Subversion, which allow
> individual files to be updated.
>
> **
>
> Now consider what happens if we have two modified files - file_1.po and
> file_2.po - in our Pootle project.
>
> The user attempts to update file_1.po.
>
> Pootle:
> 1. loads file_1.po into memory,
> 2. reverts file_1.po to the version that was checked out from the version
> control repository,
> 3. updates file_1.po from the version control repository,
> 4. BREAKS
>
> This won't work, because file_2.po is modified; making it impossible to
> reliably pull new revisions from the version control repository.
>
> **
>
> Our solution is to keep two project directories:
> 1. The Pootle project directory,
> 2. The version control project directory.
>
> In this way, Pootle will always be able to update the version control
> directory. It can also update individual files as the need arises.
>
> **
>
> This solution seems wasteful, but there is a good reason: at some point, we
> *might* (don't take this as a commitment) want to store the projects in a
> database. Then it will be necessary to have external version control
> directories to do merging.
>
> **
>
> Opinions? Alternative suggestions?

This looks good.

Another option is not to have another directory to pootle. Instead
having a good translation memory to which all translations are added.
When the version control directory updates, Pootle will after try to
automatically translate the files with the TM exact matches. This will
reduce the use of disk space, but it probably will impose a high load
of cpu and/or pootle will update all files even if only one of them is
updated.

Bye,
                   Leandro Regueiro

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Translate-pootle mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/translate-pootle

Reply via email to