[PATCH 10/19] 'prune' command to clear out stale .gittrees info
From: Paul Campbell <hidden>
Date: 2016-06-15 22:56:20
Subsystem:
the rest · Maintainer:
Linus Torvalds
From 1aaa55ff64b3b4d9325568b3bb863748f20c80f3 Mon Sep 17 00:00:00 2001
From: Paul Campbell <redacted> Date: Sat, 9 Mar 2013 18:33:33 +0000 Subject: [PATCH 10/19] 'prune' command to clear out stale .gittrees info Conflicts: git-subtree.sh Original-Author: Nate Jones [off-list ref] Conflicts-resolved-by: Paul Campbell [off-list ref] --- contrib/subtree/git-subtree.sh | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/contrib/subtree/git-subtree.sh b/contrib/subtree/git-subtree.sh
index 7d08064..0c41383 100755
--- a/contrib/subtree/git-subtree.sh
+++ b/contrib/subtree/git-subtree.sh@@ -105,12 +105,12 @@ done command="$1" shift case "$command" in - add|merge|pull|from-submodule|pull-all|push-all) default= ;; + add|merge|pull|from-submodule|pull-all|push-all|prune) default= ;; *) die "Unknown command '$command'" ;; split|push|diff|list) default="--default HEAD" ;; esac -if [ -z "$prefix" -a "$command" != "pull-all" -a "$command" !=
"push-all" -a "$command" != "list" ]; then +if [ -z "$prefix" -a "$command" != "pull-all" -a "$command" != "push-all" -a "$command" != "list" -a "$command" != "prune" ]; then die "You must provide the --prefix option." fi
@@ -839,6 +839,17 @@ cmd_list() subtree_list } +cmd_prune() +{ + git config -f .gittrees -l | grep subtree | grep path | grep -o
'=.*' | grep -o '[^=].*' |
+ while read path; do
+ if [ ! -e "$path" ]; then
+ echo "pruning $path"
+ git config -f .gittrees --remove-section subtree.$path
+ fi
+ done
+}
+
cmd_pull-all()
{
git config -f .gittrees -l | grep subtree | grep path | grep -o
'=.*' | grep -o '[^=].*' |
--
1.8.2.rc1
--
Paul [W] Campbell