tech-repository archive

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

Re: BitKeeper open-sourced

The word 'branch' is such a loaded concept and means different things to different people. In git, a branch is just a bookmark for a given rev so you can switch to it. In SVN a branch is a formalized fork in development that is centralized on the server.
In git (and bk) one of these formalized branches can be emulated by convention.

A given bitkeeper repository can have an arbitrary collection of csets with any possible branching structure.

I can pull changes from any point in a repository to the tip of my current working repository. This pull will preserve the branching structure and merges will not duplicate data. The restriction is that any given repository can only have a single leaf node in the DAG. But a collection of repositories can represent any possible DAG structure.

To put another way, git's branches are names for different tips (or leaf nodes) in the graph. In BitKeeper those names live side by side in the filesystem with the revision history typically hardlinked together.

So, yes, if your project has multiple centralized branches (or lines of development) then on your central server you will have a separate repository for each of those branches and they will have different URLs. But I really chafe at the idea of saying "It is just like SVN". ;-)


On 06/06/2016 01:30 PM, Martin Husemann wrote:
On Sun, Jun 05, 2016 at 05:03:20PM -0400, Wayne Scott wrote:
Instead in BitKeeper, the the different "tips" of the different projects
are stored in separate directories.  Code can move between these
directories freely.

Just to make sure I understood correctly: this is basically identical
to branch/tag handling in subversion, where each branch has a special
URL and the whole subdirectory structure is duplicated below?


Home | Main Index | Thread Index | Old Index