[PATCH 0 of 6] Recursive status and diff for subrepositories

Tim Henigan tim.henigan at gmail.com
Wed Sep 1 10:05:43 CDT 2010

On Wed, Sep 1, 2010 at 10:14 AM, Martin Geisler <mg at lazybytes.net> wrote:
> Martin Geisler <mg at lazybytes.net> writes:
>> These patches add a -S/--subrepos option to the status and diff
>> commands which will make then recurse into subrepositories.
> I would like to begin pushing these patches -- let me know if you don't
> like the choice of -S/--subrepos or if you have any other objections.

I like the direction of these patches very much.  They will greatly
improve the usability of subrepos.  However, it seems that these
commands should also show changes to the revision of the subrepo.

For example, if I do the following:
  $ hg update -R subrepo -r <different revision than the one in .hgsubstate>
  $ hg status -S

The output shows something like:
  $ R subrepo/file.py

That is, the file status changes are shown but not the reason for them
changing (subrepo was moved to a different revision).

It would be helpful if both status and diff could show that the
revision of the subrepo has changed, in addition to the actual file

Ideally, this would show as a modification of the .hgsubstate file in
the top-level repo.  Then the standard 'hg status' command would show
that .hgsubstate was modified and 'hg diff' would show the change to
the revision (including the before and after revisions).

Also, it would be helpful if there was a config option which allowed
the 'subrepos' flag to be enabled by default (via the user's hgrc).

-Tim Henigan

More information about the Mercurial-devel mailing list