> On 5 Jul 2017, at 17:17, Junio C Hamano <gitster@xxxxxxxxx> wrote: > > The take-away lesson that the earlier thread gave me was that the > order in which the three options are ranked by their desirebility > in the UI (and the order we would like to encourage users to use) > is, from the most to the least preferrable: > > - "--force-with-lease=<ref>:<expect>" that is safer than "--force"; > > - "--force" that is known to be dangerous, and does not pretend to > be anything but; > > - "--force-with-lease" that pretends to be safer but is not. > > The last form should eventually be eliminated, as there is no way to > correctly intuit what the expected object should be. What's not clear to me is what the intended workflow using `--force-with-lease=<ref>:<expect>` is. Intuitively it seems extremely cumbersome to manually pluck a revision each time, especially when dealing with commits that all have the same description. On the other hand for my workflow `--force-with-lease` works quite well because I tend to use it in cases where me and a colleague are working on the same PR, and thus I'm not doing anything else (including fetching). Moreover, it seems to me that the problem `--force-with-lease` is just one of marketing. `--force-with-lease` is strictly more "safe" than `--force` in the sense that it'll reject some pushes that `--force` will let through. I think that if we advertise it better including its drawbacks it can still be better than no checks at all. Francesco