[issue1813] `status` doesn't include subrepository status

David Wolever mercurial-bugs at selenic.com
Wed Aug 26 10:12:11 CDT 2009

New submission from David Wolever <wolever at cs.toronto.edu>:

If changes are committed to a subrepository, then a commit in it's "super 
repository" (parent repository?) will update the status of .hgsubstate. For 
example, given the directory structure from 
http://mercurial.selenic.com/wiki/subrepos :

    $ hg st # There are no outstanding changes in the parent repo
    $ cd nested # We're going to make a change in the nested repo
    $ echo "changed" >> foo
    $ hg ci -m "Committing changes to 'foo' in nested repo."
    $ cd .. # go back to the parent repo
    $ hg st # status still shows no changes
    $ hg ci # But a commit *will* show changes:
    HG: Enter commit message.  Lines beginning with 'HG:' are removed.
    HG: Leave message empty to abort commit.
    HG: --
    HG: user: David Wolever <david at wolever.net>
    HG: branch 'default'
    HG: subrepo nested
    HG: changed .hgsubstate

If this was an intentional omission (ie, because "status" is defined as "showing 
the status of *files* within the repository", and subrepos aren't "files"), then it 
would be nice to have an alternate command which would show "everything that will 
be committed on the next 'hg commit'".

messages: 10423
nosy: wolever
priority: bug
status: unread
title: `status` doesn't include subrepository status

Mercurial issue tracker <mercurial-bugs at selenic.com>

More information about the Mercurial-devel mailing list