Re: Merge-friendly text-based data storage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]