On 24-nov-2005, at 8:57, Georg Viehöver wrote:
> Hi Sjoerd,
>
> unfortunately, most CM system merge files based on lines. I.e. they
> have no idea about programming languages (e.g. structures like
> blocks, methods, classes) or dependencies between files (e.g. .cpp
> and .h files). Merging, conflict detection, conflict resolution
> happens only by looking at the lines of files. It is quite obvious
> that this can be insufficient. Nevertheless, this strategy is
> successful surprisingly often.
That's exactly the point. We would like some tools that could work in
cases where merges of line-based structures aren't good enough. On a
side note, the classic way of diffing/merging used in Subversion is
not really line-based as well, it is actually block-based, where a
block of minimal size is exactly one line. This means that we get
conflicts due to overlapping more often.
Additionally, we would like to have some sort of way to store the
semantics of our actions as well, and not the (minimal) set of
actions we need to take to get from one document to another document.
> Does anybody know of "language aware" merge tools? I think that
> ClearCase has something for XML, but I am not sure.
For an interesting read, check out this thesis by Tancred Lindholm.
He has done a significant amount of work on XML (and as such tree)
merging. You can download it at <http://www.cs.hut.fi/~ctl/3dm/
thesis.pdf>.
I am aware that this is not actually a discussion related to
Subversion use, but it has given me some pointers on additional
information (and has sparked some discussion on the dev-list as
well). So thanks for the replies so far.
Sjoerd.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Thu Nov 24 16:24:17 2005