I have such a mercurial repo set, in which another subprofo with a subrepo:
Route .hg .hgsub .hgsubstate Nested .hg .hgsub .hgsubstate foo.txt furtherNested .hg bar.txt
If I change foo.txt and bar.txt and from Commit the inside of the root is all right and all nested substrates are committed. However, if I only change bar.txt and work from Route then HG thinks that nothing has changed. If there is only change in more nested, I have to commit to the Nested inside to get more nested changes. It seems that for the work of nested subreps, there is a change in recursive order to work at each nested level. is.
There was nothing read in the Mercury Documents on the Uprips that it was estimated that the subproduction should be promoted only if there is a change, in fact it is the opposite:
When we commit, Mercurial will continually strive in all defined subreposes ...
So my question is, can it be expected or something broken or so far Not done (Macroure 1.5 in Windows) 4)?
I think it's something that's broken. The related source code (in subrepo.py) does not seem to recurse subsubrepos, such as:
def dirty (self): r = self._state [1] if r == '': returns W = self._repo [none] if w.p1 ()! = Self._repo [r]: Check the return of change in the # version correct return w.dirty () # Change the job directory
Probably will not be difficult to decide though, Do not know enough code. This is likely to be appropriate for lodging and / or fileing a bug. I suspect that Matt and Benoit are reading this, but they definitely post everything here.
Comments
Post a Comment