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).

Fixes: 663e7293e042 ("qf: Allow rebase function to start from anywhere.")
Cc: Lucas De Marchi <>
Cc: Daniel Vetter <>
Signed-off-by: Rodrigo Vivi <>
 qf | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/qf b/qf
index fb04aeb71428..9956812f1b1a 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 reset --hard HEAD
+               quiet_pop_all -f

dim-tools mailing list

Reply via email to