From: James Roper <jroper@xxxxxx> Allow the --force option to be passed to the child push command. Signed-off-by: Paul Campbell <pcampbell@xxxxxxxxxxx> --- contrib/subtree/git-subtree.sh | 9 ++++++++- contrib/subtree/git-subtree.txt | 5 +++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/contrib/subtree/git-subtree.sh b/contrib/subtree/git-subtree.sh index c68cc6f..2d9b071 100755 --- a/contrib/subtree/git-subtree.sh +++ b/contrib/subtree/git-subtree.sh @@ -26,6 +26,8 @@ b,branch= create a new branch from the split subtree ignore-joins ignore prior --rejoin commits onto= try connecting new tree to an existing one rejoin merge the new branch back into HEAD + options for 'push' +f,force use force push options for 'add', 'merge', 'pull' and 'push' squash merge subtree changes as a single commit " @@ -84,6 +86,7 @@ while [ $# -gt 0 ]; do -b) branch="$1"; shift ;; -P) prefix="$1"; shift ;; -m) message="$1"; shift ;; + -f|--force) force=1 ;; --no-prefix) prefix= ;; --onto) onto="$1"; shift ;; --no-onto) onto= ;; @@ -712,12 +715,16 @@ cmd_push() die "You must provide <repository> <refspec>" fi if [ -e "$dir" ]; then + push_opts= + if [ "$force" == "1" ]; then + push_opts="$push_opts --force" + fi repository=$1 refspec=$2 echo "git push using: " $repository $refspec rev=$(git subtree split --prefix=$prefix) if [ -n "$rev" ]; then - git push $repository $rev:refs/heads/$refspec + git push $push_opts $repository $rev:refs/heads/$refspec else die "Couldn't push, 'git subtree split' failed." fi diff --git a/contrib/subtree/git-subtree.txt b/contrib/subtree/git-subtree.txt index 7ba853e..97dd3c9 100644 --- a/contrib/subtree/git-subtree.txt +++ b/contrib/subtree/git-subtree.txt @@ -255,6 +255,11 @@ OPTIONS FOR split '--rejoin' when you split, because you don't want the subproject's history to be part of your project anyway. +OPTIONS FOR push +---------------- +-f:: +--force:: + Uses 'git push --force'. EXAMPLE 1. Add command ---------------------- -- 1.8.2 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html