From 407d666e70d9255f30ab7d7ddcbc9d1e0363ae0f Mon Sep 17 00:00:00 2001 From: Alain Reguera Delgado Date: Nov 26 2010 10:54:40 +0000 Subject: Add files to path functionality. --- diff --git a/Scripts/Bash/Functions/Path/path.sh b/Scripts/Bash/Functions/Path/path.sh new file mode 100755 index 0000000..7c46af5 --- /dev/null +++ b/Scripts/Bash/Functions/Path/path.sh @@ -0,0 +1,34 @@ +#!/bin/bash +# +# path.sh -- This function provides file manipulations to aliviate +# maintain of paths inside the repository. +# +# Copyright (C) 2009, 2010 Alain Reguera Delgado +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. +# +# ---------------------------------------------------------------------- +# $Id$ +# ---------------------------------------------------------------------- + +function path { + + # Define global variables. + + # Define command-line interface. + path_getActions + +} diff --git a/Scripts/Bash/Functions/Path/path_doCopy.sh b/Scripts/Bash/Functions/Path/path_doCopy.sh new file mode 100755 index 0000000..c2959db --- /dev/null +++ b/Scripts/Bash/Functions/Path/path_doCopy.sh @@ -0,0 +1,77 @@ +#!/bin/bash +# +# path_doCopy.sh -- This function implements duplication of files +# inside the working copy. +# +# Copyright (C) 2009, 2010 Alain Reguera Delgado +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. +# +# ---------------------------------------------------------------------- +# $Id$ +# ---------------------------------------------------------------------- + +function path_doCopy { + + local ARGSL + local ARGSS + + # Define short options supported by copy command we want to + # support inside centos-art.sh script. The value of this variable + # is used as `getopt --options' option. + ARGSS="t:r:m:F:" + + # Define long options supported by copy command we want to support + # inside centos-art.sh script. The value of this variable is used + # as defined by `getopt --longoptions' option. + ARGSL="to:,revision:,message:,file:,force-log,editor-cmd:,encoding:,username:,password:,no-auth-cache,non-interactive,config-dir:" + + # Parse arguments using getopt(1) command parser. + cli_doParseArguments + + # Reset positional parameters using output from (getopt) argument + # parser. + eval set -- "$ARGUMENTS" + + # Define target locations using positonal parameters as + # reference. + while true; do + case "$1" in + -t|--to ) + TARGET="$2" + shift 2 + ;; + * ) + break + esac + done + + # Redefine positional parameters stored inside ARGUMENTS variable. + cli_doParseArgumentsReDef "$@" + + # Parse positional parameters sotred inside ARGUMENTS variable. + cli_doParseArguments + + # Build subversion command to duplicate locations inside the + # workstation. + eval svn copy $SOURCE $TARGET --quiet $ARGUMENTS + + # Output action results. + if [[ $? -ne 0 ]];then + cli_printMessage "$(caller)" 'AsToKnowMoreLine' + fi + +} diff --git a/Scripts/Bash/Functions/Path/path_getActions.sh b/Scripts/Bash/Functions/Path/path_getActions.sh new file mode 100755 index 0000000..4976dfa --- /dev/null +++ b/Scripts/Bash/Functions/Path/path_getActions.sh @@ -0,0 +1,68 @@ +#!/bin/bash +# +# path_getActions.sh -- This function defines the command-line +# interface used to manipulate repository files. +# +# Copyright (C) 2009, 2010 Alain Reguera Delgado +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. +# +# ---------------------------------------------------------------------- +# $Id$ +# ---------------------------------------------------------------------- + +function path_getActions { + + # Define source location we are going to work with. + local SOURCE="$ACTIONVAL" + + # Evaluate action name and define which actions does centos-art.sh + # script supports. + while true; do + case "$ACTIONNAM" in + + '--copy' ) + # Duplicate something in working copy or repository, + # remembering history. + path_doCopy + break + ;; + + '--move' ) + # Move and/or rename something in working copy or + # repository. + # --- path_doMove + ;; + + '--delete' ) + # Remove files and directories from version control. + # --- path_doDelete + ;; + + '--sync' ) + # Syncronize parallel dirctories with parent directory. + # --- path_doSync + ;; + + * ) + cli_printMessage "`gettext "The option provided is not valid."`" 'AsErrorLine' + cli_printMessage "$(caller)" 'AsToKnowMoreLine' + ;; + + esac + done + +}