Hi Phillip, On Sun, 22 Apr 2018, Phillip Wood wrote: > On 21/04/18 16:56, Phillip Wood wrote: > > On 21/04/18 11:33, Johannes Schindelin wrote: > >> This patch is part of the effort to reimplement `--preserve-merges` with > >> a substantially improved design, a design that has been developed in the > >> Git for Windows project to maintain the dozens of Windows-specific patch > >> series on top of upstream Git. > >> > >> The previous patch implemented the `label` and `reset` commands to label > >> commits and to reset to labeled commits. This patch adds the `merge` > >> command, with the following syntax: > > > > The two patches seem to have been fused together in this series. > > > > If the reset command fails because it would overwrite untracked files it > > says > > > > error: Untracked working tree file 'b' would be overwritten by merge. > > > > Followed by the hint to edit the todo file. Saying 'merge' rather > > 'reset' is possibly confusing to users. Perhaps it could call > > setup_unpack_trees_porcelain(), though that would need to be extended to > > handle 'reset'. > > > > Also it currently refuses to overwrite ignored files > > which is either annoying or safe depending on one's point of view. > > Looking at the existing code this is consistent with (most) of the rest > of the sequencer. The code to fast-forward commits will overwrite > ignored files, and I think the initial checkout will as well but the > rest (picking commits and the new merge command) will not. I never thought about that... but then, I never came close to encountering such an issue, as I do not typically turn ignored files into tracked ones ;-) Ciao, Dscho