On Mon, Mar 12, 2018 at 04:55:26PM -0700, Lucas De Marchi wrote: > On Mon, Mar 12, 2018 at 04:08:41PM -0700, Rodrigo Vivi wrote: > > 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 > > qf_fetch already fetches from remote, so you can remove it from here. > > > + git reset --hard $(git rev-parse --abbrev-ref @{u}) > > There are also the cases in which the user changed the branch so > `git rev-parse --abbrev-ref @{u}` may point to the wrong upstream or > point nowhere: > > $ cd patches > $ git checkout -b bla > $ git rev-parse --abbrev-ref @{u} > fatal: no upstream configured for branch 'bla' > $ git checkout --detach > $ git rev-parse --abbrev-ref @{u} > fatal: HEAD does not point to a branch > > But then there would be other places to fix, like in qf_export. > I'm not sure if it's worth the trouble to fix it, so with the removal of > git fetch above,
hm... :( yeap.... let's fix this later if we need. For now let's focus on the current case we need here where we don't change the branches > > Reviewed-by: Lucas De Marchi <lucas.demar...@intel.com> pushed, thanks. > > > + 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