|
|
4c79b5 |
#!/bin/bash
|
|
|
4c79b5 |
#
|
|
|
fa8567 |
# cli_getThemeName.sh -- This function interprets the current
|
|
|
fa8567 |
# absolute path ---defined in action value variable--- to extract the
|
|
|
fa8567 |
# theme name from it. If theme name is found on absolute path, this
|
|
|
fa8567 |
# function returns an empty string.
|
|
|
63bc52 |
#
|
|
|
7cd8e9 |
# Copyright (C) 2009, 2010 Alain Reguera Delgado
|
|
|
4c79b5 |
#
|
|
|
4c79b5 |
# This program is free software; you can redistribute it and/or
|
|
|
4c79b5 |
# modify it under the terms of the GNU General Public License as
|
|
|
4c79b5 |
# published by the Free Software Foundation; either version 2 of the
|
|
|
4c79b5 |
# License, or (at your option) any later version.
|
|
|
4c79b5 |
#
|
|
|
4c79b5 |
# This program is distributed in the hope that it will be useful, but
|
|
|
4c79b5 |
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
4c79b5 |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
4c79b5 |
# General Public License for more details.
|
|
|
4c79b5 |
#
|
|
|
4c79b5 |
# You should have received a copy of the GNU General Public License
|
|
|
4c79b5 |
# along with this program; if not, write to the Free Software
|
|
|
4c79b5 |
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
|
|
4c79b5 |
# USA.
|
|
|
4c79b5 |
#
|
|
|
4c79b5 |
# ----------------------------------------------------------------------
|
|
|
418249 |
# $Id$
|
|
|
4c79b5 |
# ----------------------------------------------------------------------
|
|
|
4c79b5 |
|
|
|
4c79b5 |
function cli_getThemeName {
|
|
|
4c79b5 |
|
|
|
fa8567 |
# Initialize regular expression pattern.
|
|
|
fa8567 |
local PATTERN=''
|
|
|
fa8567 |
|
|
|
fa8567 |
if [[ $ACTIONVAL =~ '^/home/centos/artwork/trunk/.*$' ]];then
|
|
|
fa8567 |
|
|
|
fa8567 |
# Define theme name for trunk development line. There is no
|
|
|
fa8567 |
# enumeration schema for themes stored under trunk development
|
|
|
fa8567 |
# line. Inside trunk development line, theme names are stored
|
|
|
fa8567 |
# in directories immediatly under Themes/Motifs/ directory and
|
|
|
fa8567 |
# and can be named using letters and numbers.
|
|
|
fa8567 |
PATTERN='^.+/Identity/Themes/Motifs/([A-Za-z0-9]+)/.+$'
|
|
|
fa8567 |
|
|
|
fa8567 |
elif [[ $ACTIONVAL =~ '^/home/centos/artwork/branches/.*$' ]];then
|
|
|
4c79b5 |
|
|
|
fa8567 |
# Define theme name for branches development line. Branch
|
|
|
fa8567 |
# enumeration starts at number one and increments one unit
|
|
|
fa8567 |
# each time a new branch is created from the same trunk
|
|
|
fa8567 |
# development line. If a branch is created from another brach
|
|
|
fa8567 |
# then a new directory is created inside the source branch,
|
|
|
fa8567 |
# using the same enumeration schema. So, we may end up with
|
|
|
fa8567 |
# paths like branches/.../Themes/Motifs/Flame/1,
|
|
|
fa8567 |
# branches/.../Themes/Motifs/Flame/1/1,
|
|
|
fa8567 |
# branches/.../Themes/Motifs/Flame/1/2,
|
|
|
fa8567 |
# branches/.../Themes/Motifs/Flame/2,
|
|
|
fa8567 |
# branches/.../Themes/Motifs/Flame/2/1, and so on. In all
|
|
|
fa8567 |
# previous examples the theme name holds the branch
|
|
|
fa8567 |
# enumeration schema too.
|
|
|
fa8567 |
PATTERN="^.+/Identity/Themes/Motifs/(([A-Za-z0-9]+)(/${RELEASE_FORMAT})+)/.+$"
|
|
|
fa8567 |
|
|
|
fa8567 |
elif [[ $ACTIONVAL =~ '^/home/centos/artwork/tags/.*$' ]];then
|
|
|
fa8567 |
|
|
|
fa8567 |
# Define theme name for tags frozen lines. Branch enumeration
|
|
|
fa8567 |
# starts at number zero and increments one unit each time a
|
|
|
fa8567 |
# new tab is created from the same branch development line.
|
|
|
fa8567 |
# Tags are never created from trunk, if you need to create a
|
|
|
fa8567 |
# tag from trunk, you need to create a branch first and later
|
|
|
fa8567 |
# a tag. In contrast with branches enumeration schema, tags
|
|
|
fa8567 |
# enumeration schema uses dots. So, we may end up with paths
|
|
|
fa8567 |
# like tags/.../Themes/Motifs/Flame/1.0,
|
|
|
fa8567 |
# tags/.../Themes/Motifs/Flame/1.1.0,
|
|
|
fa8567 |
# tags/.../Themes/Motifs/Flame/1.2.0,
|
|
|
fa8567 |
# tags/.../Themes/Motifs/Flame/2.0,
|
|
|
fa8567 |
# tags/.../Themes/Motifs/Flame/2.1.0, and so on. In all
|
|
|
fa8567 |
# previous examples the theme name holds the branch
|
|
|
fa8567 |
# enumeration schame too.
|
|
|
fa8567 |
PATTERN="^.+/Identity/Themes/Motifs/(([A-Za-z0-9]+)(\.${RELEASE_FORMAT})+)/.+$"
|
|
|
fa8567 |
|
|
|
fa8567 |
else
|
|
|
fa8567 |
cli_printMessage "`gettext "The working copy parent directory structure is incorrect."`" 'AsErrorLine'
|
|
|
fa8567 |
cli_printMessage "$(caller)" 'AsToKnowMoreLine'
|
|
|
4c79b5 |
fi
|
|
|
4c79b5 |
|
|
|
63bc52 |
# Print theme name to standard output.
|
|
|
fa8567 |
if [[ $PATTERN != '' ]];then
|
|
|
fa8567 |
echo $ACTIONVAL | sed -r "s!${PATTERN}!\1!"
|
|
|
fa8567 |
fi
|
|
|
63bc52 |
|
|
|
4c79b5 |
}
|