subrepos: recursive status/diff with ui.commitsubrepos=True

Martin Geisler mg at aragost.com
Wed Nov 30 05:51:14 CST 2011


Hi everybody,

We recently changed the default for ui.commitsubrepos to False. The
behavior of commit, status, and diff now look like this:

          | recurses   | recurses        | recurses with
          | by default | with --subrepos | ui.commitsubrepos=B
  --------+------------+---------------- +--------------------
  commit: | False      | True            | B
  status: | False      | True            | False
  diff:   | False      | True            | False

I've added a new, third column to show how the ui.commitsubrepos option
impact the three commands.

The table is almost consistent..., except for the third column. Can we
make it consistent by putting B's all the down in that column?

Please note that this is partly a repeat of what we discussed here:

  http://markmail.org/message/5nimmdbbsvckhx2j

When I proposed the ui.recursesubrepos option I had B's all the way down
in the last columns. The objection was that tools would be confused. I
tried to argue that HGPLAIN should turn the new behavior off. I don't
think this was countered further and I believe that HGPLAIN should make
the change "tool-safe" until full transparency is achieved.

David wrote me this to explain his thinking:

> The default behavior is now non-recursive. One overrides this,
> explicitly, with the option --subrepos, or, implicitly, with
> ui.commitsubrepos=true.
>
> Both ways now work for commit. But the latter way is missing for
> status and diff. There cannot now be any objection to making this way
> possible.


-- 
Martin Geisler

aragost Trifork
Professional Mercurial support
http://mercurial.aragost.com/kick-start/


More information about the Mercurial-devel mailing list