SVN create release / version branch of step

Recently read a lot of Git compared with SVN, many do say that SVN branch is very slow, I do not know where to start. There may we all know, SVN branch to do the right steps, hereby introduce.

SVN server using Berkeley DB database back-end data storage. The current version, release, version branches, at the client SVN in general just as an ordinary directory. There are many SVN client, how to save data at the client, there is no clear view.

 

For example, SVN repository from the client point of view of its root directory:

http://zhegui-svn/svn

 

Several major subdirectory:

1) The current development line catalog: HTTP: // zhegui-svn / svn / Trunk /

2) Before the official release directory: HTTP: // zhegui-svn / svn / Releases /

3) before or now each branch version of the catalog: HTTP: // zhegui-svn / svn / branches /

4) daily build directory: HTTP: // zhegui-svn / svn / builds /

 

Create a branch, or create releases, just a directory copy operation. Since the data SVN server is stored in Berkeley DB database, therefore, the catalog copy, at the database level, just to save a " create a subdirectory in a directory, subdirectory of new content, equivalent to that of another directory version " information.

Those who think SVN copy branches, people need to copy the entire directory of all the files, or say "pull branch of time is slower, because the branch is equivalent to pull copy" and the like words, can learn from scratch the database. Anyway, a little bit familiar with some basic concepts of database of technical personnel, will not design a "branch to copy the entire directory all the files on the server," such a logic.

 

Examples The following are the steps (SVN client software tools are TortoiseSVN):

After selecting the directory replication source, source directory version (you can not have the latest version, the latest version may have been added a new function, not done), the destination directory:

The above screenshot, the main development project directory http: // zhegui-svn / svn / trunk / zhegui_print_upload corresponding version of the 29423, copied to http: //zhegui-svn/svn/releases/zhegui_print_upload-v3.0, to complete the copy function on the release version of the server. General and then a big project, are completed in seconds.



The actual software development project, only the following directory with more than:

1) The current development line catalog: HTTP: // zhegui-svn / svn / Trunk /

3) before or now each branch version of the catalog: HTTP: // zhegui-svn / svn / branches /

 

These two directories, with less than:

2) Before the official release directory: HTTP: // zhegui-svn / svn / Releases /

4) daily build directory: HTTP: // zhegui-svn / svn / builds /

 

 Because, to create a new release, just for directory replication on the SVN server, equivalent to just save in a Berkeley DB database " creates a subdirectory in a directory, subdirectory of new content, equivalent to another directory that version " information, that this sentence is stored in a text file, do not charge anything.

Daily build directory of the meaning of existence, not great.

 

On the other hand, if it is to develop a software product category, there are a number of different clients, bug fixes are possible, it is still necessary to use the release directory:

2) Before the official release directory: HTTP: // zhegui-svn / svn / Releases /

 

I hope the above description, can help to you.

 

---------------------------------

本文欢迎转载,转载请注明来源:https://www.cnblogs.com/jacklondon/

Guess you like

Origin www.cnblogs.com/jacklondon/p/step_to_create_release_or_branch_with_svn.html