SVN: create folder for older versions

I'm new to version control systems, so forgive me.

My project consists of two small applications, as in their own SVN repositories. In addition, I have one common repository (svn: externals) between these applications.

When the new version is released, I would like to create a folder for this version (including sources, documents, etc.). The repository for one application should look something like this:

.UI
    . "old versions"
        . 1.0
        . 2.0
        . 2.5
    . trunk (current development version 3.0)

So my questions are:

  • What is the correct name for this type of structure (in SVN)?
  • How can I create it?
  • Is it possible to freeze these old versions (prohibit making changes to this folder)?
  • Are there any better ways to achieve this?
+3
source share
3 answers
  • "" - .
  • "svn copy" - . .
  • , "pre-commit hook" (. ).
  • . , .

pre-comit hook ( ), :

@echo off
SET SVNLOOK=C:\Program Files\CollabNet Subversion Server\svnlook.exe
SET GREP=D:\SVN\REPO\hooks\grep.exe

REM Prevent changes to tags.
("%svnlook%" changed -t %2 %1 | "%grep%" "^U.*/tags/") && (echo Cannot commit an update to a tag.>&2 && exit 1)

REM Prevent commits without comments.
("%svnlook%" log -t %2 %1 | "%grep%" "[a-zA-Z0-9]") || (echo You must specify a comment for all actions.>&2 && exit 1)

exit 0

, :

svn copy "http://your/repo/UI/trunk"  "http://your/repo/UI/tags/v3.0" -m "Tagging v3.0"
+3
  • ,
  • , , "branch/tag" (tortoiseSVN) "svn copy" cmd svn .
  • , . v1, v2, v3 - , .
  • .

, ( ). , , . , , .

, . . , . , . rev 25123, , , 35335.

+1

- Subversion http://svnbook.com. , Subversion.

, , , Subversion. ?

Subversion "", "" "". , .

:

svn://svn/trunk/proj1
svn://svn/trunk/proj2
svn://svn/branches/proj1/1.2
svn://svn/branches/proj2/3.4

svn://svn/proj1/trunk
svn://svn/proj2/trunk
svn://svn/proj1/branches/1.2
svn://svn/proj2/branches/3.4

, , -, ( - svn:externals , , trunk ).

, , "old-versions" tags, :

svn://svn/UI/tags/1.0
svn://svn/UI/tags/2.0
svn://svn/UI/tags/2.5
svn://svn/UI/trunk

, ! Subversion . , . (, svn log), , :

$ svn cp -r1234 svn://svn/UI/trunk  svn://svn/UI/tags/2.0

, svn cp . , , . , ( , ), ( svn cp), . Perl- pre-commit http://dl.dropbox.com/u/433257/new_svn_hooks.zip, .

+1

Source: https://habr.com/ru/post/1776464/