Extend version control with a custom delta algorithm

What mature version control systems allow you to redefine delta search and application algorithms? Either through the plugin or through the exterior, the tool does not matter.

It should be possible to override the internal VCS decomposition algorithm for specific file types. Custom deltas must be stored in the repository, which will be used by the delta algorithm.

Internal binary diff is not acceptable in my case.

I mean precisely redefining algorithms without displaying the differences using the special diff program.

+2
source share
3 answers

For the server side: As far as I know (I'm not an expert on this!), This is not easy to do. So you are the best shot, it seems you get the source from Apache Subversion and modify / extend it to suit your needs. A look at Pre-Commit Hooks is also an idea.

For the client side: ClearCase has several additional additional tools for merging, for example. office documents. You can also change the diff / merge tool in the Tortoise SVN client.

0
source

In the case of git, I don’t know an easy way to override the binary deltas calculation method, which are used for efficient storage in pack files. (Pack files are generated with most transports to efficiently transport data to and from the server.)

However, you can see the bup project for git. This involves directly collecting git pack files for the case of using git to back up huge amounts of data. This is similar to what you want to do.

[I understand that you explicitly exclude this in your question, but if another reader finds this question that is interested in the good binary distinguishable for the user, I will point out this useful example from Pro Git .]

0
source

You can definitely write plugins for Bazaar that provide custom merge algorithms: http://doc.bazaar.canonical.com/development/en/user-guide/hooks.html#example-a-merge-plugin http: // doc .bazaar.canonical.com / development / en / user-reference / hooks-help.html # merge-file-content

After a quick look, I did not see anything like this to make the differences, but I am sure that adding something like this is not so difficult. I know there are plugins like bzr-tools that can provide an alternative diff output (cdiff that prints diff with some color).

0
source

All Articles