On 26.03.2012 16:19, Richard Hartmann wrote:
Hi all, I am looking for information on how to design a merge-friendly data layout. Oddly enough, there does not seem to be much online other than the obvious "use text-based lines, one per data point". My current plan looks like: metamonger\tversion: 0 filename\towner_name\tgroup_name\tetc\tpp ########## file1\trichih\trichih\tfoo\tbar relative/path/to/file2\troot\troot\tfoo\tbar the two upper lines are designed to fail a merge if the version of the file layout changes. Anything starting with a hash-pound is a comment and will be ignored.
I may be misunderstanding something, but lets assume you want to merge a file that has "version: 0" with one that has "version: 1" and their last common ancestor would have "version: 0" naturally. So the merge would not fail even though the file layout changes.
And there would be random merge failures with lines added at the same line number even if different.
The normal merging in git isn't suited for this task, it has different objectives. Without a custom merge driver as Junio suggested the only way would be to store each data line in its own file. As you store file paths that would even fit, but I doubt it is what you had in mind
-- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html