]> feistymeow.org Git - feisty_meow.git/commitdiff
adopting two repository lists
authorFred T. Hamster <fred@feistymeow.org>
Fri, 13 Feb 2026 13:51:48 +0000 (08:51 -0500)
committerFred T. Hamster <fred@feistymeow.org>
Fri, 13 Feb 2026 13:51:48 +0000 (08:51 -0500)
needed to separate the checkouts from the checkins, since many times i am working with other people's code
and cannot check anything in, but i can check things out just fine.  and similarly, i have accounts that can
get my code but not check it in, and they should not have to see errors all the time from trying an operation
they cannot complete.

documentation/feisty_meow_command_reference.txt
scripts/core/variables.sh
scripts/customize/fred/fred_variables.sh
scripts/rev_control/checkin.sh
scripts/rev_control/getem.sh
scripts/rev_control/puffer.sh
scripts/rev_control/version_control.sh

index e67a699892e494ce1f5774307414247fce1ff670..690d1b5628a749fda5a9847f0461f0d1648b2704 100644 (file)
@@ -99,7 +99,7 @@ then operates on those names.
   changes that could cause problems later.
 
 ========
-the next suite of commands uses the REPOSITORY_LIST* environment variables
+the next suite of commands uses the REPOSITORY_LIST_* environment variables
 as the set of revision-controlled folders to operate on:
 
   REPOSITORY_LIST_TO_PULL => the set of version-controlled folders that the user
@@ -115,14 +115,16 @@ apex) to the pull list to ensure that updates are received when available.
 ========
 
   getem:
-  update all repositories in the REPOSITORY_LIST from their upstream remote
-  counterparts.  fast.
+  update all repositories in the REPOSITORY_LIST_TO_PULL variable from their
+  upstream remote counterparts.  fast.
 
   puffer:
-  puffs out the REPOSITORY_LIST items to merge upstream changes.
+  puffs out the REPOSITORY_LIST_TO_PULL items to merge upstream changes.
 
   checkin:
-  checks in all changes in the REPOSITORY_LIST to their remote repositories.
+  first updates all of the items in the REPOSITORY_LIST_TO_PULL list (similar
+  to puffer), but then checks in all changes in the REPOSITORY_LIST_TO_COMMIT
+  to their remote repositories.
 
 ========
 some assorted other revision control commands:
index a3ee10450a4ab8f38a1c6ff12aea36b20eb9425a..3f8b72e2b038c1dbbb2385e75f69f57100a41d73 100644 (file)
@@ -260,14 +260,18 @@ define_yeti_variable DEFAULT_FEISTYMEOW_ORG_DIR=/opt/feistymeow.org
   # the base checkout list is just to update feisty_meow.  additional folder
   # names can be added in your customized scripts.  the space at the end of
   # this variable is important and allows users to extend the list like:
-  #    define_yeti_variable REPOSITORY_DIR+="muppets configs"
+  #    REPOSITORY_DIR+="muppets configs "
   # see the customize/fred folder for a live example.
-  define_yeti_variable REPOSITORY_LIST="$FEISTY_MEOW_APEX "
+  define_yeti_variable REPOSITORY_LIST_TO_PULL="$FEISTY_MEOW_APEX "
+  define_yeti_variable REPOSITORY_LIST_TO_COMMIT=""
 
   # add in any active projects to the repository list.
-#hmmm: resolve if still using this folder.
+#hmmm: resolve if still using this 'active' folder.
   if [ -d "$FEISTY_MEOW_PERSONAL_HOME/active" ]; then
-    REPOSITORY_LIST+="$(find "$FEISTY_MEOW_PERSONAL_HOME/active" -maxdepth 1 -mindepth 1 -type d) "
+    active_addin+="$(find "$FEISTY_MEOW_PERSONAL_HOME/active" -maxdepth 1 -mindepth 1 -type d) "
+    REPOSITORY_LIST_TO_PULL+="$active_addin "
+    REPOSITORY_LIST_TO_COMMIT+="$active_addin "
+    unset active_addin
   fi
 
   # add in any folders that are under the feisty meow applications folder.
@@ -283,11 +287,11 @@ define_yeti_variable DEFAULT_FEISTYMEOW_ORG_DIR=/opt/feistymeow.org
   if [ -d "$FEISTY_MEOW_REPOS_SCAN" ]; then
 #hmmm: handle the repos as if they are multi value!!!
     # general search for normal project folders in source.
-    REPOSITORY_LIST+="$(find "$FEISTY_MEOW_REPOS_SCAN" -maxdepth 2 -mindepth 2 -iname ".git" -type d -exec dirname {} ';') "
-    REPOSITORY_LIST+="$(find "$FEISTY_MEOW_REPOS_SCAN" -maxdepth 2 -mindepth 2 -iname ".svn" -type d -exec dirname {} ';') "
+    REPOSITORY_LIST_TO_PULL+="$(find "$FEISTY_MEOW_REPOS_SCAN" -maxdepth 2 -mindepth 2 -iname ".git" -type d -exec dirname {} ';') "
+    REPOSITORY_LIST_TO_PULL+="$(find "$FEISTY_MEOW_REPOS_SCAN" -maxdepth 2 -mindepth 2 -iname ".svn" -type d -exec dirname {} ';') "
 
     # special search for site avenger directories; they have avenger5 as second level.
-    REPOSITORY_LIST+="$(find "$FEISTY_MEOW_REPOS_SCAN" -maxdepth 2 -mindepth 2 -iname "avenger5" -type d) "
+    REPOSITORY_LIST_TO_PULL+="$(find "$FEISTY_MEOW_REPOS_SCAN" -maxdepth 2 -mindepth 2 -iname "avenger5" -type d) "
   fi
   
   # the archive list is a set of directories that are major repositories of
index b6848be922fac32da1ba478bc2451266ee03eab4..1ba00a19bd6f19cd312e008225c3e71af9721d83 100644 (file)
@@ -19,12 +19,17 @@ if [ -z "$USER_CUSTOMIZATIONS_LOADED" ]; then
     export WEBBED_SITES=/var/www
   fi
 
-#hmmm: ebooks is not useful any more...
   # add a bunch of personal folders to the list for checkin & checkout.
-  REPOSITORY_LIST=" $CLOUD_BASE \
-    $FEISTY_MEOW_PERSONAL_HOME/ebooks \
-    $FEISTY_MEOW_PERSONAL_HOME/web \
-    ${REPOSITORY_LIST} "
+  fred_addins=" $CLOUD_BASE \
+    $FEISTY_MEOW_PERSONAL_HOME/web"
+  REPOSITORY_LIST_TO_PULL=" $fred_addins \
+    ${REPOSITORY_LIST_TO_PULL} "
+  # for fred, we add in a commit of feisty_meow code.  this is not something
+  # everyone can do, thus not everyone should use fred's config.
+  REPOSITORY_LIST_TO_COMMIT=" $fred_addins \
+    ${FEISTY_MEOW_APEX} \
+    ${REPOSITORY_LIST_TO_COMMIT} "
+  unset fred_addins
 
   # adds our locally relevant archive folders into the list to be synched.
   MAJOR_ARCHIVE_SOURCES+="/z/archons /z/basement /z/imaginations /z/musix /z/toaster /z/walrus $HOME/brobdingnag"
index 9d71f0cf7feee4b29ddc81c5f2d2da3478011a2c..70996de90ae97d67b27b42a111a718239e6766da 100644 (file)
@@ -1,6 +1,7 @@
 #!/usr/bin/env bash
 
-# checkin: checks in all the folders present in the REPOSITORY_LIST variable.
+# checkin: checks in all the folders present in the REPOSITORY_LIST_TO_COMMIT variable,
+# after updating everyone in REPOSITORY_LIST_TO_PULL.
 
 source "$FEISTY_MEOW_SCRIPTS/core/launch_feisty_meow.sh"
 source "$FEISTY_MEOW_SCRIPTS/rev_control/version_control.sh"
@@ -11,13 +12,17 @@ save_terminal_title
 
 echo "committing repositories at: $(date)"
 
-FULL_LIST=" $(dirname $FEISTY_MEOW_APEX) $HOME "
-if [ "$OS" == "Windows_NT" ]; then
-  FULL_LIST+=" c:/ d:/ e:/ "
-fi
-
-checkin_list $FULL_LIST
-exit_on_error "revision control check-in of list: $FULL_LIST"
+FULL_LIST_OUT="${REPOSITORY_LIST_TO_PULL}"
+#still wrong: FULL_LIST_OUT=" $(dirname $FEISTY_MEOW_APEX) $HOME "
+#ack: if [ "$OS" == "Windows_NT" ]; then
+#  FULL_LIST+=" c:/ d:/ e:/ "
+#fi
+puff_out_list $FULL_LIST_OUT
+exit_on_error "revision control puffing-out of list: $FULL_LIST_OUT"
+
+FULL_LIST_IN="${REPOSITORY_LIST_TO_COMMIT}"
+checkin_list $FULL_LIST_IN
+exit_on_error "revision control check-in of list: $FULL_LIST_IN"
 
 echo
 
index 72b333cf532c1841179168dea57a3aac923d4411..3249cfc2a913f4b8d7f02115a5ec6dbe0dc4e7d3 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 
-# gets any updates for the repository folders present in the REPOSITORY_LIST variable.
+# gets any updates for the repository folders present in the REPOSITORY_LIST_TO_PULL variable.
 
 source "$FEISTY_MEOW_SCRIPTS/core/launch_feisty_meow.sh"
 source "$FEISTY_MEOW_SCRIPTS/rev_control/version_control.sh"
@@ -42,10 +42,11 @@ exit_on_error "removing file: $TMPO_CHK"
 echo "getting repositories at: $(date)"
 
 # perform the checkouts as appropriate per OS.
-FULL_LIST="$(dirname $FEISTY_MEOW_APEX) $HOME"
-if [ "$OS" == "Windows_NT" ]; then
-  FULL_LIST+="c:/ d:/ e:/"
-fi
+#wrong: FULL_LIST="$(dirname $FEISTY_MEOW_APEX) $HOME"
+FULL_LIST="${REPOSITORY_LIST_TO_PULL}"
+#argh: if [ "$OS" == "Windows_NT" ]; then
+#  FULL_LIST+="c:/ d:/ e:/"
+#fi
 checkout_list $FULL_LIST 2>&1 | tee -a "$TMPO_CHK"
 exit_on_error "checking out list: $FULL_LIST"
 
index eaea0405e0b3c127d9200829512c744610a5759b..83fcf4c29b5ca3de1b7bb9b2715eee823b980b96 100644 (file)
@@ -1,8 +1,8 @@
 #!/usr/bin/env bash
 
-# puffer: "puffs out" all of the folders present in the REPOSITORY_LIST
+# puffer: "puffs out" all of the folders listed in the REPOSITORY_LIST_TO_PULL
 # variable, which causes the repo to be merged with its remote versions.
-# this enables a clean check-in; after puffer runs, there will be no secret
+# this enables a clean check-in; after puffer runs; there will be no secret
 # upstream changes that could mess up the git push (svn and cvs are not
 # supported in this script, since they branch differently than git).
 
@@ -18,10 +18,11 @@ save_terminal_title
 
 echo "puffing out repositories at: $(date)"
 
-FULL_LIST=" $(dirname $FEISTY_MEOW_APEX) $HOME "
-if [ "$OS" == "Windows_NT" ]; then
-  FULL_LIST+=" c:/ d:/ e:/ "
-fi
+#wrong: FULL_LIST=" $(dirname $FEISTY_MEOW_APEX) $HOME "
+FULL_LIST="${REPOSITORY_LIST_TO_PULL}"
+#no, and yuck: if [ "$OS" == "Windows_NT" ]; then
+#  FULL_LIST+=" c:/ d:/ e:/ "
+#fi
 
 puff_out_list $FULL_LIST
 exit_on_error "puffing out list: $FULL_LIST"
index 2396dc3f97f7f7e94ce3358f49024f3268aedb03..c87485895205f647feaf4ce95595f13628ad21fa 100644 (file)
@@ -234,7 +234,8 @@ function checkin_list()
   local list="$(uniquify $*)"
 
   # turn repo list back into an array.
-  eval "repository_list=( ${REPOSITORY_LIST[*]} )"
+  repolist_combined="$(uniquify ${REPOSITORY_LIST_TO_COMMIT[*]} ${REPOSITORY_LIST_TO_PULL[*]})"
+  eval "repository_list=( $repolist_combined )"
 
   local outer inner
 
@@ -490,7 +491,7 @@ function checkout_list()
   local list="$(uniquify $*)"
 
   # turn repo list back into an array.
-  eval "repository_list=( ${REPOSITORY_LIST[*]} )"
+  eval "repository_list=( ${REPOSITORY_LIST_TO_PULL[*]} )"
 
   local outer inner
 
@@ -514,7 +515,7 @@ function checkout_list()
 }
 
 # does a careful update on all the folders in the specified list;
-# it looks in the REPOSITORY_LIST for those names and updates them.
+# it looks in the REPOSITORY_LIST_TO_PULL for those names and updates them.
 # this is just like checkout_list, but it's for the puffing up action
 # we need to do on git.
 function puff_out_list()
@@ -523,7 +524,7 @@ function puff_out_list()
   local list="$(uniquify $*)"
 
   # turn repo list back into an array.
-  eval "repository_list=( ${REPOSITORY_LIST[*]} )"
+  eval "repository_list=( ${REPOSITORY_LIST_TO_PULL[*]} )"
 
   local outer inner