[PATCH v2 11/23] contrib/subtree: Add command list
From: Matt Hoffman <matt.hoffman@quantumretail.com>
Lists subtrees from the .gittrees file.
Signed-off-by: Paul Campbell <pcampbell@kemitix.net>
Conflicts:
git-subtree.sh
---
contrib/subtree/git-subtree.sh | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/contrib/subtree/git-subtree.sh b/contrib/subtree/git-subtree.sh
index 4c3f3c0..7d08064 100755
--- a/contrib/subtree/git-subtree.sh
+++ b/contrib/subtree/git-subtree.sh
@@ -107,10 +107,10 @@ shift
case "$command" in
add|merge|pull|from-submodule|pull-all|push-all) default= ;;
*) die "Unknown command '$command'" ;;
- split|push|diff) default="--default HEAD" ;;
+ split|push|diff|list) default="--default HEAD" ;;
esac
-if [ -z "$prefix" -a "$command" != "pull-all" -a "$command" != "push-all" ]; then
+if [ -z "$prefix" -a "$command" != "pull-all" -a "$command" != "push-all" -a "$command" != "list" ]; then
die "You must provide the --prefix option."
fi
@@ -824,6 +824,21 @@ cmd_from-submodule()
rm -rf $tmp_repo
}
+subtree_list()
+{
+ git config -f .gittrees -l | grep subtree | grep path | grep -o '=.*' | grep -o '[^=].*' |
+ while read path; do
+ repository=$(git config -f .gittrees subtree.$path.url)
+ refspec=$(git config -f .gittrees subtree.$path.branch)
+ echo " $path (merged from $repository branch $refspec) "
+ done
+}
+
+cmd_list()
+{
+ subtree_list
+}
+
cmd_pull-all()
{
git config -f .gittrees -l | grep subtree | grep path | grep -o '=.*' | grep -o '[^=].*' |
--
1.8.2.rc1