Relative Versioning

With relative versioning you can have your developers move at the speed of light, without having to worry about relativistic merge conflicts.

What is Relative Versioning?

The problem of relative merge conflicts arises through the equations of space-time relativity.

The issues is illustrated with a thought experiment of two moving programmers communicating with a light signal. Assuming the speed of light is c in all inertial frame of references, the dashed lines represent the plane of simultaneity. All events on a given dashed line happen at the same time from the point of view of the moving observers.

Minkowski diagram of a relativistic merge conflict

The observers A and B will experience the merge conflict at different times.

Without a tool like Fluxion, these conflicts can be difficult to identify and resolve, leading to frustration and delays in project development. With Fluxion, developers can work together seamlessly, even when moving at high speeds, thanks to its ability to visualize and manage merge conflicts in a way that respects the relativity of time and space.

Quick overview of the version command

To tag a new version, use the fluxion tag command:

$ fluxion version add .
$ fluxion version tag
 applying transform...
 calculating world lines...
 resolving merge conflicts...
  completed in 1.67 s

You can optionally supply the --transform argument to specify a custom transform over the default Lorentz one.

Was this page helpful?