git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] pull: allow dirty tree when rebase.autostash enabled
@ 2015-06-02 21:55 Kevin Daudt
  2015-06-03  4:50 ` Paul Tan
                   ` (2 more replies)
  0 siblings, 3 replies; 16+ messages in thread
From: Kevin Daudt @ 2015-06-02 21:55 UTC (permalink / raw)
  To: Junio C. Hamano; +Cc: git, Kevin daudt

rebase learned to stash changes when it encounters a dirty work tree, but
git pull --rebase does not.

Only verify if the working tree is dirty when rebase.autostash is not
enabled.
---
 git-pull.sh     |  5 ++++-
 t/t5520-pull.sh | 17 +++++++++++++++++
 2 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/git-pull.sh b/git-pull.sh
index 0917d0d..6b9e8a3 100755
--- a/git-pull.sh
+++ b/git-pull.sh
@@ -239,7 +239,10 @@ test true = "$rebase" && {
 			die "$(gettext "updating an unborn branch with changes added to the index")"
 		fi
 	else
-		require_clean_work_tree "pull with rebase" "Please commit or stash them."
+		if [ $(git config --bool --get rebase.autostash || echo false) = "false" ]
+		then
+			require_clean_work_tree "pull with rebase" "Please commit or stash them."
+		fi
 	fi
 	oldremoteref= &&
 	test -n "$curr_branch" &&
diff --git a/t/t5520-pull.sh b/t/t5520-pull.sh
index 7efd45b..d849a19 100755
--- a/t/t5520-pull.sh
+++ b/t/t5520-pull.sh
@@ -297,6 +297,23 @@ test_expect_success 'pull --rebase dies early with dirty working directory' '
 
 '
 
+test_expect_success 'pull --rebase succeeds with dirty working directory and rebase.autostash set' '
+
+	test_when_finished "git rm -f file4" && 
+	git checkout to-rebase &&
+	git update-ref refs/remotes/me/copy copy^ &&
+	COPY=$(git rev-parse --verify me/copy) &&
+	git rebase --onto $COPY copy &&
+	test_config branch.to-rebase.remote me &&
+	test_config branch.to-rebase.merge refs/heads/copy &&
+	test_config branch.to-rebase.rebase true &&
+	test_config rebase.autostash true &&
+	echo dirty >> file4 &&
+	git add file4 &&
+	git pull
+
+'
+
 test_expect_success 'pull --rebase works on branch yet to be born' '
 	git rev-parse master >expect &&
 	mkdir empty_repo &&
-- 
2.4.2

^ permalink raw reply related	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2015-07-22 20:48 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-02 21:55 [PATCH] pull: allow dirty tree when rebase.autostash enabled Kevin Daudt
2015-06-03  4:50 ` Paul Tan
2015-06-06 21:12 ` [PATCH v2 1/2] t5520-pull: Simplify --rebase with dirty tree test Kevin Daudt
2015-06-11 13:20   ` Paul Tan
2015-06-06 21:12 ` [PATCH v2 2/2] pull: allow dirty tree when rebase.autostash enabled Kevin Daudt
2015-06-11 13:34   ` Paul Tan
2015-06-17 10:40     ` Kevin Daudt
2015-06-17 11:01   ` [PATCH v3] " Kevin Daudt
2015-06-17 15:36     ` Junio C Hamano
2015-07-04 21:00       ` kd/ Kevin Daudt
2015-07-04 21:42     ` [PATCH v4] pull: allow dirty tree when rebase.autostash enabled Kevin Daudt
2015-07-06 20:39       ` Junio C Hamano
2015-07-07  3:59         ` [PATCH v5] " Paul Tan
2015-07-22 19:07           ` Kevin Daudt
2015-07-22 19:42             ` Junio C Hamano
2015-07-22 20:48               ` Kevin Daudt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).