[asterisk-scf-commits] asterisk-scf/integration/sip.git branch "modular-transport-refactor" created.

Commits to the Asterisk SCF project code repositories asterisk-scf-commits at lists.digium.com
Tue Jun 21 13:59:02 CDT 2011


branch "modular-transport-refactor" has been created
        at  c7c83b3294f0c5c3a5ff88b9e5bb9159d6555954 (commit)

- Log -----------------------------------------------------------------
commit c7c83b3294f0c5c3a5ff88b9e5bb9159d6555954
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Thu Jun 2 13:16:00 2011 -0500

    Ensure 'push' URLs are set on newly-cloned repositories.
    
    When cloning a repository, if a 'push' URL has been set on the gitall clone,
    set that as the 'push' URL on the newly-cloned repository as well (rather
    than waiting until the next pull to update it).

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index a60d082..04fb9d7 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -212,6 +212,9 @@ EOF
             else
                 echo ">> Cloning from ${repoUri} to ${repoDir}"
                 git clone ${repoUri} ${repoDir}
+                if test ${config_gitdepot_push}; then
+                    git_in_dir ${repoDir} remote set-url --push origin ${configRepoPushUri}
+		fi
             fi
         } 2>&1 | collapse
     done

commit 10c3f76372457494c60641a89ba542f753ffa2aa
Author: David M. Lee <dlee at digium.com>
Date:   Fri May 6 11:30:19 2011 -0500

    Adding util-cpp to .gitignore

diff --git a/.gitignore b/.gitignore
index 1395338..78809fd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,3 +12,4 @@ servicediscovery
 sip
 slice
 test_channel
+util-cpp

commit 8253751e0bb5dbf6d8a5a9c2869b3a7c1073183b
Author: David M. Lee <dlee at digium.com>
Date:   Fri May 6 11:29:56 2011 -0500

    sort .gitignore

diff --git a/.gitignore b/.gitignore
index 31474f9..1395338 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,9 @@
+.gitall.TMP
 bridging
 build
 cmake
+configurator
+ice-util-cpp
 logger
 media_rtp_pjmedia
 pjproject
@@ -9,6 +12,3 @@ servicediscovery
 sip
 slice
 test_channel
-ice-util-cpp
-configurator
-.gitall.TMP

commit 9bd02f8e9fb2f5a0e4ecc71f6d0c66919f8876fd
Author: Ken Hunt <ken.hunt at digium.com>
Date:   Fri May 6 10:53:11 2011 -0500

    Added util-cpp to list of repos.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index d4f3ba9..a60d082 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -91,6 +91,7 @@ repos[i++]=release/media_rtp_pjmedia
 repos[i++]=release/slice
 repos[i++]=release/logger
 repos[i++]=release/ice-util-cpp
+repos[i++]=release/util-cpp
 repos[i++]=release/test_channel
 repos[i++]=release/cmake
 repos[i++]=release/pjproject

commit 526f1df23a54f56d1c0930178fe578c764f84aff
Merge: abdb6d3 c64b22d
Author: Ken Hunt <ken.hunt at digium.com>
Date:   Thu May 5 18:55:20 2011 -0500

    Merge branch 'master' of gitdepot:asterisk-scf/integration/gitall


commit c64b22d1838b18f051ff1ed810f27b72d40e9ae7
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Tue Apr 26 10:35:49 2011 -0500

    Ignore 'configurator' subdirectory.

diff --git a/.gitignore b/.gitignore
index 1180c0f..31474f9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,4 +10,5 @@ sip
 slice
 test_channel
 ice-util-cpp
+configurator
 .gitall.TMP

commit 6a6ccb335e86e2515cfdf57336557b66787b3755
Author: Joshua Colp <jcolp at digium.com>
Date:   Wed Apr 20 19:06:29 2011 -0300

    Make the configurator a normal repo that will now get pulled.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 5cbe598..d4f3ba9 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -94,6 +94,7 @@ repos[i++]=release/ice-util-cpp
 repos[i++]=release/test_channel
 repos[i++]=release/cmake
 repos[i++]=release/pjproject
+repos[i++]=release/configurator
 
 # by default, pull
 cmd=pull

commit a54ae4b1482cbc76a0d6e5cf984a2e16781018b1
Author: David M. Lee <dlee at digium.com>
Date:   Sun Apr 17 20:24:17 2011 -0500

    Moved creation of config_site.h to cmake scripts.
    
    This used to happen in the gitall script, but I got tired of it being
    missing whenever I cleaned out the pjproject directory.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 47c03f2..5cbe598 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -213,14 +213,6 @@ EOF
             fi
         } 2>&1 | collapse
     done
-
-    # Make sure that config_site.h exists for Windows.
-    # harmless for all other platforms.  Only touch it if you have to
-    # to avoid triggering needless builds.
-    if ! test -e ./pjproject/pjlib/include/pj/config_site.h; then
-        touch ./pjproject/pjlib/include/pj/config_site.h
-    fi
-
 } # pull
 
 function passthrough()

commit 89cd02fa3eac8a96546385f26635cb81457d34e1
Author: David M. Lee <dlee at digium.com>
Date:   Fri Apr 15 12:49:12 2011 -0500

    Fixed gitall script for usage of pushinsteadof.
    
    In git, there's a difference between the URL that's configured, and the
    URL that's actually used.  For example, url.<base>.pushInsteadOf can
    change the default push URL for a remote, if one is not already set.
    
    Now the script treats the configured URL's separately from the effective
    URL's.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 4d7dc97..47c03f2 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -71,9 +71,13 @@ function git_in_dir()
     popd > /dev/null
 }
 
-gitdepot_pull=`git config --get remote.origin.url | sed "s at asterisk-scf/integration/gitall.*@@"`
-gitdepot_push=`git config --get remote.origin.pushurl | sed "s at asterisk-scf/integration/gitall.*@@"`
-gitdepot_push=${gitdepot_push:-${gitdepot_pull}}
+# Effective URL's for pushing and pulling
+gitdepot_pull=`git remote show origin | sed -n 's at asterisk-scf/integration/gitall.*@@; s/^  Fetch URL: //p'`
+gitdepot_push=`git remote show origin | sed -n 's at asterisk-scf/integration/gitall.*@@; s/^  Push  URL: //p'`
+
+# Configured URL's for pushing and pulling
+config_gitdepot_pull=`git config --get remote.origin.url | sed "s at asterisk-scf/integration/gitall.*@@"`
+config_gitdepot_push=`git config --get remote.origin.pushurl | sed "s at asterisk-scf/integration/gitall.*@@"`
 
 # tree should probably be set by menu prompts or command line args
 # one day
@@ -183,12 +187,14 @@ EOF
             repoDir=$(basename ${repo})
             repoUri=${gitdepot_pull}${tree}/${repo}
             repoPushUri=${gitdepot_push}${tree}/${repo}
+            configRepoUri=${config_gitdepot_pull}${tree}/${repo}
+            configRepoPushUri=${config_gitdepot_push}${tree}/${repo}
 
             if [ -d ${repoDir}/.git ]; then
                 # update the origin to what is specified in repoUri
-                git_in_dir ${repoDir} remote set-url origin ${repoUri}
-                if test ${gitdepot_push}; then
-                    git_in_dir ${repoDir} remote set-url --push origin ${repoPushUri}
+                git_in_dir ${repoDir} remote set-url origin ${configRepoUri}
+                if test ${config_gitdepot_push}; then
+                    git_in_dir ${repoDir} remote set-url --push origin ${configRepoPushUri}
                 else
 		    # we really should use 'git remote set-url --delete' here, but coming up
 		    # with the proper regex syntax for the URL to be match seems to be difficult

commit d33a2d15a138916e68c04da9c636b0a7c0ff8731
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Fri Apr 15 10:05:08 2011 -0500

    Remove usage of --work-tree, because various versions of git interpret it
    differently. Instead, go back to changing directories to run git, but do it
    in a way that doesn't require a subshell.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 2cb747a..4d7dc97 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -62,6 +62,15 @@ function collapse()
     echo "${head}"
 }
 
+# run git in the directory specified by the first argument
+function git_in_dir()
+{
+    pushd ${1} > /dev/null
+    shift
+    git "$@"
+    popd > /dev/null
+}
+
 gitdepot_pull=`git config --get remote.origin.url | sed "s at asterisk-scf/integration/gitall.*@@"`
 gitdepot_push=`git config --get remote.origin.pushurl | sed "s at asterisk-scf/integration/gitall.*@@"`
 gitdepot_push=${gitdepot_push:-${gitdepot_pull}}
@@ -177,18 +186,18 @@ EOF
 
             if [ -d ${repoDir}/.git ]; then
                 # update the origin to what is specified in repoUri
-                git --git-dir=${repoDir}/.git remote set-url origin ${repoUri}
+                git_in_dir ${repoDir} remote set-url origin ${repoUri}
                 if test ${gitdepot_push}; then
-                    git --git-dir=${repoDir}/.git remote set-url --push origin ${repoPushUri}
+                    git_in_dir ${repoDir} remote set-url --push origin ${repoPushUri}
                 else
 		    # we really should use 'git remote set-url --delete' here, but coming up
 		    # with the proper regex syntax for the URL to be match seems to be difficult
-                    git --git-dir=${repoDir}/.git config --unset remote.origin.pushurl
+                    git_in_dir ${repoDir} config --unset remote.origin.pushurl
                 fi
-                if git --git-dir=${repoDir}/.git rev-parse --verify @{upstream} > /dev/null 2>&1; then
-                    upstream=$(git --git-dir=${repoDir}/.git for-each-ref --format="%(upstream:short)" $(git --git-dir=${repoDir}/.git rev-parse --symbolic-full-name HEAD))
+                if git_in_dir ${repoDir} rev-parse --verify @{upstream} > /dev/null 2>&1; then
+                    upstream=$(git_in_dir ${repoDir} for-each-ref --format="%(upstream:short)" $(git_in_dir ${repoDir} rev-parse --symbolic-full-name HEAD))
                     echo ">> Pulling from ${upstream} (${repoDir})"
-                    git --git-dir=${repoDir}/.git --work-tree=.. pull
+                    git_in_dir ${repoDir} pull
                 else
                     echo "-- Skipping ${repoDir}; no upstream branch"
                 fi
@@ -219,13 +228,13 @@ function passthrough()
                 echo "!! Repo ${repoName} not yet cloned" >&2
                 exit 1
             fi
-	    originRepo=$(basename "$(git --git-dir=${repoDir}/.git config --get remote.origin.url)")
+	    originRepo=$(basename "$(git_in_dir ${repoDir} config --get remote.origin.url)")
 	    local -a replace_repo=(${@/REPO/${originRepo}})
 	    local -a replace_pull=(${replace_repo[@]/PULL/${gitdepot_pull}})
 	    local -a replace_push=(${replace_pull[@]/PUSH/${gitdepot_push}})
 	    local -a gitargs=(${replace_push[@]})
             echo ">> git" "${gitargs[@]}" "(${repoName})"
-            git --git-dir=${repoDir}/.git --work-tree=.. "${gitargs[@]}"
+            git_in_dir ${repoDir} "${gitargs[@]}"
             if test $? -ne 0; then
                 echo >&2
                 echo "!! Failed to '$1' ${repoName}." >&2
@@ -245,7 +254,7 @@ function dry_run()
             echo "!! Repo ${repoName} not yet cloned" >&2
             exit 1
         fi
-        git --git-dir=${RepoDir}/.git --work-tree=.. s"$@" --dry-run --quiet
+        git_in_dir ${repoDir} "$@" --dry-run --quiet
         if test $? -ne 0; then
             echo >&2
             echo "!! Would fail to '$1' ${repoName}." >&2
@@ -259,7 +268,7 @@ function dry_run()
             repoDir=$(basename ${repo})
             repoName=$(basename "$(cd ${repoDir} && pwd)")
             echo ">> git" "$@" "(${repoName})"
-            git --git-dir=${RepoDir}/.git --work-tree=.. "$@"
+            git_in_dir ${repoDir} "$@"
             if test $? -ne 0; then
                 echo "!! Failed to 'push' ${repoName}." >&2
                 exit 1

commit f3a8a9d6ec7d8dc25d17fb46897fcb09a192211f
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Fri Apr 15 09:31:18 2011 -0500

    Use a relative path for the --work-tree argument.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 14a17dc..2cb747a 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -188,7 +188,7 @@ EOF
                 if git --git-dir=${repoDir}/.git rev-parse --verify @{upstream} > /dev/null 2>&1; then
                     upstream=$(git --git-dir=${repoDir}/.git for-each-ref --format="%(upstream:short)" $(git --git-dir=${repoDir}/.git rev-parse --symbolic-full-name HEAD))
                     echo ">> Pulling from ${upstream} (${repoDir})"
-                    git --work-tree=${repoDir} --git-dir=${repoDir}/.git pull
+                    git --git-dir=${repoDir}/.git --work-tree=.. pull
                 else
                     echo "-- Skipping ${repoDir}; no upstream branch"
                 fi
@@ -225,7 +225,7 @@ function passthrough()
 	    local -a replace_push=(${replace_pull[@]/PUSH/${gitdepot_push}})
 	    local -a gitargs=(${replace_push[@]})
             echo ">> git" "${gitargs[@]}" "(${repoName})"
-            git --work-tree=${repoDir} --git-dir=${repoDir}/.git "${gitargs[@]}"
+            git --git-dir=${repoDir}/.git --work-tree=.. "${gitargs[@]}"
             if test $? -ne 0; then
                 echo >&2
                 echo "!! Failed to '$1' ${repoName}." >&2
@@ -245,7 +245,7 @@ function dry_run()
             echo "!! Repo ${repoName} not yet cloned" >&2
             exit 1
         fi
-        git --work-tree=${repoDir} --git-dir=${RepoDir}/.git "$@" --dry-run --quiet
+        git --git-dir=${RepoDir}/.git --work-tree=.. s"$@" --dry-run --quiet
         if test $? -ne 0; then
             echo >&2
             echo "!! Would fail to '$1' ${repoName}." >&2
@@ -259,7 +259,7 @@ function dry_run()
             repoDir=$(basename ${repo})
             repoName=$(basename "$(cd ${repoDir} && pwd)")
             echo ">> git" "$@" "(${repoName})"
-            git --work-tree=${repoDir} --git-dir=${RepoDir}/.git "$@"
+            git --git-dir=${RepoDir}/.git --work-tree=.. "$@"
             if test $? -ne 0; then
                 echo "!! Failed to 'push' ${repoName}." >&2
                 exit 1

commit dbe60c9d90ef8117624063ad605a9281ce97dba6
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Fri Apr 15 09:30:53 2011 -0500

    Remember to specify the name of the remote (origin) for 'git remote set-url'.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 0427aa2..14a17dc 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -177,9 +177,9 @@ EOF
 
             if [ -d ${repoDir}/.git ]; then
                 # update the origin to what is specified in repoUri
-                git --git-dir=${repoDir}/.git remote set-url ${repoUri}
+                git --git-dir=${repoDir}/.git remote set-url origin ${repoUri}
                 if test ${gitdepot_push}; then
-                    git --git-dir=${repoDir}/.git remote set-url --push ${repoPushUri}
+                    git --git-dir=${repoDir}/.git remote set-url --push origin ${repoPushUri}
                 else
 		    # we really should use 'git remote set-url --delete' here, but coming up
 		    # with the proper regex syntax for the URL to be match seems to be difficult

commit e9e090742cf56187981e61df3117280b29f4f761
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Fri Apr 15 09:06:09 2011 -0500

    Remove spurious argument being passed to ssh-add, which causes an error message
    to be generated.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 9e37f86..0427aa2 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -278,7 +278,7 @@ if test ${SSH_AUTH_SOCK-no} = no && test "${GIT_SSH-no}" = no; then
     eval `ssh-agent`
 
     echo "SSH_AGENT_PID = ${SSH_AGENT_PID}"
-    exec `ssh-add ${1}`
+    exec `ssh-add`
     export kill_agent=yes
 fi
 

commit 02166802104cc1b5205b60f1a0b0ecb70d1a368e
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Fri Apr 15 09:00:34 2011 -0500

    Instead of using subshells to change directories before executing git commands,
    use --git-dir and --work-tree arguments to tell git where the relevant content
    lives. This makes the script execute faster on Windows.
    
    In addition, use 'git remote set-url' instead of 'git config remote...' where
    it's an easy replacement.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index c1d0ec3..9e37f86 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -177,19 +177,18 @@ EOF
 
             if [ -d ${repoDir}/.git ]; then
                 # update the origin to what is specified in repoUri
-                ( cd ${repoDir} && git config remote.origin.url ${repoUri} )
-                ( cd ${repoDir} && if test ${gitdepot_push}; then
-                        git config remote.origin.pushurl ${repoPushUri};
-                    else
-                        git config --unset remote.origin.pushurl
-                    fi )
-                if ( cd ${repoDir} && git rev-parse --verify @{upstream} > /dev/null 2>&1 ); then
-                    upstream=$(
-                        cd ${repoDir} &&
-                        git for-each-ref --format="%(upstream:short)" \
-                            $(git rev-parse --symbolic-full-name HEAD))
+                git --git-dir=${repoDir}/.git remote set-url ${repoUri}
+                if test ${gitdepot_push}; then
+                    git --git-dir=${repoDir}/.git remote set-url --push ${repoPushUri}
+                else
+		    # we really should use 'git remote set-url --delete' here, but coming up
+		    # with the proper regex syntax for the URL to be match seems to be difficult
+                    git --git-dir=${repoDir}/.git config --unset remote.origin.pushurl
+                fi
+                if git --git-dir=${repoDir}/.git rev-parse --verify @{upstream} > /dev/null 2>&1; then
+                    upstream=$(git --git-dir=${repoDir}/.git for-each-ref --format="%(upstream:short)" $(git --git-dir=${repoDir}/.git rev-parse --symbolic-full-name HEAD))
                     echo ">> Pulling from ${upstream} (${repoDir})"
-                    ( cd ${repoDir} && git pull )
+                    git --work-tree=${repoDir} --git-dir=${repoDir}/.git pull
                 else
                     echo "-- Skipping ${repoDir}; no upstream branch"
                 fi
@@ -226,7 +225,7 @@ function passthrough()
 	    local -a replace_push=(${replace_pull[@]/PUSH/${gitdepot_push}})
 	    local -a gitargs=(${replace_push[@]})
             echo ">> git" "${gitargs[@]}" "(${repoName})"
-            ( cd ${repoDir} && git "${gitargs[@]}" )
+            git --work-tree=${repoDir} --git-dir=${repoDir}/.git "${gitargs[@]}"
             if test $? -ne 0; then
                 echo >&2
                 echo "!! Failed to '$1' ${repoName}." >&2
@@ -246,7 +245,7 @@ function dry_run()
             echo "!! Repo ${repoName} not yet cloned" >&2
             exit 1
         fi
-        ( cd ${repoDir} && git "$@" --dry-run --quiet )
+        git --work-tree=${repoDir} --git-dir=${RepoDir}/.git "$@" --dry-run --quiet
         if test $? -ne 0; then
             echo >&2
             echo "!! Would fail to '$1' ${repoName}." >&2
@@ -260,7 +259,7 @@ function dry_run()
             repoDir=$(basename ${repo})
             repoName=$(basename "$(cd ${repoDir} && pwd)")
             echo ">> git" "$@" "(${repoName})"
-            ( cd ${repoDir} && git "$@" )
+            git --work-tree=${repoDir} --git-dir=${RepoDir}/.git "$@"
             if test $? -ne 0; then
                 echo "!! Failed to 'push' ${repoName}." >&2
                 exit 1

commit 4f767218af3a0c68e162e38ad6767effcf80ec9a
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Thu Apr 14 15:06:25 2011 -0500

    Use the name of the origin URL instead of the local directory name when
    substituting the REPO keyword in passthrough command arguments.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 7b72600..c1d0ec3 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -220,7 +220,8 @@ function passthrough()
                 echo "!! Repo ${repoName} not yet cloned" >&2
                 exit 1
             fi
-	    local -a replace_repo=(${@/REPO/${repoName}})
+	    originRepo=$(basename "$(git --git-dir=${repoDir}/.git config --get remote.origin.url)")
+	    local -a replace_repo=(${@/REPO/${originRepo}})
 	    local -a replace_pull=(${replace_repo[@]/PULL/${gitdepot_pull}})
 	    local -a replace_push=(${replace_pull[@]/PUSH/${gitdepot_push}})
 	    local -a gitargs=(${replace_push[@]})

commit b0324a700966b67f78bbe0325d9c63bdb3279de4
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Thu Apr 14 13:38:31 2011 -0500

    Correct error in keyword replacement.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index a5206b4..7b72600 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -222,7 +222,7 @@ function passthrough()
             fi
 	    local -a replace_repo=(${@/REPO/${repoName}})
 	    local -a replace_pull=(${replace_repo[@]/PULL/${gitdepot_pull}})
-	    local -a replace_push=(${replace_repo[@]/PUSH/${gitdepot_push}})
+	    local -a replace_push=(${replace_pull[@]/PUSH/${gitdepot_push}})
 	    local -a gitargs=(${replace_push[@]})
             echo ">> git" "${gitargs[@]}" "(${repoName})"
             ( cd ${repoDir} && git "${gitargs[@]}" )

commit 2e15a17246200b6c94470e2aa94778962a38d38a
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Thu Apr 14 13:21:39 2011 -0500

    Add passthrough support for stash, checkout and commit.
    
    Add magic keyword support for arguments to passthrough commands.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 56f001d..a5206b4 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -15,13 +15,26 @@ Options:
 
 Commands:
    pull, push, tag, status, branch, diff, submodule, fetch, remote, gc, fsck,
-   log, grep
+   log, grep, stash, checkout, commit
 
    Pull will detect missing repos and clone as necessary.
    Other than pull, all commands accept normal git options.
    Push tries to be safe by running --dry-run prior to the actual push.
      Still recommend *serious* paranoia when running this command.
 
+   All 'passthrough' commands can include keywords in their arguments that will
+   be substituted as the command is executed for each repository:
+      REPO - name of the repository being processed
+      PULL - the base of the git URI used for pulling the gitall repo
+             (including the final separator character)
+      PUSH - the base of the git URI used for pushing the gitall repo
+             (including the final separator character)
+
+   These can be used in various ways; as an example, here is a simple command
+   to add a git 'remote' to each repository that points to developer "john's"
+   clone of the repo:
+       $ gitall-asterisk-scf.sh remote add john PUSHteam/john/REPO
+
 If no command is given, pull is run by default.
 EOF
 }
@@ -49,8 +62,9 @@ function collapse()
     echo "${head}"
 }
 
-gitdepot=`git config --get remote.origin.url | sed "s at asterisk-scf/integration/gitall.*@@"`
+gitdepot_pull=`git config --get remote.origin.url | sed "s at asterisk-scf/integration/gitall.*@@"`
 gitdepot_push=`git config --get remote.origin.pushurl | sed "s at asterisk-scf/integration/gitall.*@@"`
+gitdepot_push=${gitdepot_push:-${gitdepot_pull}}
 
 # tree should probably be set by menu prompts or command line args
 # one day
@@ -73,7 +87,7 @@ cmd=pull
 
 while test $# -gt 0; do
     case $1 in
-        tag|status|branch|diff|submodule|fetch|remote|gc|fsck|log|grep)
+        tag|status|branch|diff|submodule|fetch|remote|gc|fsck|log|grep|stash|checkout|commit)
             cmd=passthrough
             break
             ;;
@@ -158,7 +172,7 @@ EOF
     for repo in "${repos[@]}"; do
         {
             repoDir=$(basename ${repo})
-            repoUri=${gitdepot}${tree}/${repo}
+            repoUri=${gitdepot_pull}${tree}/${repo}
             repoPushUri=${gitdepot_push}${tree}/${repo}
 
             if [ -d ${repoDir}/.git ]; then
@@ -206,11 +220,15 @@ function passthrough()
                 echo "!! Repo ${repoName} not yet cloned" >&2
                 exit 1
             fi
-            echo ">> git" "$@" "(${repoName})"
-            ( cd ${repoDir} && git "$@" )
+	    local -a replace_repo=(${@/REPO/${repoName}})
+	    local -a replace_pull=(${replace_repo[@]/PULL/${gitdepot_pull}})
+	    local -a replace_push=(${replace_repo[@]/PUSH/${gitdepot_push}})
+	    local -a gitargs=(${replace_push[@]})
+            echo ">> git" "${gitargs[@]}" "(${repoName})"
+            ( cd ${repoDir} && git "${gitargs[@]}" )
             if test $? -ne 0; then
                 echo >&2
-                echo "!! Failed to $1 ${repoName}." >&2
+                echo "!! Failed to '$1' ${repoName}." >&2
                 exit 1
             fi
         } 2>&1 | collapse
@@ -230,7 +248,7 @@ function dry_run()
         ( cd ${repoDir} && git "$@" --dry-run --quiet )
         if test $? -ne 0; then
             echo >&2
-            echo "!! Would fail to $1 ${repoName}." >&2
+            echo "!! Would fail to '$1' ${repoName}." >&2
             exit 1
         fi
     done
@@ -243,7 +261,7 @@ function dry_run()
             echo ">> git" "$@" "(${repoName})"
             ( cd ${repoDir} && git "$@" )
             if test $? -ne 0; then
-                echo "!! Failed to push ${repoName}." >&2
+                echo "!! Failed to 'push' ${repoName}." >&2
                 exit 1
             fi
         } 2>&1 | collapse

commit 2712c77fdffd8ea1c46fbf62a3cb85eda89ceb74
Author: David M. Lee <dlee at digium.com>
Date:   Mon Mar 21 11:22:19 2011 -0500

    Enable git grep across all repos.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 78d049a..56f001d 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -14,7 +14,8 @@ Options:
    --ssh-key   Specify the key-file to use for git. Usually fine without it.
 
 Commands:
-   pull, push, tag, status, branch, diff, submodule
+   pull, push, tag, status, branch, diff, submodule, fetch, remote, gc, fsck,
+   log, grep
 
    Pull will detect missing repos and clone as necessary.
    Other than pull, all commands accept normal git options.
@@ -72,7 +73,7 @@ cmd=pull
 
 while test $# -gt 0; do
     case $1 in
-        tag|status|branch|diff|submodule|fetch|remote|gc|fsck|log)
+        tag|status|branch|diff|submodule|fetch|remote|gc|fsck|log|grep)
             cmd=passthrough
             break
             ;;

commit 01dea494b7c1ed3f006fe72e456f9ea8332d64db
Author: David M. Lee <dlee at digium.com>
Date:   Fri Mar 11 09:37:09 2011 -0600

    Fixed gitall script when cloned with .git extension.
    
    Thanks bklang!

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index b35b878..78d049a 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -48,8 +48,8 @@ function collapse()
     echo "${head}"
 }
 
-gitdepot=`git config --get remote.origin.url | sed "s at asterisk-scf/integration/gitall@@"`
-gitdepot_push=`git config --get remote.origin.pushurl | sed "s at asterisk-scf/integration/gitall@@"`
+gitdepot=`git config --get remote.origin.url | sed "s at asterisk-scf/integration/gitall.*@@"`
+gitdepot_push=`git config --get remote.origin.pushurl | sed "s at asterisk-scf/integration/gitall.*@@"`
 
 # tree should probably be set by menu prompts or command line args
 # one day

commit abdb6d350eefa3f45ba76ad80251d43008c49615
Merge: 93729fb d3c7568
Author: Ken Hunt <ken.hunt at digium.com>
Date:   Thu Mar 3 17:30:50 2011 -0600

    Merge branch 'master' of gitdepot:asterisk-scf/integration/gitall

diff --cc CMakeLists.txt
index bdacb27,550904d..25b237b
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@@ -24,11 -34,9 +34,10 @@@ pjproject_build(pjsip
  pjproject_build(third_party)
  
  # Take care of slice definitions
- add_subdirectory(slice EXCLUDE_FROM_ALL)
- 
+ add_subdirectory(slice)
  add_subdirectory(logger)
  add_subdirectory(ice-util-cpp)
 +add_subdirectory(util-cpp)
  add_subdirectory(servicediscovery)
  add_subdirectory(test_channel)
  add_subdirectory(bridging)

commit 93729fbc74cf99e318b8a9939063eb2bce372450
Author: Ken Hunt <ken.hunt at digium.com>
Date:   Thu Mar 3 17:30:07 2011 -0600

    Added cmake subdirectory for util-cpp

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9b2d5a8..bdacb27 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -28,6 +28,7 @@ add_subdirectory(slice EXCLUDE_FROM_ALL)
 
 add_subdirectory(logger)
 add_subdirectory(ice-util-cpp)
+add_subdirectory(util-cpp)
 add_subdirectory(servicediscovery)
 add_subdirectory(test_channel)
 add_subdirectory(bridging)

commit d3c7568e9a4aece48d326ad87976f53da6b3c793
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Fri Feb 18 17:51:57 2011 -0600

    Use the fancy new ClassMemberDefault plugin for the Slice translator to ensure
    that data members of class/struct/exception classes always have sane default
    values, avoiding unmarshaling exceptions when objects are sent to servants
    implemented in languages that require that to be true.

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 72c897b..550904d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -23,6 +23,7 @@ include(${CMAKE_SOURCE_DIR}/cmake/AsteriskSCF.cmake)
 asterisk_scf_project("Asterisk SCF" 3.4)
 
 asterisk_scf_slice_plugins("SliceVisitorPattern:create")
+asterisk_scf_slice_plugins("SliceClassMemberDefault:create")
 
 # Add build targets for what we will need to link against
 pjproject_build(pjlib)

commit e98833b40c04a7ace489ce02dc63ab1bff207042
Author: David M. Lee <dlee at digium.com>
Date:   Tue Jan 25 22:29:08 2011 -0600

    And now it's prime-time!

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4f64241..72c897b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -22,7 +22,7 @@ include(${CMAKE_SOURCE_DIR}/cmake/AsteriskSCF.cmake)
 # This project requires Ice 3.4.x
 asterisk_scf_project("Asterisk SCF" 3.4)
 
-# asterisk_scf_slice_plugins("SliceVisitorPattern:create")
+asterisk_scf_slice_plugins("SliceVisitorPattern:create")
 
 # Add build targets for what we will need to link against
 pjproject_build(pjlib)

commit 36d3ad013172b00516f51a30108b1f7c46c3e5a0
Author: David M. Lee <dlee at digium.com>
Date:   Tue Jan 25 10:03:27 2011 -0600

    Don't prompt for SSH key password on Win using Putty.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index c028faf..b35b878 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -254,7 +254,8 @@ function dry_run()
 #
 
 # if we don't already have an ssh-agent running, fire one up
-if test ${SSH_AUTH_SOCK-no} = no; then
+# if GIT_SSH is set, presumably you're on Windows and using plink and pageant
+if test ${SSH_AUTH_SOCK-no} = no && test "${GIT_SSH-no}" = no; then
     eval `ssh-agent`
 
     echo "SSH_AGENT_PID = ${SSH_AGENT_PID}"

commit 04e92c95fb002f241ca8861c8c5cf89cfb9ae3bb
Author: David M. Lee <dlee at digium.com>
Date:   Mon Jan 24 11:12:17 2011 -0600

    Oops.  Forgot the backslash when I added that line break.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 5f72d66..c028faf 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -171,7 +171,7 @@ EOF
                 if ( cd ${repoDir} && git rev-parse --verify @{upstream} > /dev/null 2>&1 ); then
                     upstream=$(
                         cd ${repoDir} &&
-                        git for-each-ref --format="%(upstream:short)"
+                        git for-each-ref --format="%(upstream:short)" \
                             $(git rev-parse --symbolic-full-name HEAD))
                     echo ">> Pulling from ${upstream} (${repoDir})"
                     ( cd ${repoDir} && git pull )

commit bcd25b7f7f500e8db24e5a10e6add1e61660c842
Author: David M. Lee <dlee at digium.com>
Date:   Mon Jan 24 10:43:41 2011 -0600

    Corrected message when pulling existing repos.
    
    The message implied that it would always pull from origin, when in fact
    it pulls from whatever happens to be the upstream branch.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 32a07c7..5f72d66 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -169,7 +169,11 @@ EOF
                         git config --unset remote.origin.pushurl
                     fi )
                 if ( cd ${repoDir} && git rev-parse --verify @{upstream} > /dev/null 2>&1 ); then
-                    echo ">> Pulling from repo ${repoUri}"
+                    upstream=$(
+                        cd ${repoDir} &&
+                        git for-each-ref --format="%(upstream:short)"
+                            $(git rev-parse --symbolic-full-name HEAD))
+                    echo ">> Pulling from ${upstream} (${repoDir})"
                     ( cd ${repoDir} && git pull )
                 else
                     echo "-- Skipping ${repoDir}; no upstream branch"

commit 05eeb7d58f132f8ba2b956817695cfcc53001e89
Author: David M. Lee <dlee at digium.com>
Date:   Thu Jan 20 09:37:49 2011 -0600

    Properly specify the CMake project.

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7e1ab2d..4f64241 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,6 +3,10 @@
 # Minimum we require is 2.8, any lower and stuff would fail horribly
 cmake_minimum_required(VERSION 2.8)
 
+# Setup overall project.  While primarily C++, C is required to find some
+# packages (such as Threads).
+project("Asterisk SCF" C CXX)
+
 # Indicate that this is an integrated build
 set(integrated_build true)
 

commit 8a3feca8af021594357b0f4e542898a0cf0b4f2d
Author: David M. Lee <dlee at digium.com>
Date:   Wed Jan 19 12:18:09 2011 -0600

    We require cmake 2.8 or better.
    
    Now make it a specific "You're cmake is old" failure, as opposed to some
    random failure later on.

diff --git a/CMakeLists.txt b/CMakeLists.txt
index c74ca3c..7e1ab2d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,7 +1,7 @@
 # Asterisk SCF integrated build.
 
-# Minimum we require is 2.6, any lower and stuff would fail horribly
-cmake_minimum_required(VERSION 2.6)
+# Minimum we require is 2.8, any lower and stuff would fail horribly
+cmake_minimum_required(VERSION 2.8)
 
 # Indicate that this is an integrated build
 set(integrated_build true)

commit d4d11e196a1276c10e8e460dff3b7711a827ffc6
Merge: 0e011ca 918d31c
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Mon Jan 17 15:27:34 2011 -0600

    Merge branch 'master' into ice-package


commit 0e011ca1feb21b68d122d4f6a57a453df3cdabcb
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Mon Jan 17 15:27:04 2011 -0600

    Minor changes to support the new FindIce.cmake module

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 04e9644..c74ca3c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,13 +6,16 @@ cmake_minimum_required(VERSION 2.6)
 # Indicate that this is an integrated build
 set(integrated_build true)
 
+# Make our additional CMake modules available
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules")
+
 # Include pjproject build integration
 include(${CMAKE_SOURCE_DIR}/cmake/modules/pjproject.cmake)
 
 # Include common AsteriskSCF build infrastructure
 include(${CMAKE_SOURCE_DIR}/cmake/AsteriskSCF.cmake)
 
-# This project is C++ based and requires a minimum of Ice 3.4
+# This project requires Ice 3.4.x
 asterisk_scf_project("Asterisk SCF" 3.4)
 
 # asterisk_scf_slice_plugins("SliceVisitorPattern:create")

commit 918d31c35217f6b756ecf1ddbda664c7d3068a51
Author: David M. Lee <dlee at digium.com>
Date:   Mon Jan 17 15:19:18 2011 -0600

    Copy/paste fail.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 21ce8ce..32a07c7 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -205,7 +205,7 @@ function passthrough()
             ( cd ${repoDir} && git "$@" )
             if test $? -ne 0; then
                 echo >&2
-                echo "!! Failed to tag ${repoName}." >&2
+                echo "!! Failed to $1 ${repoName}." >&2
                 exit 1
             fi
         } 2>&1 | collapse

commit 701f6123bab513f886f09e23cf0490616b5325d9
Author: David M. Lee <dlee at digium.com>
Date:   Thu Jan 13 09:03:39 2011 -0600

    Remove the EXCLUDE_FROM_ALL marker for slice dir.
    
    This was preventing make install from installing slice artifacts.

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7610960..04e9644 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -26,8 +26,7 @@ pjproject_build(pjsip)
 pjproject_build(third_party)
 
 # Take care of slice definitions
-add_subdirectory(slice EXCLUDE_FROM_ALL)
-
+add_subdirectory(slice)
 add_subdirectory(logger)
 add_subdirectory(ice-util-cpp)
 add_subdirectory(servicediscovery)

commit 73ea5fdff1e1f165110b8ee6543acf3846e3b62c
Author: David M. Lee <dlee at digium.com>
Date:   Thu Jan 13 14:51:32 2011 -0600

    Fixed needless rebuilds of pjproject.
    
    We were touching the site_config.h file, whether it existed or not.
    This cause pjproject to rebuild every time you did a pull.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 4e758da..21ce8ce 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -182,8 +182,11 @@ EOF
     done
 
     # Make sure that config_site.h exists for Windows.
-    # harmless for all other platforms
-    touch ./pjproject/pjlib/include/pj/config_site.h
+    # harmless for all other platforms.  Only touch it if you have to
+    # to avoid triggering needless builds.
+    if ! test -e ./pjproject/pjlib/include/pj/config_site.h; then
+        touch ./pjproject/pjlib/include/pj/config_site.h
+    fi
 
 } # pull
 

commit a93e50a631683f1afd4cba39905582a9434bbd2c
Author: David M. Lee <dlee at digium.com>
Date:   Wed Jan 12 19:06:34 2011 -0600

    Adding log to the gitall script.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 2afb916..4e758da 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -72,7 +72,7 @@ cmd=pull
 
 while test $# -gt 0; do
     case $1 in
-        tag|status|branch|diff|submodule|fetch|remote|gc|fsck)
+        tag|status|branch|diff|submodule|fetch|remote|gc|fsck|log)
             cmd=passthrough
             break
             ;;

commit 19d75a5ff7ec131b766ab37bc3eaf79b5e810a51
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Fri Jan 7 15:48:08 2011 -0600

    It is no longer necessary to specify a language to asterisk_scf_project().

diff --git a/CMakeLists.txt b/CMakeLists.txt
index afe652b..7610960 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -13,7 +13,7 @@ include(${CMAKE_SOURCE_DIR}/cmake/modules/pjproject.cmake)
 include(${CMAKE_SOURCE_DIR}/cmake/AsteriskSCF.cmake)
 
 # This project is C++ based and requires a minimum of Ice 3.4
-asterisk_scf_project("Asterisk SCF" 3.4 CXX)
+asterisk_scf_project("Asterisk SCF" 3.4)
 
 # asterisk_scf_slice_plugins("SliceVisitorPattern:create")
 

commit 30551b9c89dd5effc973e8f64096cfd19e6925a4
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Fri Jan 7 09:26:58 2011 -0600

    Comment out something that is not ready for prime-time yet.

diff --git a/CMakeLists.txt b/CMakeLists.txt
index a224cfd..afe652b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -15,7 +15,7 @@ include(${CMAKE_SOURCE_DIR}/cmake/AsteriskSCF.cmake)
 # This project is C++ based and requires a minimum of Ice 3.4
 asterisk_scf_project("Asterisk SCF" 3.4 CXX)
 
-asterisk_scf_slice_plugins("SliceVisitorPattern:create")
+# asterisk_scf_slice_plugins("SliceVisitorPattern:create")
 
 # Add build targets for what we will need to link against
 pjproject_build(pjlib)

commit e7646a3cfca41b1c1b2a8cafdb68e822aa235085
Merge: 18f242e 5af5eec
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Fri Jan 7 09:13:53 2011 -0600

    Merge branch 'master' of git.asterisk.org:asterisk-scf/integration/gitall


commit 18f242e56c8cd40f802f52952bdc62c88f464851
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Fri Jan 7 09:13:42 2011 -0600

    Fix some typos and repository URL.

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9b2d5a8..a224cfd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -12,9 +12,11 @@ include(${CMAKE_SOURCE_DIR}/cmake/modules/pjproject.cmake)
 # Include common AsteriskSCF build infrastructure
 include(${CMAKE_SOURCE_DIR}/cmake/AsteriskSCF.cmake)
 
-# This project is C++ based and requires a minimum of 3.4
+# This project is C++ based and requires a minimum of Ice 3.4
 asterisk_scf_project("Asterisk SCF" 3.4 CXX)
 
+asterisk_scf_slice_plugins("SliceVisitorPattern:create")
+
 # Add build targets for what we will need to link against
 pjproject_build(pjlib)
 pjproject_build(pjlib-util)
diff --git a/README.txt b/README.txt
index 9327e07..daf11a2 100644
--- a/README.txt
+++ b/README.txt
@@ -3,22 +3,20 @@
 README.txt - Asterisk SCF gitall repo
 -------------------------------------
 
-Prequisites
------------
- a.) You have SSH certificate installed so that ssh-agent can be
-     used. 
- b.) You have Git installed and on the path.  Note that Git on Windows
+Prerequisites
+-------------
+ a.) You have Git installed and on the path.  Note that Git on Windows
      comes with a Bash interpreter for running provided scripts.
- c.) You have Boost libs installed.
- d.) You have lua installed.
- e.) You have Cmake installed.
- f.) Ice version 3.4 installed.  Note that we have patches that have
+ b.) You have Boost libs installed.
+ c.) You have lua installed.
+ d.) You have Cmake installed.
+ e.) Ice version 3.4 installed.  Note that we have patches that have
      not yet been accepted upstream.  Clone
-     git at git.asterisk.org:asterisk-scf/release/ice and build from
+     git://git.asterisk.org:asterisk-scf/release/ice and build from
      source. If you choose to install Ice in a non-default location,
      you'll have to set ICE_HOME to tell the build system where it is.
 
-To set up for an intergrated build:  
+To set up for an integrated build:  
 ------------------------------------
 
  Note: '$' prompt is for Linux users, '>' prompt for Windows users. 

commit 5af5eec4061e636a01fd714f48f9ad601bd76922
Author: David M. Lee <dlee at digium.com>
Date:   Fri Jan 7 08:40:13 2011 -0600

    Complain, complain.
    
    Windows worked, but still complains about the absence of mktemp.  Gave
    up and just statically named the temp file for everyone.

diff --git a/.gitignore b/.gitignore
index b84cdff..1180c0f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,4 +10,4 @@ sip
 slice
 test_channel
 ice-util-cpp
-.gitall.*
+.gitall.TMP
diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index de52a79..2afb916 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -26,14 +26,9 @@ EOF
 }
 
 # a temp file for holding the output of git commands for later comparison
-last_text_file=$(mktemp .gitall.XXXXXX)
-if test $? -ne 0; then
-    # if it fails to create the temporary (I'm looking at you, Windows), then
-    # use the name .gitall.TMP.  That _should_ be safe.
-    last_text_file=.gitall.TMP
-    rm -f .gitall.TMP
-    touch .gitall.TMP
-fi
+last_text_file=.gitall.TMP
+rm -f ${last_text_file}
+touch ${last_text_file}
 
 # on exit, cat the last output and delete the temp file
 trap "cat ${last_text_file}; rm -f ${last_text_file}" EXIT

commit f98e9b454b55a131bd4dd5f7d95750f8ed80fd7d
Author: David M. Lee <dlee at digium.com>
Date:   Thu Jan 6 13:38:39 2011 -0600

    Fix script for Windows.
    
    Windows doesn't have mktemp, so use .gitall.TMP instead.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index b17ff58..de52a79 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -28,8 +28,11 @@ EOF
 # a temp file for holding the output of git commands for later comparison
 last_text_file=$(mktemp .gitall.XXXXXX)
 if test $? -ne 0; then
-    echo "Failed to create temp file" >&2
-    exit 1
+    # if it fails to create the temporary (I'm looking at you, Windows), then
+    # use the name .gitall.TMP.  That _should_ be safe.
+    last_text_file=.gitall.TMP
+    rm -f .gitall.TMP
+    touch .gitall.TMP
 fi
 
 # on exit, cat the last output and delete the temp file

commit 4cee58dec6008ea8d3ba7018cc617413561da0ba
Author: David M. Lee <dlee at digium.com>
Date:   Sat Jan 1 03:27:52 2011 -0600

    Reduced duplication in git output.
    
    Many of the git commands actually produce the same output across all of
    our repos.  To reduce verbosity in the output, I added a function which
    omits printing duplicate messages.

diff --git a/.gitignore b/.gitignore
index 972ef15..b84cdff 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,3 +10,4 @@ sip
 slice
 test_channel
 ice-util-cpp
+.gitall.*
diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 636a2ab..b17ff58 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -25,6 +25,31 @@ If no command is given, pull is run by default.
 EOF
 }
 
+# a temp file for holding the output of git commands for later comparison
+last_text_file=$(mktemp .gitall.XXXXXX)
+if test $? -ne 0; then
+    echo "Failed to create temp file" >&2
+    exit 1
+fi
+
+# on exit, cat the last output and delete the temp file
+trap "cat ${last_text_file}; rm -f ${last_text_file}" EXIT
+
+# collapse multiple identical inputs into a single input
+function collapse()
+{
+    # first line is a header; always print
+    head="$(head -n 1)"
+    # rest is the text.  add a line for spacing.
+    new_text="$(cat && echo ' ')"
+
+    if test "${new_text}" != "$(cat ${last_text_file})"; then
+        cat ${last_text_file}
+        echo "${new_text}" > ${last_text_file}
+    fi
+    echo "${head}"
+}
+
 gitdepot=`git config --get remote.origin.url | sed "s at asterisk-scf/integration/gitall@@"`
 gitdepot_push=`git config --get remote.origin.pushurl | sed "s at asterisk-scf/integration/gitall@@"`
 
@@ -89,9 +114,10 @@ function pull()
     fi
 
     # check to see if gitall needs a pull
-    echo ">> Fetching gitall"
-    git fetch
-    echo
+    {
+        echo ">> Fetching gitall"
+        git fetch
+    } 2>&1 | collapse
 
     # if there is an upstream branch, and it has changes we don't
     if git rev-parse --verify @{upstream} > /dev/null 2>&1 &&
@@ -131,29 +157,30 @@ EOF
     fi
 
     for repo in "${repos[@]}"; do
-        repoDir=$(basename ${repo})
-        repoUri=${gitdepot}${tree}/${repo}
-        repoPushUri=${gitdepot_push}${tree}/${repo}
-
-        if [ -d ${repoDir}/.git ]; then
-            # update the origin to what is specified in repoUri
-            ( cd ${repoDir} && git config remote.origin.url ${repoUri} )
-            ( cd ${repoDir} && if test ${gitdepot_push}; then
-                    git config remote.origin.pushurl ${repoPushUri};
+        {
+            repoDir=$(basename ${repo})
+            repoUri=${gitdepot}${tree}/${repo}
+            repoPushUri=${gitdepot_push}${tree}/${repo}
+
+            if [ -d ${repoDir}/.git ]; then
+                # update the origin to what is specified in repoUri
+                ( cd ${repoDir} && git config remote.origin.url ${repoUri} )
+                ( cd ${repoDir} && if test ${gitdepot_push}; then
+                        git config remote.origin.pushurl ${repoPushUri};
+                    else
+                        git config --unset remote.origin.pushurl
+                    fi )
+                if ( cd ${repoDir} && git rev-parse --verify @{upstream} > /dev/null 2>&1 ); then
+                    echo ">> Pulling from repo ${repoUri}"
+                    ( cd ${repoDir} && git pull )
                 else
-                    git config --unset remote.origin.pushurl
-                fi )
-            if ( cd ${repoDir} && git rev-parse --verify @{upstream} > /dev/null 2>&1 ); then
-                echo ">> Pulling from repo ${repoUri}"
-                ( cd ${repoDir} && git pull )
+                    echo "-- Skipping ${repoDir}; no upstream branch"
+                fi
             else
-                echo "-- Skipping ${repoDir}; no upstream branch"
+                echo ">> Cloning from ${repoUri} to ${repoDir}"
+                git clone ${repoUri} ${repoDir}
             fi
-        else
-            echo ">> Cloning from ${repoUri} to ${repoDir}"
-            git clone ${repoUri} ${repoDir}
-        fi
-        echo " "
+        } 2>&1 | collapse
     done
 
     # Make sure that config_site.h exists for Windows.
@@ -165,21 +192,22 @@ EOF
 function passthrough()
 {
     for repo in . "${repos[@]}"; do
-        repoDir=$(basename ${repo})
-        repoName=$(basename "$(cd ${repoDir} && pwd)")
-        if ! test -d ${repoDir}/.git; then
-            echo >&2
-            echo "!! Repo ${repoName} not yet cloned" >&2
-            exit 1
-        fi
-        echo ">> git" "$@" "(${repoName})"
-        ( cd ${repoDir} && git "$@" )
-        if test $? -ne 0; then
-            echo >&2
-            echo "!! Failed to tag ${repoName}." >&2
-            exit 1
-        fi
-        echo
+        {
+            repoDir=$(basename ${repo})
+            repoName=$(basename "$(cd ${repoDir} && pwd)")
+            if ! test -d ${repoDir}/.git; then
+                echo >&2
+                echo "!! Repo ${repoName} not yet cloned" >&2
+                exit 1
+            fi
+            echo ">> git" "$@" "(${repoName})"
+            ( cd ${repoDir} && git "$@" )
+            if test $? -ne 0; then
+                echo >&2
+                echo "!! Failed to tag ${repoName}." >&2
+                exit 1
+            fi
+        } 2>&1 | collapse
     done
 } # passthrough
 
@@ -203,15 +231,16 @@ function dry_run()
     echo
 
     for repo in . "${repos[@]}"; do
-        repoDir=$(basename ${repo})
-        repoName=$(basename "$(cd ${repoDir} && pwd)")
-        echo ">> git" "$@" "(${repoName})"
-        ( cd ${repoDir} && git "$@" )
-        if test $? -ne 0; then
-            echo "!! Failed to push ${repoName}." >&2
-            exit 1
-        fi
-        echo
+        {
+            repoDir=$(basename ${repo})
+            repoName=$(basename "$(cd ${repoDir} && pwd)")
+            echo ">> git" "$@" "(${repoName})"
+            ( cd ${repoDir} && git "$@" )
+            if test $? -ne 0; then
+                echo "!! Failed to push ${repoName}." >&2
+                exit 1
+            fi
+        } 2>&1 | collapse
     done
 } # dry_run
 

commit 6c650d5923be12ff336a8e3eb61f2583e48d6445
Author: David M. Lee <dlee at digium.com>
Date:   Sat Jan 1 03:35:29 2011 -0600

    Simplified pj/config_site.h creation.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 90a8784..636a2ab 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -156,23 +156,12 @@ EOF
         echo " "
     done
 
-    touchpjsiteconfig
+    # Make sure that config_site.h exists for Windows.
+    # harmless for all other platforms
+    touch ./pjproject/pjlib/include/pj/config_site.h
 
 } # pull
 
-
-# Insure pjproject config_site.h file exists. 
-function touchpjsiteconfig()
-{
-   case $(uname -s) in
-      MINGW32*) # fMake sure that config_site.h exists for Windows.
-        echo "Touching pjproject's config_site.h"
-   	touch ./pjproject/pjlib/include/pj/config_site.h 
-   	;;
-   esac
-
-} # touchpjsiteconfig
-
 function passthrough()
 {
     for repo in . "${repos[@]}"; do

commit 350c834b24c0eda83bd43013c6a347e288b3cbb5
Author: Ken Hunt <ken.hunt at digium.com>
Date:   Wed Dec 8 14:53:57 2010 -0600

    Added logic to insure config_site.h exists for pjproject on Windows.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 4027fed..90a8784 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -155,8 +155,24 @@ EOF
         fi
         echo " "
     done
+
+    touchpjsiteconfig
+
 } # pull
 
+
+# Insure pjproject config_site.h file exists. 
+function touchpjsiteconfig()
+{
+   case $(uname -s) in
+      MINGW32*) # fMake sure that config_site.h exists for Windows.
+        echo "Touching pjproject's config_site.h"
+   	touch ./pjproject/pjlib/include/pj/config_site.h 
+   	;;
+   esac
+
+} # touchpjsiteconfig
+
 function passthrough()
 {
     for repo in . "${repos[@]}"; do

commit 41843f8f7d20f496a73b6ed56374c2bdab241fa1
Author: David M. Lee <dlee at digium.com>
Date:   Wed Dec 8 14:25:46 2010 -0600

    Adding gc and fsck to the list of passthrough commands.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 1afc0d4..4027fed 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -49,7 +49,7 @@ cmd=pull
 
 while test $# -gt 0; do
     case $1 in
-        tag|status|branch|diff|submodule|fetch|remote)
+        tag|status|branch|diff|submodule|fetch|remote|gc|fsck)
             cmd=passthrough
             break
             ;;

commit e546442d9e75937825ef8da052ffa333b25db81c
Author: David M. Lee <dlee at digium.com>
Date:   Tue Dec 7 16:38:35 2010 -0600

    Handle paths with spaces in the name.
    
    Curse you, Windows!

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index e32aa96..1afc0d4 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-exe=$(basename $0)
+exe="$(basename $0)"
 
 function usage()
 {
@@ -161,7 +161,7 @@ function passthrough()
 {
     for repo in . "${repos[@]}"; do
         repoDir=$(basename ${repo})
-        repoName=$(basename $(cd ${repoDir} && pwd))
+        repoName=$(basename "$(cd ${repoDir} && pwd)")
         if ! test -d ${repoDir}/.git; then
             echo >&2
             echo "!! Repo ${repoName} not yet cloned" >&2
@@ -183,7 +183,7 @@ function dry_run()
     echo ">> git" "$@" "(dry-run)"
     for repo in . "${repos[@]}"; do
         repoDir=$(basename ${repo})
-        repoName=$(basename $(cd ${repoDir} && pwd))
+        repoName=$(basename "$(cd ${repoDir} && pwd)")
         if ! test -d ${repoDir}/.git; then
             echo "!! Repo ${repoName} not yet cloned" >&2
             exit 1
@@ -199,7 +199,7 @@ function dry_run()
 
     for repo in . "${repos[@]}"; do
         repoDir=$(basename ${repo})
-        repoName=$(basename $(cd ${repoDir} && pwd))
+        repoName=$(basename "$(cd ${repoDir} && pwd)")
         echo ">> git" "$@" "(${repoName})"
         ( cd ${repoDir} && git "$@" )
         if test $? -ne 0; then

commit c306bf36be7766103c03dbc81c91b1f7259fa26e
Author: David M. Lee <dlee at digium.com>
Date:   Mon Dec 6 13:51:11 2010 -0600

    Adding fetch and remote to gitall script.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 90061c0..e32aa96 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -49,7 +49,7 @@ cmd=pull
 
 while test $# -gt 0; do
     case $1 in
-        tag|status|branch|diff|submodule)
+        tag|status|branch|diff|submodule|fetch|remote)
             cmd=passthrough
             break
             ;;

commit f6a2f35057d99171e48c724f34ca009aa0e8bcfc
Author: David M. Lee <dlee at digium.com>
Date:   Fri Dec 3 10:32:18 2010 -0600

    ice-util-cpp now depends on the logger.

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0e5950c..9b2d5a8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -26,8 +26,8 @@ pjproject_build(third_party)
 # Take care of slice definitions
 add_subdirectory(slice EXCLUDE_FROM_ALL)
 
-add_subdirectory(ice-util-cpp)
 add_subdirectory(logger)
+add_subdirectory(ice-util-cpp)
 add_subdirectory(servicediscovery)
 add_subdirectory(test_channel)
 add_subdirectory(bridging)

commit d127680e3b6025916ca684d39797a810a20a3c1a
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Mon Nov 29 15:48:33 2010 -0600

    Remove pjproject download/unpack instructions as they are no longer needed.

diff --git a/README.txt b/README.txt
index 6c445e5..9327e07 100644
--- a/README.txt
+++ b/README.txt
@@ -28,11 +28,7 @@ To set up for an intergrated build:
     $ ./gitall-asterisk-scf.sh
     > bash gitall-asterisk-scf.sh
 
- 2.) Copy pjproject<version> to this directory, and rename/symlink it
-     to pjproject. (For example, pjproject-1.7 becomes pjproject).
-     Download from http://www.pjsip.org/download.htm.
- 
- 3.) Run an out-of-source-tree cmake build.  There is a helper script
+ 2.) Run an out-of-source-tree cmake build.  There is a helper script
      for doing this, which creates a ./build directory.
 
     $ ./cmake/init-cmake.sh [optional cmake args]

commit a23246d74d5a59343b68be07782ed73a0809afab
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Thu Nov 18 11:55:56 2010 -0600

    Use pjproject from our own repository instead of a manually unpacked copy.
    
    To simplify the build process and keep things consistent, there is now a
    'pjproject' repository that contains the most recent version of pjproject
    known to work with the Asterisk SCF components. This commit enhances the
    gitall-asterisk-scf script to include that repository along with all the rest,
    and to also check for an existing pjproject that is *not* a repository
    clone; if one is found, a warning message is displayed and the script exits
    so the user can remove the existing directory.

diff --git a/.gitignore b/.gitignore
index 5cfd6ab..972ef15 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,7 +3,7 @@ build
 cmake
 logger
 media_rtp_pjmedia
-pjproject*
+pjproject
 routing
 servicediscovery
 sip
diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 6e3b755..90061c0 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -42,6 +42,7 @@ repos[i++]=release/logger
 repos[i++]=release/ice-util-cpp
 repos[i++]=release/test_channel
 repos[i++]=release/cmake
+repos[i++]=release/pjproject
 
 # by default, pull
 cmd=pull
@@ -113,6 +114,22 @@ EOF
         fi
     fi
 
+    if [ -d pjproject ] && [ ! -d pjproject/.git ]; then
+        echo " "
+        echo "---------"
+        echo "Previous versions of this build tree required you to download and"
+        echo "unpack pjproject into a subdirectory so it could be built along"
+	echo "with the other components. This version will pull pjproject from"
+	echo "a git repository along with the other components, so manual"
+	echo "download and unpacking is no longer needed."
+	echo " "
+	echo "Since your build tree has an existing pjproject directory, you'll"
+	echo "need to remove it and re-run this script."
+        echo "---------"
+        echo " "
+	exit 1
+    fi
+
     for repo in "${repos[@]}"; do
         repoDir=$(basename ${repo})
         repoUri=${gitdepot}${tree}/${repo}
@@ -138,15 +155,6 @@ EOF
         fi
         echo " "
     done
-
-    if [ ! -d pjproject ]; then
-        echo " "
-        echo "--------- "
-        echo "REMINDER: You must manually install pjproject in this directory."
-        echo "  http://www.pjsip.org/download.htm"
-        echo "--------- "
-        echo " "
-    fi
 } # pull
 
 function passthrough()

commit 9a3f7d97a9f1f32c72bf342bdf62ec1b228e20d5
Author: David M. Lee <dlee at digium.com>
Date:   Wed Nov 17 09:40:08 2010 -0600

    Stray paren in that last commit.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index d4a92c1..6e3b755 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -125,7 +125,7 @@ EOF
                     git config remote.origin.pushurl ${repoPushUri};
                 else
                     git config --unset remote.origin.pushurl
-                fi ) )
+                fi )
             if ( cd ${repoDir} && git rev-parse --verify @{upstream} > /dev/null 2>&1 ); then
                 echo ">> Pulling from repo ${repoUri}"
                 ( cd ${repoDir} && git pull )

commit 977c443dfb2f3e146a7e7c4055919615bfd5f710
Author: David M. Lee <dlee at digium.com>
Date:   Tue Nov 16 14:34:36 2010 -0600

    Allow seperate push and pull URL's.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 962a339..d4a92c1 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -26,6 +26,7 @@ EOF
 }
 
 gitdepot=`git config --get remote.origin.url | sed "s at asterisk-scf/integration/gitall@@"`
+gitdepot_push=`git config --get remote.origin.pushurl | sed "s at asterisk-scf/integration/gitall@@"`
 
 # tree should probably be set by menu prompts or command line args
 # one day
@@ -115,10 +116,16 @@ EOF
     for repo in "${repos[@]}"; do
         repoDir=$(basename ${repo})
         repoUri=${gitdepot}${tree}/${repo}
+        repoPushUri=${gitdepot_push}${tree}/${repo}
 
         if [ -d ${repoDir}/.git ]; then
             # update the origin to what is specified in repoUri
             ( cd ${repoDir} && git config remote.origin.url ${repoUri} )
+            ( cd ${repoDir} && if test ${gitdepot_push}; then
+                    git config remote.origin.pushurl ${repoPushUri};
+                else
+                    git config --unset remote.origin.pushurl
+                fi ) )
             if ( cd ${repoDir} && git rev-parse --verify @{upstream} > /dev/null 2>&1 ); then
                 echo ">> Pulling from repo ${repoUri}"
                 ( cd ${repoDir} && git pull )

commit 200dacd7d85e447449fe7bcb0c7b681d176a96c4
Author: David M. Lee <dlee at digium.com>
Date:   Mon Nov 15 16:16:05 2010 -0600

    Now updating the cmake scripts for ice-util-c++ -> ice-util-cpp.

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1c66237..0e5950c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -26,7 +26,7 @@ pjproject_build(third_party)
 # Take care of slice definitions
 add_subdirectory(slice EXCLUDE_FROM_ALL)
 
-add_subdirectory(ice-util-c++)
+add_subdirectory(ice-util-cpp)
 add_subdirectory(logger)
 add_subdirectory(servicediscovery)
 add_subdirectory(test_channel)

commit 766ce133e7bd4e905a8409432a0f8c125cecfab0
Author: David M. Lee <dlee at digium.com>
Date:   Mon Nov 15 16:13:46 2010 -0600

    Updating .gitignore for ice-util-c++ -> ice-util-cpp

diff --git a/.gitignore b/.gitignore
index 4290ab0..5cfd6ab 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,4 +9,4 @@ servicediscovery
 sip
 slice
 test_channel
-ice-util-c++
+ice-util-cpp

commit ca9f4cd040ba831d232338edd943446e5c1c47bd
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Mon Nov 15 16:12:59 2010 -0600

    Repository name changed from ice-util-c++ to ice-util-cpp to accommodate shells that don't like ++ in path names

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 871977e..962a339 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -38,7 +38,7 @@ repos[i++]=release/sip
 repos[i++]=release/media_rtp_pjmedia
 repos[i++]=release/slice
 repos[i++]=release/logger
-repos[i++]=release/ice-util-c++
+repos[i++]=release/ice-util-cpp
 repos[i++]=release/test_channel
 repos[i++]=release/cmake
 

commit 631fafdabe83e3f0cac6eeb3557619ed8900ab31
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Mon Nov 15 16:08:32 2010 -0600

    Update to new repository locations.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 5373866..871977e 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -31,15 +31,15 @@ gitdepot=`git config --get remote.origin.url | sed "s at asterisk-scf/integration/g
 # one day
 tree=asterisk-scf
 
-repos[i++]=integration/bridging
-repos[i++]=integration/routing
-repos[i++]=integration/servicediscovery
-repos[i++]=integration/sip
-repos[i++]=integration/media_rtp_pjmedia
-repos[i++]=integration/slice
-repos[i++]=integration/logger
-repos[i++]=integration/ice-util-c++
-repos[i++]=integration/test_channel
+repos[i++]=release/bridging
+repos[i++]=release/routing
+repos[i++]=release/servicediscovery
+repos[i++]=release/sip
+repos[i++]=release/media_rtp_pjmedia
+repos[i++]=release/slice
+repos[i++]=release/logger
+repos[i++]=release/ice-util-c++
+repos[i++]=release/test_channel
 repos[i++]=release/cmake
 
 # by default, pull

commit 85ae21beb8b40755f0e1a02324e5275accbc8b24
Author: David M. Lee <dlee at unknown.(none)>
Date:   Wed Nov 10 05:53:39 2010 -0600

    Another fix for older versions of git.
    
    In older versions of git, git remote does not have the set-url subcommand.
    Instead, use git config to update origin's URL.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index c5a2b8b..5373866 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -118,7 +118,7 @@ EOF
 
         if [ -d ${repoDir}/.git ]; then
             # update the origin to what is specified in repoUri
-            ( cd ${repoDir} && git remote set-url origin ${repoUri} )
+            ( cd ${repoDir} && git config remote.origin.url ${repoUri} )
             if ( cd ${repoDir} && git rev-parse --verify @{upstream} > /dev/null 2>&1 ); then
                 echo ">> Pulling from repo ${repoUri}"
                 ( cd ${repoDir} && git pull )

commit 4f47bef7d48c7891b53d3cae2e466afee9d68603
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Tue Nov 9 16:36:42 2010 -0600

    Use a simpler and more reliable method of getting the URL to the 'origin' remote.
    
    Don't use '--all' for 'git fetch'; it's not needed, and older versions of git don't support it.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 9d54a5d..c5a2b8b 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -25,7 +25,7 @@ If no command is given, pull is run by default.
 EOF
 }
 
-gitdepot=`git remote show -n origin | grep "Fetch URL" | sed "s@^.*URL: @@" | sed "s at asterisk-scf/integration/gitall@@"`
+gitdepot=`git config --get remote.origin.url | sed "s at asterisk-scf/integration/gitall@@"`
 
 # tree should probably be set by menu prompts or command line args
 # one day
@@ -88,7 +88,7 @@ function pull()
 
     # check to see if gitall needs a pull
     echo ">> Fetching gitall"
-    git fetch --all
+    git fetch
     echo
 
     # if there is an upstream branch, and it has changes we don't

commit 89b3a5c6448a17713f89791286422a5aaab3ce41
Author: David M. Lee <dlee at digium.com>
Date:   Fri Nov 5 12:26:52 2010 -0500

    On pulls, update the repos' origin.  This will make moving repos to release much easier.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 2d3832b..9d54a5d 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -117,6 +117,8 @@ EOF
         repoUri=${gitdepot}${tree}/${repo}
 
         if [ -d ${repoDir}/.git ]; then
+            # update the origin to what is specified in repoUri
+            ( cd ${repoDir} && git remote set-url origin ${repoUri} )
             if ( cd ${repoDir} && git rev-parse --verify @{upstream} > /dev/null 2>&1 ); then
                 echo ">> Pulling from repo ${repoUri}"
                 ( cd ${repoDir} && git pull )

commit c52dc8b4282d499e5013a448c05b72b144585abb
Author: Darren Sessions <dms at 80-67-24-10.digium.internal>
Date:   Wed Nov 3 10:55:19 2010 -0500

    Fixes an issue where the '-e' option used with grep was not working with Solaris.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 31cae5e..2d3832b 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -25,7 +25,7 @@ If no command is given, pull is run by default.
 EOF
 }
 
-gitdepot=`git remote show -n origin | grep -e "Fetch URL" | sed "s@^.*URL: @@" | sed "s at asterisk-scf/integration/gitall@@"`
+gitdepot=`git remote show -n origin | grep "Fetch URL" | sed "s@^.*URL: @@" | sed "s at asterisk-scf/integration/gitall@@"`
 
 # tree should probably be set by menu prompts or command line args
 # one day

commit b6afb8ac6a8623f1ebb18eb7f38282b43b4eb3ba
Author: David M. Lee <dlee at digium.com>
Date:   Tue Nov 2 14:25:02 2010 -0500

    Removed statereplicator.  Code has been moved to ice-util-c++

diff --git a/.gitignore b/.gitignore
index fe374df..4290ab0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,7 +6,6 @@ media_rtp_pjmedia
 pjproject*
 routing
 servicediscovery
-statereplicator
 sip
 slice
 test_channel
diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 2bf2980..31cae5e 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -37,7 +37,6 @@ repos[i++]=integration/servicediscovery
 repos[i++]=integration/sip
 repos[i++]=integration/media_rtp_pjmedia
 repos[i++]=integration/slice
-repos[i++]=integration/statereplicator
 repos[i++]=integration/logger
 repos[i++]=integration/ice-util-c++
 repos[i++]=integration/test_channel

commit f8d2d03c26e2c7fb2229190eac566bfc02c5ce32
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Wed Oct 27 22:15:28 2010 -0400

    Don't assume a colon separator in the gitdepot URL.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 0a67076..2bf2980 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -115,7 +115,7 @@ EOF
 
     for repo in "${repos[@]}"; do
         repoDir=$(basename ${repo})
-        repoUri=${gitdepot}:${tree}/${repo}
+        repoUri=${gitdepot}${tree}/${repo}
 
         if [ -d ${repoDir}/.git ]; then
             if ( cd ${repoDir} && git rev-parse --verify @{upstream} > /dev/null 2>&1 ); then

commit a1b16ed79e3a7e75e6793102e21538b64f8fe9c5
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Wed Oct 27 22:14:34 2010 -0400

    One more URL parsing fix.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 5cf5d69..0a67076 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -25,7 +25,7 @@ If no command is given, pull is run by default.
 EOF
 }
 
-gitdepot=`git remote show -n origin | grep -e "Fetch URL" | sed "s@^.*URL: @@" | sed "s at asterisk-scf/integration/gitall@@" | sed "s at .\\$@@"`
+gitdepot=`git remote show -n origin | grep -e "Fetch URL" | sed "s@^.*URL: @@" | sed "s at asterisk-scf/integration/gitall@@"`
 
 # tree should probably be set by menu prompts or command line args
 # one day

commit 9c83b27e2074faf43a54add9dd28a6cc1c04289d
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Wed Oct 27 22:12:46 2010 -0400

    Fix bug in determining URL for repositories cloned via git-daemon.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 80c15d7..5cf5d69 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -25,7 +25,7 @@ If no command is given, pull is run by default.
 EOF
 }
 
-gitdepot=`git remote show -n origin | grep -e "Fetch URL" | sed "s@^.*URL: @@" | sed "s@:asterisk-scf/integration/gitall@@"`
+gitdepot=`git remote show -n origin | grep -e "Fetch URL" | sed "s@^.*URL: @@" | sed "s at asterisk-scf/integration/gitall@@" | sed "s at .\\$@@"`
 
 # tree should probably be set by menu prompts or command line args
 # one day

commit 2230db8a33a3e3520145db7341f2fdd12d436d68
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Wed Oct 27 22:08:34 2010 -0400

    Teach the gitall script how to determine the URL the repository was cloned from,
    rather than assuming a specific URL.

diff --git a/gitall-asterisk-scf.sh b/gitall-asterisk-scf.sh
index 939e52e..80c15d7 100755
--- a/gitall-asterisk-scf.sh
+++ b/gitall-asterisk-scf.sh
@@ -25,7 +25,7 @@ If no command is given, pull is run by default.
 EOF
 }
 
-gitdepot=git at git.asterisk.org
+gitdepot=`git remote show -n origin | grep -e "Fetch URL" | sed "s@^.*URL: @@" | sed "s@:asterisk-scf/integration/gitall@@"`
... 2094 lines suppressed ...


-- 
asterisk-scf/integration/sip.git



More information about the asterisk-scf-commits mailing list