From 63bc524e566a45674a9fdb9213628ba4e4a4a848 Mon Sep 17 00:00:00 2001 From: Alain Reguera Delgado Date: Dec 09 2010 14:42:48 +0000 Subject: Update cli_getThemeName.sh. --- diff --git a/Scripts/Bash/Functions/cli_getThemeName.sh b/Scripts/Bash/Functions/cli_getThemeName.sh index 6554c43..413bd03 100755 --- a/Scripts/Bash/Functions/cli_getThemeName.sh +++ b/Scripts/Bash/Functions/cli_getThemeName.sh @@ -4,6 +4,24 @@ # absolute path to extract the theme name from it. If there is no # theme in the path, this function returns an empty string. # +# Theme names are stored in directories immediatly under +# Themes/Motifs/ directory and and can be named using letters and +# numbers. When rendering themes under branches/ directory structure, +# theme names are also built using the branch numeration the theme is +# being rendered for. +# +# Branch enumeration start at number one and increment one unit each +# time a new branch is created from the same trunk development line. +# If a branch is created from another brach then a new directory is +# created inside the source branch, using the same enumeration schema. +# So, we may end up with paths like +# branches/.../Themes/Motifs/Flame/1, +# branches/.../Themes/Motifs/Flame/1/1, +# branches/.../Themes/Motifs/Flame/1/2, +# branches/.../Themes/Motifs/Flame/2, +# branches/.../Themes/Motifs/Flame/2/1, and so on. In all previous +# examples the theme name holds the branch enumeration schema too. +# # Copyright (C) 2009, 2010 Alain Reguera Delgado # # This program is free software; you can redistribute it and/or @@ -29,10 +47,13 @@ function cli_getThemeName { local THEMENAME='' + # Define theme name from action value. if [[ $ACTIONVAL =~ '^.+/Themes/Motifs/([A-Za-z0-9-]+)/.+$' ]];then - THEMENAME=$(echo $ACTIONVAL \ - | sed -r "s!^.+/Themes/Motifs/([A-Za-z0-9-]+(/${RELEASE_FORMAT})?)/.+!\1!") + THEMENAME=$(echo $ACTIONVAL | sed -r \ + -e "s!^.+/Themes/Motifs/([A-Za-z0-9-]+(/${RELEASE_FORMAT})*)/.+!\1!") fi + # Print theme name to standard output. echo $THEMENAME + }