$ hg init toplevel $ cd toplevel $ hg init subrepo $ echo 'subrepo = subrepo' > .hgsub $ hg commit -Am 'initial revision' adding .hgsub committing subrepository subrepo $ cd subrepo $ echo 'foo' > bigfile $ echo 'bar' > smallfile $ hg add --large bigfile $ hg add smallfile $ hg commit -m 'add a largefile and a regular file' $ cd .. $ hg commit -m 'add stuff to a subrepo' committing subrepository subrepo $ hg st -S ? subrepo/bigfile $
I think there is one important part missing here. It does not work only when mater repo has largefiles disabled hg status --config extensions.largefiles= -S will return correct state (subrepo/bigfile) will not treated as unknown. I think it is not a bug.
I disagree. This is broken on the stable branch as of today with largefiles enabled in ~/.hgrc and no configuration file in the top-level repo: $ hg showconfig extensions extensions.largefiles= $ hg version Mercurial Distributed SCM (version 2.1+49-280e834c9d15) (see http://mercurial.selenic.com for more information) Copyright (C) 2005-2012 Matt Mackall and others This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. $ cat .hg/hgrc cat: .hg/hgrc: No such file or directory $ I'm not sure what you're doing differently, but this is definitely broken for me on both OS X and Linux with a minimal set of extensions enabled.
Fixed by http://selenic.com/repo/hg/rev/12dabc22de77 Matt Harbison <matt_harbison@yahoo.com> largefiles: fix status -S reporting of subrepos (issue3231) (please test the fix)
This fix works for me - thanks!
--- Bug imported by bugzilla@serpentine.com 2012-05-12 09:27 EDT --- This bug was previously known as _bug_ 3231 at http://mercurial.selenic.com/bts/issue3231