From 84f91251d497eaee678ba5f2aafcf3e80fbd13d9 Mon Sep 17 00:00:00 2001 From: Alain Reguera Delgado Date: Apr 20 2011 20:17:19 +0000 Subject: Remove `path' functionality from centos-art.sh script. - Instead, functionalities that relay on path information to do their works (e.g., help) need to implement their own way to copy, delete and rename files related to them. - Later, higher functionalities will call specific functionalities to realize the file movement inside the repository, as well as any path transformation that can be realized on higher functionalities to avoide unnecessary use of file movement actions inside specific functionalities. - This configuration is required because specific functionalities work with specific information that can't be set on higher functionalities. This is, because they are very specific to one functionality. --- diff --git a/Scripts/Functions/Path/path.sh b/Scripts/Functions/Path/path.sh deleted file mode 100755 index 30032d8..0000000 --- a/Scripts/Functions/Path/path.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash -# -# path.sh -- This function provides file manipulations to aliviate -# path maintainance inside the repository. -# -# Copyright (C) 2009-2011 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., 675 Mass Ave, Cambridge, MA 02139, USA. -# ---------------------------------------------------------------------- -# $Id$ -# ---------------------------------------------------------------------- - -function path { - - # Define deafult value to target flag. The target flag (--to) - # controls final destination used by copy related actions. - local FLAG_TO='' - - # Define default value to syncronization flag. The syncronization - # flag (--sync) controls whether centos-art.sh script calls itself - # to create/delete parallel directories at the moment of - # create/delte action itself. - local FLAG_SYNC='false' - - # Define command-line interface. - path_getActions - -} diff --git a/Scripts/Functions/Path/path_doCopy.sh b/Scripts/Functions/Path/path_doCopy.sh deleted file mode 100755 index 4c000b9..0000000 --- a/Scripts/Functions/Path/path_doCopy.sh +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/bash -# -# path_doCopy.sh -- This function duplicates files inside the working -# copy using subversion commands. -# -# Copyright (C) 2009-2011 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., 675 Mass Ave, Cambridge, MA 02139, USA. -# ---------------------------------------------------------------------- -# $Id$ -# ---------------------------------------------------------------------- - -function path_doCopy { - - # Verify target directory. - cli_checkRepoDirTarget - - # Print action preamble. - cli_printActionPreamble "${FLAG_TO}" 'doCreate' 'AsResponseLine' - - # Verify relation between source and target locations. We cannot - # duplicate an entry if its parent directory doesn't exist as - # entry inside the working copy. - if [[ -f ${ACTIONVAL} ]];then - if [[ ! -d $(dirname "${FLAG_TO}") ]];then - mkdir -p $(dirname "${FLAG_TO}") - fi - svn add $(dirname "${FLAG_TO}") --quiet - fi - - # Print action message. - cli_printMessage "${FLAG_TO}" 'AsCreatingLine' - - # Copy parent directory. - svn copy ${ACTIONVAL} ${FLAG_TO} --quiet - - # Verify syncronization flag. - if [[ $FLAG_SYNC == 'true' ]];then - - # Copy parallel directories. - . /home/centos/bin/centos-art manual --copy="$ACTIONVAL" --to="$FLAG_TO" - . /home/centos/bin/centos-art render --copy="$ACTIONVAL" --to="$FLAG_TO" - . /home/centos/bin/centos-art locale --copy="$ACTIONVAL" --to="$FLAG_TO" - - fi - -} diff --git a/Scripts/Functions/Path/path_doDelete.sh b/Scripts/Functions/Path/path_doDelete.sh deleted file mode 100755 index d00270f..0000000 --- a/Scripts/Functions/Path/path_doDelete.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/bash -# -# path_doDelete.sh -- This function deletes files inside the working -# copy using subversion commands. -# -# Copyright (C) 2009-2011 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., 675 Mass Ave, Cambridge, MA 02139, USA. -# ---------------------------------------------------------------------- -# $Id$ -# ---------------------------------------------------------------------- - -function path_doDelete { - - # Verify target directory. - cli_checkRepoDirTarget - - # Print action preamble. - cli_printActionPreamble "$ACTIONVAL" 'doDelete' 'AsResponseLine' - - # Syncronize parallel directories related to action value. - . /home/centos/bin/centos-art manual --delete="$ACTIONVAL" - . /home/centos/bin/centos-art render --delete="$ACTIONVAL" - . /home/centos/bin/centos-art locale --delete="$ACTIONVAL" - - # Print action message. - cli_printMessage "${ACTIONVAL}" 'AsDeletingLine' - - # Perform action. - svn del ${ACTIONVAL} --quiet - -} diff --git a/Scripts/Functions/Path/path_getActions.sh b/Scripts/Functions/Path/path_getActions.sh deleted file mode 100755 index e617816..0000000 --- a/Scripts/Functions/Path/path_getActions.sh +++ /dev/null @@ -1,115 +0,0 @@ -#!/bin/bash -# -# path_getActions.sh -- This function interpretes arguments passed to -# `path' functionality and calls actions accordingly. -# -# Copyright (C) 2009-2011 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., 675 Mass Ave, Cambridge, MA 02139, USA. -# ---------------------------------------------------------------------- -# $Id$ -# ---------------------------------------------------------------------- - -function path_getActions { - - # Define short options we want to support. - local ARGSS="" - - # Define long options we want to support. - local ARGSL="copy:,move:,delete:,to:,sync" - - # Parse arguments using getopt(1) command parser. - cli_doParseArguments - - # Reset positional parameters using output from (getopt) argument - # parser. - eval set -- "$ARGUMENTS" - - # Define action to take for each option passed. - while true; do - case "$1" in - - --copy ) - - # Define action value passed through the command-line. - ACTIONVAL="$2" - - # Define action name using action value as reference. - ACTIONNAM="${FUNCNAM}_doCopy" - - # Rotate positional parameters. - shift 2 - ;; - - --delete ) - - # Define action value passed through the command-line. - ACTIONVAL="$2" - - # Define action name using action value as reference. - ACTIONNAM="${FUNCNAM}_doDelete" - - # Rotate positional parameters. - shift 2 - ;; - - --to ) - - # Redefine target flag. - FLAG_TO="$2" - - # Verify target directory. - cli_checkRepoDirTarget - - # Rotate positional parameters. - shift 2 - ;; - - --sync ) - - # Redefine syncronization flag. - FLAG_SYNC='true' - - # Rotate positional parameters. - shift 1 - ;; - - * ) - # Break options loop. - break - esac - done - - # Check action value (ACTIONVAL) passed through the command-line - # using source directory definition as reference. - cli_checkRepoDirSource - - # Syncronize changes between the working copy and the central - # repository to bring down changes. - cli_syncroRepoChanges "${ACTIOVAL} ${FLAG_TO}" - - # Execute action name. - if [[ $ACTIONNAM =~ "^${FUNCNAM}_[A-Za-z]+$" ]];then - eval $ACTIONNAM - else - cli_printMessage "`gettext "A valid action is required."`" 'AsErrorLine' - cli_printMessage "${FUNCDIRNAM}" 'AsToKnowMoreLine' - fi - - # Syncronize changes between the working copy and the central - # repository to commit up changes. - cli_commitRepoChanges "${ACTIOVAL} ${FLAG_TO}" - -}