Home PC Games Linux Windows Database Network Programming Server Mobile  
           
  Home \ Server \ Use Bash script write CVS version control     - Linux system commands to view hardware information (Linux)

- Valgrind * not * leak check tool (Linux)

- Ubuntu download install and configure Plank Dock (Linux)

- Linux Network Programming - non-blocking program (Programming)

- Use HugePages optimize memory performance (Database)

- Recycle Bin function realization in Linux (Linux)

- CentOS 6.4 dial-up Raiders (Linux)

- Boost - Memory Management - smart pointers (Programming)

- Hadoop 0.23 compile common errors (Server)

- Compile Android libwebcore.so error occurs when solving (Programming)

- How to install Linux Kernel 4.4 on Ubuntu (Linux)

- Oracle 11g R2 RAC RMAN backup script example (Database)

- To configure Samba to share files with Windows under CentOS (Linux)

- Android Custom View step (Programming)

- Ubuntu 12.04 / 14.04 users to install software LyX document processing (Linux)

- count (*) function in MySQL optimization of InnoDB storage engine (Database)

- Linux Firewall Basics (Linux)

- impdp error ORA-31631, ORA-39122 (Database)

- Hadoop upload files error solved (Server)

- Cacti Linux-based system monitoring and alarm (Linux)

 
         
  Use Bash script write CVS version control
     
  Add Date : 2018-11-21      
         
         
         
  Cvs is an older version of the code control software, there are still many companies use it, this script is mainly used, version control code, create a branch, tag. This script window is used to write bat in the transmission parameters to the script, there was a relatively strong logic code below, have a certain bat basis, whether the person is difficult to understand Oh!

@echo off
@REM Create tag script
@REM 2013-03-20 DD
@setlocal
@pushd% WORK_SPACE%
@goto StartScript
: Usage
@echo Usage:% SCRIPT_CMD% -R repository -M cvsHome -S sourceTagType -C createTagType -U userid [-P password] [-F ctlFile] [-L logDir] [-H help]
@echo repository -. required The CVS Repository Name.
@echo cvsHome - required The CVS root directory option..
@echo SourceTagType -. required option (trunk, head, branch, tag).
@echo createTagType -. required option (branch, tag).
@echo userid -. required The CVS user id who can connect CVS server.
@echo password -. optional The CVS user password.
@echo ctlFile -. optional The script control file, default is (.ctl) in current directory.
@echo logDir - optional The log file directory default is current directory..
@echo help -. optional help.
@goto: eof
: ErrRepository
@call: Usage
@echo ERROR: CVS repository name is empty.
@goto: eof
: ErrCheckReposit
@call: Usage
@echo ERROR: CVS repository (% Repository%) does not exist.
@goto: eof
: ErrHome
@call: Usage
@echo ERROR: CVS home is empty.
@goto: eof
: ErrCheckHome
@call: Usage
@echo ERROR: CVS home (% cvsHome%) does not exist.
@goto: eof
: ErrCheckType
@call: Usage
@echo ERROR: The tag type with trunk, branch, tag.
@goto: eof
: ErrCheckType
@call: Usage
@echo ERROR: The tag type with trunk, branch, tag.
@goto: eof
: ErrSourceType
@call: Usage
@echo ERROR: Source tag Type is empty
@goto: eof
: ErrCreateType
@call: Usage
@echo ERROR: Create tag Type is empty.
@goto: eof
: ErrUser
@call: Usage
@echo ERROR: CVS user id is empty.
@goto: eof
: ErrCtlFileMissing
@call: Usage
@echo ERROR: There is no control file (.ctl) in current directory.
@goto: eof
: ErrCtlFileTooMany
@call: Usage
@echo ERROR: There are more than one control files (.ctl) in current directory.
@goto: eof
: ErrCtlFileNotFound
@call: Usage
@echo ERROR: Control file (% ctlFile%) not found.
@goto: eof
: ErrLogDir
@call: Usage
@echo ERROR: Log directory (% logDir%) does not exist.
@goto: eof
: ErrLogin
@echo ERROR: connect to CVS (% Repository% \% cvsHome%) failed.
@echo Please check your usrname and password.
@goto: eof
: ErrCreateTag
@echo ERROR: created tag (% err_tag%) failed.
@goto: eof
: StartScript
@set SCRIPT_CMD =% 0
@set Repository =
@set cvsHome =
@set SourceType =
@set CreateType =
@set cvSUSEr =
@set cvsPwd =
@set ctlFile =
@set logDir =
: NextParam
@if / I "A% 1" == "A" goto CheckParam
@if / I "% 1" == "-R" goto setRepositoy
@if / I "% 1" == "-M" goto setCvsHome
@if / I "% 1" == "-S" goto setSourceType
@if / I "% 1" == "-C" goto setCreateType
@if / I "% 1" == "-U" goto setUser
@if / I "% 1" == "-P" goto setPwd
@if / I "% 1" == "-F" goto setCtlfile
@if / I "% 1" == "-L" goto setLogDir
@if / I "% 1" == "-H" goto Usage
@if / I "% 1" == "?" goto Usage
@shift
@goto NextParam
: SetRepositoy
@set Repository =% 2
@shift
@shift
@goto NextParam
: SetCvsHome
@set cvsHome =% 2
@shift
@shift
@goto NextParam
: SetSourceType
@set SourceType =% 2
@shift
@shift
@goto NextParam
: SetCreateType
@set CreateType =% 2
@shift
@shift
@goto NextParam
: SetUser
@set cvsUser =% 2
@shift
@shift
@goto NextParam
: SetPwd
@set cvsPwd =% 2
@shift
@shift
@goto NextParam
: SetCtlfile
@set ctlFile =% 2
@shift
@shift
@goto NextParam
: SetLogDir
@set logDir =% 2
@shift
@shift
@goto NextParam
: CheckParam
@if / I "A% Repository%" == "A" goto errRepository
@if / I "% Repository%" NEQ "REP1" if / I "% Repository%" NEQ "REP2" if / I "% Repository%" NEQ "REP3" if / I "% Repository%" NEQ "REP4" if / I "% Repository%" NEQ "REP5" goto errCheckReposit
@if / I "A% cvsHome%" == "A" goto errHome
@if / I "% cvsHome%" NEQ "FSCS3.0" if / I "% cvsHome%" NEQ "REP1.0" if / I "% cvsHome%" NEQ "REP2.0" if / I "% cvsHome% "NEQ" REP3.0 "if / I"% cvsHome% "NEQ" REP4.0 "goto errCheckHome
@if / I "A% SourceType%" == "A" goto errSourceType
@if / I "% SourceType%" NEQ "TRUNK" if / I "% SourceType%" NEQ "HEAD" if / I "% SourceType%" NEQ "TAG" if / I "% SourceType%" NEQ "BRANCH" goto errCheckType
@if / I "A% CreateType%" == "A" goto errCreateType
@if / I "% CreateType%" NEQ "TAG" if / I "% CreateType%" NEQ "BRANCH" goto errCheckType
@if / I "A% cvsUser%" == "A" goto errUser
@if / I "A% ctlFile%" == "A" goto cont1
: Cont1
@REM Find .ctl file in current directory
@if not "A% ctlFile%" == "A" goto cont_1
@set / A ASN = 0
@for %% i in (* .ctl) do set / A ASN + = 1
@if% ASN% == 0 goto errCtlFileMissing
@if not% ASN% == 1 goto errCtlFileTooMany
@for %% i in (* .ctl) do set ctlFile = %% i
  : Cont_1
  @REM Script root directory is the control file directory full path ending with
  @for / F "tokens = *" %% i in ( "% ctlFile%") do set scriptRootDir = %% ~ dpi
  @for / F "tokens = *" %% i in ( "% ctlFile%") do set controlFileName = %% ~ nxi
  @set ctlFile =% scriptRootDir %% controlFileName%
  @if not exist "% ctlFile%" goto errCtlFileNotFound
: Cont2
@if not "A% logDir%" == "A" goto cont2_1
@if "A% logDir%" == "A" set logDir =.
@if not exist% logDir% logs mkdir% logDir% logs
@set logDir =% logDir% logs
  : Cont2_1
  @if not exist% logDir% goto errLogDir
  @for / F "usebackq tokens = 1,2,3 delims = -" %% i in ( `date / T`) do set TodayDate = %% i %% j %% k
  @for / F "usebackq tokens = 1,2,3 delims =:" %% i in ( `time / T`) do set TodayDate =% TodayDate% - %% i %% j
  @set logfile =% logDir% \% TodayDate% .log
  @echo logfile =% logfile% >>% logfile%
: Cont3
@echo Start script at:% DATE%% TIME%> "% logfile%"
@echo Premium Technology Inc. >> "% logFile%"
@echo CVS Repostory:% Repository% >> "% logfile%"
@echo CVS HOME:% cvsHome% >> "% logfile%"
@echo Create tag user id:% cvsUser% >> "% logfile%"
@echo Script control file:% ctlFile% >> "% logfile%"
@echo. >> "% logfile%"
: FinshLogin
@rem login CVS server.
@if "A% cvsPwd%" == "A" set / p cvsPwd =% cvsUser% 's password:
@set CVSROOT =: pserver:% cvsUser%:% cvsPwd%@192.168.3.50: /% Repository%
@echo connect to cvs (% Repository%) ...
@cvs login >>% logfile%
@if not "% ERRORLEVEL%" == "0" goto errLogin
@echo Login cvs% Repository% successfully.
@echo New tag name as following: >>% logfile%
@for / F "eol = # tokens = 1,2,3 * delims =" %% i in (% ctlFile%) do echo %% i %% j >>% logfile%
@echo. >> "% logfile%"
@call: finshTag% SourceType%% CreateType%
@echo Created successful >> "% logfile%"
@echo end time >> "% logfile%"
@echo at% DATE%% TIME% >> "% logfile%"
@goto: eof
: FinshTag_1
@rem create tags.
@for / f "eol = # tokens = 1,2,3 delims =" %% i in (% ctlFile%) do (
  echo creating tag [%% j] please wait ...
  cvs rtag -r %% i %% j% cvsHome% / %% k
  if "% ERRORLEVEL%" == "1" set err_tag = %% j
  if "% ERRORLEVEL%" == "1" goto errCreateTag
  echo ### New tag [%% j] created. >> "% logfile%"
  echo ### New tag [%% j] created.
)
@goto logMessage
: FinshBranch_1
@rem create branches.
@for / f "eol = # tokens = 1,2,3 delims =" %% i in (% ctlFile%) do (
  echo creating branch [%% j] please wait ...
  cvs rtag -r %% i -b %% j% cvsHome% / %% k
  if "% ERRORLEVEL%" == "1" set err_tag = %% j
  if "% ERRORLEVEL%" == "1" goto errCreateTag
  echo ### New branch [%% j] created. >> "% logfile%"
  echo ### New branch [%% j] created.
)
@goto logMessage
: FinshTag
@if / I "% 1" == "head" if / I "% 2" == "tag" goto finshTag_1
@if / I "% 1" == "branch" if / I "% 2" == "tag" goto finshTag_1
@if / I "% 1" == "tag" if / I "% 2" == "tag" goto finshTag_1
@if / I "% 1" == "head" if / I "% 2" == "branch" goto finshBranch_1
@if / I "% 1" == "branch" if / I "% 2" == "branch" goto finshBranch_1
@if / I "% 1" == "tag" if / I "% 2" == "branch" goto finshBranch_1
: LogMessage
@echo please check log file "% logfile%"
@goto: eof
     
         
         
         
  More:      
 
- Jump table (skiplist) of code (Programming)
- Erlang concurrency and foundation (Programming)
- Git 2.5 increase in the working tree, triangle improved workflow performance (Linux)
- To install and configure the Jetty server and JDK under Ubuntu 14.04.2 (Server)
- BackTrack (BT3, BT4) Linux installation tutorial (Linux)
- Linux how to handle file names that contain spaces and special characters (Linux)
- 17 How to install the Ubuntu 14.04 and Linux Mint Kodi14 (XBMC) (Linux)
- OpenSUSE GPG Comments (Linux)
- Computer black magic: tail recursion (Programming)
- CentOS 6.0 system security level (Linux)
- Introduction and MongoDB CRUD (Database)
- Oracle 11g user rights management study notes (Database)
- Mind mapping software installed in CentOS 7 in XMind (Linux)
- Ubuntu to install systems Indicator Sticky Notes 0.4.4 (Linux)
- Install the latest development version of Wine on RedHat and Debian-based systems (Linux)
- Setting the RedHat9 Intrusion Detection System (Linux)
- linux server security (Linux)
- MySQL innodb_table_stats table does not exist solution (Database)
- Cobbler remotely install CentOS system (Linux)
- Linux Powerful command Awk Introduction (Linux)
     
           
     
  CopyRight 2002-2022 newfreesoft.com, All Rights Reserved.