threads / discuss / 23745

anything behaviourally like perforce branch-spec mappings in git?

Subject: anything behaviourally like perforce branch-spec mappings in git?

## tl;dr

One message between May 8, 2010 and May 8, 2010.

replies: 0people: 1as markdown or json

Robert Buck· May 8, 2010, 13:39 UTC · lore

Back at VeriSign we used branch-specs in Perforce to normalize checked-in tooling to standard names (without version numbers). For example:

Checked into the Perforce "releng" depot was the following:
//releng/
  head/
    vendor/
      junit-4.1/
        junit-4.1.jar
      junit-4.3
        junit-4.3.jar
  branches/
     same as above...
And a product specific depot may be:
//general
  head/
    ...
  branches/
    ...
The branch spec for a product would be:

//releng/branches/branch-name/vendor/junit-4.1 //workspace/releng/vendor/junit ...

You should be able to get the point. We supported workspace composition, and the neat thing was that the build system itself was versioned and could be separately versioned and changed as though it were itself a product. But, as the build system was Ant based, rather than constantly changing the build system to adapt to new versions of junit, oro, and ivy jars, we simply used branch and view specs to neutralize the workspace so the build system only referred to names that lack version numbers. Further, a product could upgrade to a newer version of the build system, almost always without consequence just by changing these mappings.

So, is there some way to similarly accomplish this in Git? It was a huge time-saver for release engineering at VeriSign, a pattern I'd like to replicate using Git.

- Bob

← back to recent threads