Ilya Kantor <iliakan@xxxxxxxxx> writes: > We're using Git to manage translations of an open-source book, and > most of time it works well. But there's also a problem. > > When we pull changes from upstream (English) to translation > (e.g. Japanese), git auto-merges them. > > Sometimes there conflicts, but not all the time. > > For example, when a new file is added to English, it just gets > auto-merged into Japanese. But all new changes must be > human-controlled, translated. > > Is there a way to force git always generate a conflict, even if > changes could be auto-merged? I am not sure what the workflow here and if it makes sense. When you have a file, "chapter47.txt", whose original is in English, the translation projects (there are N of them, one for each language) will have their own "chapter47.txt" that has translated text in the same place? It looks to me that, working that way, the project for translating into e.g. Japanese have no way to keep any of the original English version, in which case why are you even "merging" the English version in the first place? I would have understood if the original "chapter47.txt" is translated into "chapter47_ja.txt" and friends, like "chapter47_fr.txt", all of which sit next to the original "chapter47.txt". Then merging an updated version of the original from time to time would make perfect sense to me---that would give you a way to see what changed in the original (e.g. "git show --first-parent -m -p master chapter47.txt") to guide you find the places you would need to make corresponding changes to the variant of your language, e.g. "chapter47_??.txt".