On Wed, 22 Feb 2017 20:27:39 -0800, Jun Wu wrote: > Excerpts from Kevin Bullock's message of 2017-02-22 20:31:14 -0600: > > There's another alternative we might consider: can we move all of the > > "side effects" out of the localrepository class entirely? That is, instead > > of resorting to inheritance, could we create a lower-level "repo storage" > > class that has enough logic to make vfs and svfs available, but doesn't > > call reposetup()? > > That's what I'm doing - moving "extensions.loadall()" out from > localrepository.__init__, and together with chg refactoring, > extensions.extensions will eventually return a empty list so things could be > seen as side-effect free.
Perhaps what Kevin suggests would be similar to my vague idea. Instead of introducing doubtful inheritance tree, can we create a layer that has vfs, svfs, etc., and have localrepo delegate storage operation to it? https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-February/092552.html Maybe that would require more changes than using inheritance, but would be less complex. _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel