[PATCH] qf: Actually allow qf rebase from a clean environment.

Rodrigo Vivi rodrigo.vivi at intel.com
Mon Mar 12 23:12:56 UTC 2018


The intention of commit '663e7293e042 ("qf: Allow rebase
function to start from anywhere.")' was to allow the
qf rebase to start from anywhere, including from a place
where not patch is yet applied with quilt.

However pop -f was not the right answer for that.

We need to make sure that qf pull provides a really clean
environment so qf rebase can really work from scratch to
all (-a) patches.

The goal is that a simple
qf pull -f && qf rebase drm-tip/drm-tip

Always simply work to rebase from anywhere.

v2: Implement this behavior only on -f is used to avoid losing work in
    progress (Daniel).
v3: Rebased.

Fixes: 663e7293e042 ("qf: Allow rebase function to start from anywhere.")
Cc: Lucas De Marchi <lucas.demarchi at intel.com>
Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
Acked-by: Lucas De Marchi <lucas.demarchi at intel.com>
---
 qf | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/qf b/qf
index ad37064902b4..600aba08f479 100755
--- a/qf
+++ b/qf
@@ -268,8 +268,8 @@ function qf_rebase
 
 	new_baseline=$(git rev-parse $1)
 
-	current_top=$(quilt top)
-	quiet_pop_all -f
+	current_top=$(quilt top || echo "-a")
+	quiet_pop_all
 	echo Resetting baseline to $new_baseline
 	git reset --hard $new_baseline
 	sed -e "s/BASELINE=.*$/BASELINE=$new_baseline/" -i patches/config
@@ -410,6 +410,7 @@ function qf_pull
 	if [[ $FORCE ]]; then
 		git fetch
 		git reset --hard $(git rev-parse --abbrev-ref @{u})
+		quiet_pop_all -f
 	else
 		git pull --ff-only
 		qf_co
-- 
2.13.6



More information about the dim-tools mailing list