summaryrefslogtreecommitdiffstats
path: root/git-follow/git-follow.in
diff options
context:
space:
mode:
Diffstat (limited to 'git-follow/git-follow.in')
-rw-r--r--git-follow/git-follow.in118
1 files changed, 0 insertions, 118 deletions
diff --git a/git-follow/git-follow.in b/git-follow/git-follow.in
deleted file mode 100644
index d2422ab..0000000
--- a/git-follow/git-follow.in
+++ /dev/null
@@ -1,118 +0,0 @@
-#!/bin/sh
-#
-
-unset CDPATH
-SED="${SED-sed}"
-
-self=`basename "$0"`
-selfdir=`dirname "$0"`
-selfdir=`cd "$selfdir" && pwd`
-. "$selfdir/git-ndim-sh"
-
-SUBDIRECTORY_OK="yes"
-USAGE="<command> [params...]"
-
-LONG_USAGE="\
-Let a local subtree of branches follow a remote origin without too much merging.
-For more details, see the ${self}(1) man page."
-. git-sh-setup
-
-require_work_tree
-
-# Abort on error
-set -e
-
-
-cmd() {
- echo "CMD>" "$@"
- gitk --all
- "$@"
-}
-
-
-gf_init() {
- echo "$self: Examining configuration"
- git config follow.tree | while read from to restofline; do
- if test "x#" = "x$(echo "$from" | sed -n '1s/^\(.\).*/\1/p')"; then continue; fi
- echo ""
- echo " From: $from"
- echo " To: $to"
- done
-}
-
-gf_branch() {
- branch="$1"
- newbranch="follow-old/$branch"
- if git-rev-parse --verify "$branch" > /dev/null 2>&1; then
- # valid branch
- if git-rev-parse --verify "$newbranch" > /dev/null 2>&1; then
- : # branch already exists, do nothing
- else
- cmd git-branch "${newbranch}" "${branch}"
- fi
- else
- echo "$self: gf_branch called with invalid branch \"$branch\"" >&2
- exit 1
- fi
-}
-
-
-gf_rmbranch() {
- branch="$1"
- newbranch="follow-old/$branch"
- if git-rev-parse --verify "$branch" > /dev/null 2>&1; then
- if git-rev-parse --verify "$newbranch" > /dev/null 2>&1; then
- cmd git-branch -D "${newbranch}"
- fi
- fi
-}
-
-
-gf_rebase_tree() {
- newroot="$1"
- test "x$newroot" = "x" && die "Need <newroot> parameter"
- oldroot="$2"
- test "x$oldroot" = "x" && die "Need <oldroot> parameter"
- echo
- echo "$self: Preparing subtree rebase"
- git config follow.tree | while read from to restofline; do
- if test "x#" = "x$(echo "$from" | sed -n '1s/^\(.\).*/\1/p')"; then continue; fi
- gf_branch "$from"
- gf_branch "$to"
- done
- gitk --all
- echo
- echo "$self: Executing subtree rebase"
- git config follow.tree | while read from to restofline; do
- if test "x#" = "x$(echo "$from" | sed -n '1s/^\(.\).*/\1/p')"; then continue; fi
- cmd git-rebase --onto "$from" "follow-old/$from" "$to"
- done
- gitk --all
- echo
- echo "$self: Cleaning up after subtree rebase"
- git config follow.tree | while read from to restofline; do
- if test "x#" = "x$(echo "$from" | sed -n '1s/^\(.\).*/\1/p')"; then continue; fi
- gf_rmbranch "$from"
- gf_rmbranch "$to"
- done
- gitk --all
-}
-
-
-# The great command case
-command="$1"
-if shift; then
- case "$command" in
- rebase-subtree)
- gf_init
- gf_rebase_tree "$@"
- ;;
- *)
- die "Invalid command line parameter: \"$command\""
- ;;
- esac
-else
- gf_init
-fi
-
-# End of file.