⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 svn_load_dirs.readme

📁 subversion-1.4.3-1.tar.gz 配置svn的源码
💻 README
字号:
Introduction============This Perl script is designed to load a number of directories intoSubversion.  This is useful if you have a number of .zip's ortar.{Z,gz,bz2}'s for a particular package and want to load them intoSubversion.Command Line Options====================Run the script with no command line arguments to see all the commandline options it takes.When Not To Use This Script===========================This script assumes that these packages were not previously in asource control system, in particular CVS, because then you would useanother script to migrate the repository over, and in CVS' case, youwould use cvs2svn.  This script will properly tag each release in thetags directory if you use the -t command line option.Automatically Setting Properties On New Files & Directories===========================================================The script also accepts a separate configuration file for applyingproperties to specific files and directories matching a regularexpression that are *added* to the repository.  This script will notmodify properties of already existing files or directories in therepository.  This configuration file is specified to svn_load_dirs.plusing the -p command line option.  The format of the file is eithertwo or four columns:regular_expression  control  property_name  property_value   The `regular_expression' is a Perl style regular expression.  It is   matched in a case-insensitive against filenames.   The `control' must either be set to `break' or `cont'.  It is used   to tell svn_load_dirs.pl if the following lines in the   configuration file should be examined for a match or if all   matching should stop.  If `control' is set to `break', then no more   lines from the configuration file will be matched.  If `control' is   set to `cont', which is short for continue, then more comparisons   will be made.  Multiple properties can be set for one file or   directory this way.   The last two, `property_name' and `property_value' are optional and   are applied to matching files and directories.If you have whitespace in any of the `regular_expression',`property_name' or `property_value' columns, you must surround thevalue with either a single or double quote.  You can protect single ordouble quotes with a \ character.  The \ character is removed by thisscript *only* for whitespace and quote characters, so you do not needto protect any other characters, beyond what you would normallyprotect for the regular expression.This sample configuration file was used to load on a Unix box a numberof Zip files containing Windows files with CRLF end of lines.   \.doc$              break   svn:mime-type   application/msword   \.ds(p|w)$          break   svn:eol-style   CRLF   \.ilk$              break   svn:eol-style   CRLF   \.ncb$              break   svn:eol-style   CRLF   \.opt$              break   svn:eol-style   CRLF   \.exe$              break   svn:mime-type   application/octet-stream   dos2unix-eol\.sh$   break   .*                  break   svn:eol-style   nativeIn this example, all the files should be converted to the native endof line style, which the last line of the configuration handles.  Theexception is dos2unix-eol.sh, which contains embedded CR's used tofind and replace Windows CRLF end of line characters with Unix's LFcharacters.  Since svn and svn_load_dirs.pl converts all CR, CRLF andLF's to the native end of line style when `svn:eol-style' is set to`native', this file should be left untouched.  Hence, the `break' withno property settings.The Windows Visual C++ and Visual Studio files (*.dsp, *.dsw, etc.) should retain their CRLF line endings on any operating system and any*.doc files are always treated as binary files, hence the`svn:mime-type' setting of `application/msword'.Example Import==============An example import follows:Steps:1) Unpack your .tar.{Z,gz,bz2}'s or .zips into a directory that is not   in a Subversion repository.   Example:   I'll use an example from my Orca distribution:      % cd /tmp      % zcat orca-0.18.tar.gz | tar xf -      % zcat orca-0.27b2.tar.gz | tar xf -2) Decide on the directory structure you want to use to contain the   project you are loading.   There are three main directory structures you can use.  If you have   a single project, then use the structure Subversion uses for   itself, that is      /branches      /tags      /trunk   and load the project into /trunk and the tags into the tags   directory.   If you have more than one project and you want to treat each   project separately, then use one of the following structures:      /branches      /tags      /tags/project1      /tags/project2      /tags/project3      /trunk      /trunk/project1      /trunk/project2      /trunk/project3   or      /project1/branches      /project1/tags      /project1/trunk      /project2/branches      /project2/tags      /project2/trunk   Example:   To load Orca using the second directory structure into the   subversion repository rooted at http://svn.orcaware.com:8000/repos      % cd /tmp      % svn co http://svn.orcaware.com:8000/repos      % cd repos      % mkdir tags tags/orca trunk trunk/orca      % svn add tags trunk      % svn commit -m 'Create initial directory tree structure for projects.'   This script will create any subdirectories required to import your   directories into the repository, so these steps may not be required.3) Decide on the URL to use to access the subversion repository with   this script and the relative directory paths to the directories to   import your project into and to place the tags into.   The usage of the script is   ./svn_load_dirs.pl [-t tag_dir] svn_url import_dir dir_v1 [dir_v2 [..]]   The import_dir and tag_dir command line options are directory paths   relative to svn_url and tell the script where to load your project   and optionally the tags.  Both import_dir and tag_dir cannot   contain any ..'s and so svn_url must contain both import_dir and   tag_dir.   This script supports importing your directories into subdirectories   of the root of the subversion repository.   Example:   In the previous step, if you wanted to load a project named orca   into the second directory structure, say      /orca/branches      /orca/tags      /orca/trunk   and you didn't care about tags, then you could use as svn_url the   URL      http://svn.orcaware.com:8000/repos/orca   and use . as import_dir.   In this case, the script will only check out the orca subdirectory.   This is handy if the entire repository is very large and you don't   want this script to check the whole repository under /repos out to   load files into it.   The only caveat is that svn_url must exist already in the   repository.  So in this case, you would have to already have   created the orca subdirectory in the repository.4) Decide on the tags you want on your directories.  If you don't want   any tags, then ignore this step.   The script takes a -t command line argument that is a directory   path relative to the svn_url that you supply to this script from   step 3 above.  Again, the URL from step 3 does not need to be the   URL of the root of the subversion repository, so you can work in   the subdirectory just fine.   Look at the directories that will be loaded into the repository and   come up with a Perl regular expression that matches only the   portion of the directory name that identifies each directory.  You   may need to rename your directories so that they contain a version   number you can use to tag them properly.   The regular expression should be placed into the directory path   given to -t surrounded by @'s.  Make sure to protect the regular   expression from the shell by using quotes.   You can have multiple sets of regular expressions in the directory   path.   There is no way to escape the @ characters.   Example:   For the Orca directories orca-0.18 and orca-0.27b2 I can use the   regular expression \d+\.\w+.  I want the tags to be located in   the tags/orca/VERSION_NUMBER directory.  So I would use:      -t 'tags/orca/@\d+\.\w+@'5) Back up your Subversion repository in case you are not happy with   the results of running the script or the script fails for some   reason.   Example:   % /opt/i386-linux/apache-2.0/bin/apachectl stop   % cd /export/svn   % tar cvf repos_backup.tar repos   % /opt/i386-linux/apache-2.0/bin/apachectl start6) Run this script.  The first argument is the root of the Subversion   package directory where you want to install the directories.  The   directories are loaded in order that they appear on the command   line.   Example:      svn_load_dirs.pl http://svn.orcaware.com:8000/repos \         trunk/orca -t 'tags/orca/@\d+\.\w+@' orca-0.18 orca-0.27b2   The output from this script are:      A Added file or directory.      U File's contents have been updated.      d File or directory is deleted because an enclosing directory is        deleted.      D File or directory is deleted.7) Check the results by either checking out a new tree and or browsing   the repository with a browser.  If they are not what you want, back   out the changes.   Example:   These commands back out the changes:   % /opt/i386-linux/apache-2.0/bin/apachectl stop   % cd /export/svn   % rm -fr repos   % tar xvf repos_backup.tar   % /opt/i386-linux/apache-2.0/bin/apachectl start

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -