bookmarks.py if 'HG_PENDING' in encoding.environ: try: bkfile = repo.vfs('bookmarks.pending')
dirstate.py def _trypending(root, vfs, filename): '''Open file to be read according to HG_PENDING environment variable This opens '.pending' of specified 'filename' only when HG_PENDING is equal to 'root'. This returns '(fp, is_pending_opened)' tuple. ''' if root == encoding.environ.get('HG_PENDING'): localrepo.py if 'HG_PENDING' in encoding.environ: p = encoding.environ['HG_PENDING'] if p.startswith(self.root): c.readpending('00changelog.i.a') it /seems/ like the dirstate code is designed so that it shows the dirstate for a given repository based on pending so, if i have a hg hook that deals w/ HG_PENDING and there are 2 hg things triggering pending and thus two repositories running hooks that deal w/ pending and for some reason one of them runs an hg command in the other repository that second repository will afaict not report the pending dirstate, since it checks carefully but will report the pending bookmark, since afaict it checks carelessly the same incorrect behavior appears to be present for phases too but that should mean a nested repo could see a pending something if i have a repo w/ a registered subrepo, and someone does a "push" to my repo, is the subrepo directory modified as part of the step leading to my push-pretxn hook? _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel