git/list[1] front-page[2] threads[3] people[4] search[5] about
 

anything behaviourally like perforce branch-spec mappings in git?

From
Robert Buck <buck.robert.j@gmail.com>
Date
May 8, 2010, 13:39 UTC
Message-ID
<AANLkTikAPyfkAXLstPdEWyq2mKM0uBP1khSUV5t4-I23@mail.gmail.com>

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
Message 1 of 1 in “anything behaviourally like perforce branch-spec mappings in git?”
  1. Robert BuckMay 8, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.