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 <>
Cc: Daniel Vetter <>
Signed-off-by: Rodrigo Vivi <>
Acked-by: Lucas De Marchi <>
 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
                git pull --ff-only

dim-tools mailing list

Reply via email to