Does Subversion support aliases for branches

Is there a way in subversion to indicate that a particular path is an alias for another path, with the ability to update that alias when conditions change? Can I block paths to prevent changes in them?

I am working on a repository structure, and what I would like to do is the following ways:

  • /versions/1.0 - previous release (blocked)
  • /versions/1.1 - previous release (blocked)
  • /versions/1.1.1 - Current version (unlocked for patch development)
  • /versions/1.1.2 - Next minor version (unlocked for development)
  • /versions/1.2 - Next major release (unlocked for development)
  • / patch - An alias for / versions / 1.1.1, Checkins are displayed in both places
  • / subrelease - An alias for / versions / 1.1.2, Checkins are displayed in both places
  • / trunk - Alias ​​for / versions / 1.2, Checkins appear in both places

The goal is to keep the trunk moving in order to keep up with where most developers work. After we release a couple of times, and 1.2 goes live, the structure will be as follows:

  • /versions/1.0 - previous release (blocked)
  • /versions/1.1 - previous release (blocked)
  • /versions/1.1.1 - previous version (blocked)
  • /versions/1.1.2 - previous version (blocked)
  • /versions/1.2 - current version (unlocked for patch development)
  • /versions/1.2.1 - next minor version (unlocked for development)
  • /versions/1.3 - Next major release (unlocked for development)
  • / patch - Alias ​​for / versions / 1.2, Checkins appear in both places
  • / subrelease - An alias for / versions / 1.2.1, Checkins are displayed in both places
  • / trunk - Alias ​​for / versions / 1.3, Checkins appear in both places

I know that I can do this on my own machine, but the obligation to do so in source control gives everyone a common set of words for work.

+7
version-control svn
source share
2 answers

As far as I know, you can achieve something similar using the svn: externals property to make the folder valid as an alias to another. If you never have to make transactions in two versions / branches at the same time, this should work.

+6
source share

There is no support for aliases, sorry. However, it’s quick and easy to copy entire trees. You can either not create a version of /1.2, etc., and then just copy the trunk to version /1.2 when the time comes, or instead just work in version /1.2. Alternatively, you can control both, but use the process to copy the commit between them, for example. after they have passed all the tests on your continuous integration server, it copies the data from the trunk to 1.2.

Lock: you can write a commit binding on the server side to prevent the fixation of certain paths and add your own paths there to block them. However, there is no built-in support either on the server or on the client by default. Some customers, for example. TortoiseSVN will handle paths containing "tags" that should be blocked, and warn you if you are going to commit them, but this is purely client and client.

+2
source share

All Articles