situation:
- we have multiple feature branches, one main branch;
- one particular project has multiple XML files, key-value pairs for different languages;
- only one person doing translation, not programmer, but an analyst;
- we use feature branches to separate features and scope of testing; different QA is responsible for testing on different branch for different user story.
- when a user story is done, we merge the feature branch up, and sync down to other sub branches
- those language XML files are large, say, roughly a few hundred key-value pairs in each.
challenges:
challenges come when multiple feature branches need translation, and the translation changes are done in the same file, say Japanese;
- QA occasionally files a translation bug fixed in another branch;
- the analyst is confused which branch to work on;
- very high chance when merging, one version overwrites another version; because when we merge from a branch, the default logic in TFS takes the newer version to overwrite it. Most of time it works fine, but in some cases it failed, which increases the complexity of merging.
of course those challenges are manageable.
But ideally, I really think those static files should belong to one place instead of feature branches, so all feature branches share the same translation pack.
I could use an internal nuget source to host the language files, but it will increase the work every time we make a small translation change.
or I could setup TFS to use relative path, but then I need to update build definition in the build server and make sure the local build can grab the correct file.
Is there any other recommendation? Thanks