qf_checkout implies that you need to have that baseline on your local repository, what it is not good for a distributed maintenance.
Let's make qf pull -f useful for the case we want to start a clean rebase from anywhere. v2: Remove dubious comments and use -f. v3: Avoid git pull --ff-only breaking force so force with fetch and hard reset Cc: Paulo Zanoni <paulo.r.zan...@intel.com> Cc: Michel Thierry <michel.thie...@intel.com> Cc: James Ausmus <james.aus...@intel.com> Cc: Lucas De Marchi <lucas.demar...@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.v...@intel.com> --- qf | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/qf b/qf index 270bcf53000a..ad37064902b4 100755 --- a/qf +++ b/qf @@ -404,11 +404,18 @@ function qf_pull { cd_toplevel - qf fetch + qf_fetch cd patches - git pull --ff-only - qf co + if [[ $FORCE ]]; then + git fetch + git reset --hard $(git rev-parse --abbrev-ref @{u}) + else + git pull --ff-only + qf_co + fi + + cd .. } function qf_stage @@ -587,6 +594,19 @@ function qf_usage echo "See '$qf help' for more information." } +FORCE= +while getopts f opt; do + case "$opt" in + f) + FORCE=1 + ;; + *) + echo "See '$qf help' for more information." + exit + esac +done +shift $((OPTIND - 1)) + # qf subcommand aliases (with bash 4.3+) if ! declare -n subcmd=qf_alias_${subcommand//-/_} &> /dev/null || \ test -z "${subcmd:-}"; then -- 2.13.6 _______________________________________________ dim-tools mailing list dim-tools@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dim-tools