[PATCH] qf: Make qf_pull -f forcibly clean
Rodrigo Vivi
rodrigo.vivi at intel.com
Mon Mar 12 23:08:41 UTC 2018
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.zanoni at intel.com>
Cc: Michel Thierry <michel.thierry at intel.com>
Cc: James Ausmus <james.ausmus at intel.com>
Cc: Lucas De Marchi <lucas.demarchi at intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi at 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
More information about the dim-tools
mailing list