really close for simple powerups
authorChris Koeritz <fred@gruntose.com>
Wed, 13 Mar 2019 17:00:19 +0000 (13:00 -0400)
committerChris Koeritz <fred@gruntose.com>
Wed, 13 Mar 2019 17:00:19 +0000 (13:00 -0400)
it looks like this is working now for a powerup done in a project directory with no parameters, even if that project directory is a way deep subdirectory of a git repository rather than a stand-alone repository.  had to stop before fully powered up due to blah blah but need to test out fully and then remove debug noises.
version control library had a feature removed which was not being used and seemed dangerous anyhow.

scripts/rev_control/version_control.sh
scripts/site_avenger/config/default.app
scripts/site_avenger/shared_site_mgr.sh

index 737f314cb2368ede6157083be13f1165a7aae42c..282dd4d922ff3bd9aa2708bbd34cca9760b679aa 100644 (file)
@@ -11,23 +11,6 @@ source "$FEISTY_MEOW_SCRIPTS/tty/terminal_titler.sh"
 
 ##############
 
-# check git version to see if we can use autostash.
-# this appears to be an ubuntu issue, where xenial did not provide it even though the
-# feature appeared in git 2.6 and xenial claims it has git version 2.7.4.  eventually,
-# this version test can go away.
-gitvertest="$(git version | sed -e 's/git version [0-9]\.//' | sed -e 's/\.[0-9][0-9]*$//' )"
-if (( $gitvertest >= 11 )); then
-  # auto-stash is not available until 2.6 for git, but ubuntu is misreporting or using a
-  # differing version number somehow.  we are sure autostash was missing on ubuntu xenial
-  # with git 2.7.4 and it's definitely present in zesty with git at 2.11.
-#  PULL_ADDITION='--rebase --autostash'
-#although initially attractive, above set of flags seems to lose history we don't want to
-#lose.
-PULL_ADDITION=
-fi
-
-##############
-
 # the maximum depth that the recursive functions will try to go below the starting directory.
 export MAX_DEPTH=5
 
@@ -362,7 +345,7 @@ function do_revctrl_careful_update()
     remote_branch_info=$(git ls-remote --heads origin $bran 2>/dev/null)
     if [ ! -z "$remote_branch_info" ]; then
       # we are pretty sure the remote branch does exist.
-      git pull --tags $PULL_ADDITION origin "$bran" | $TO_SPLITTER
+      git pull --tags origin "$bran" | $TO_SPLITTER
       promote_pipe_return 0
     fi
     exit_on_error "git pull of remote branch: $bran"
@@ -374,7 +357,7 @@ function do_revctrl_careful_update()
 
   # now pull down any changes in our own origin in the repo, to stay in synch
   # with any changes from others.
-  git pull --tags $PULL_ADDITION --all | $TO_SPLITTER
+  git pull --tags --all | $TO_SPLITTER
 #is the above really important when we did this branch already in the loop?
 #it does an --all, but is that effective or different?  should we be doing that in above loop?
   promote_pipe_return 0
@@ -414,7 +397,7 @@ function do_revctrl_simple_update()
   elif [ -d ".git" ]; then
     if test_writeable ".git"; then
       $blatt_report
-      git pull --tags $PULL_ADDITION 2>&1 | grep -v "X11 forwarding request failed" | $TO_SPLITTER
+      git pull --tags 2>&1 | grep -v "X11 forwarding request failed" | $TO_SPLITTER
       promote_pipe_return 0
       exit_on_error "git pull of origin"
     fi
index e128f71513f88325dc780804b2a43fbe47d0ac54..46dbd3a76da5e16e975650c6e127a1f8b441673b 100644 (file)
 # basic information that is constant for all site avenger sites.
 
 # the top level of the user's application storage.
-export BASE_APPLICATION_PATH="$HOME/apps"
+if [ -z "$BASE_APPLICATION_PATH" ]; then
+  export BASE_APPLICATION_PATH="$HOME/apps"
+fi
 # where the code should come from.
-export DEFAULT_REPOSITORY_ROOT="git@github.com:kwentworth"
+if [ -z "$DEFAULT_REPOSITORY_ROOT" ]; then
+  export DEFAULT_REPOSITORY_ROOT="git@github.com:kwentworth"
+fi
 # we checkout the git repository to a directory underneath the app storage
 # directory named this (see below for "this"), if that directory name is found.
 # this is a saco designs infrastructure standard.
-export CHECKOUT_DIR_NAME="avenger5"
+if [ -z "$CHECKOUT_DIR_NAME" ]; then
+  export CHECKOUT_DIR_NAME="avenger5"
+fi
 # the subfolder that the web browser will look for the site in,
 # underneath the application's specific path.
-export STORAGE_SUFFIX="/public"
+if [ -z "$STORAGE_SUFFIX" ]; then
+  export STORAGE_SUFFIX="/public"
+fi
 
 ####
 
+#hmmm: below does not have any protection to avoid overriding existing values, like above does.  do we need more?
+
 # constants within our cakelampvm machine.
 
 # in our scheme, the single IP address that all our domains map to.
index d2f84e0f83be23c32111af551240e752b67c882f..cfc7c9a04848781f5d8d8b5284a315baeeb6f26e 100644 (file)
@@ -304,18 +304,25 @@ echo "$(date_stringer): $(var full_app_dir checkout_dirname repo_root repo_name)
   exit_on_error "Switching to our app dir '$full_app_dir'"
 
   local complete_path="$full_app_dir"
-  if [ ! -z "$checkout_dirname" ]; then
+#hmmm: below code problematic for when we want a new git clone to show up!
+  if [ ! -z "$checkout_dirname" -a -d "$full_app_dir/$checkout_dirname" ]; then
     # make the full path using the non-empty checkout dir name.
     complete_path+="/$checkout_dirname"
+  else
+    # using the additional path component failed, so we reset that to see if
+    # we can still proceed normally.
+    unset checkout_dirname
   fi
 
+echo set complete_path: $complete_path
+
   # see if the checkout directory exits.  the repo_found variable is set to
   # non-empty if we find it and it's a valid git repo.
   repo_found=
-  if [ -d "$full_app_dir" ]; then
+  if [ -d "$complete_path" ]; then
     # checkout directory exists, so let's check it.
-    pushd "$full_app_dir" &>/dev/null
-    exit_on_error "Switching to directory for check out: $full_app_dir"
+    pushd "$complete_path" &>/dev/null
+    exit_on_error "Switching to directory for check out: $complete_path"
 
     # ask for repository name (without .git).
     if git rev-parse --git-dir > /dev/null 2>&1; then
@@ -326,7 +333,7 @@ echo "$(date_stringer): $(var full_app_dir checkout_dirname repo_root repo_name)
     # we don't consider the state of having the dir exist but the repo be wrong as good.
     if [ -z "$repo_found" ]; then
       echo "There is a problem; this folder is not a valid repository:"
-      echo "  $full_app_dir"
+      echo "  $complete_path"
       echo "This script cannot continue unless the git repository is valid."
       exit 1
     fi
@@ -335,14 +342,20 @@ echo "$(date_stringer): $(var full_app_dir checkout_dirname repo_root repo_name)
 
   if [ ! -z "$repo_found" ]; then
     # a repository was found, so update the version here and leave.
+    pushd "$complete_path" &>/dev/null
+    exit_on_error "Switching to directory for repo update: $complete_path"
     echo "Repository $repo_name exists.  Updating it."
-    rgetem
+    git pull --tags --all
     exit_on_error "Recursive checkout on: $complete_path"
+    popd &>/dev/null
   else
     # clone the repo since it wasn't found.
+    pushd "$complete_path/.." &>/dev/null
+    exit_on_error "Switching to parent directory prior to new clone: $complete_path/.."
     echo "Cloning repository $repo_name now."
     git clone "$repo_root/$repo_name.git" $checkout_dirname
     exit_on_error "Git clone of repository: $repo_name"
+    popd &>/dev/null
   fi
 
 #unused?