Mercurial > hg
changeset 19572:c19f46b904b9
basefilectx: add an empty class that will be used as a parent of file contexts
Similar to the refactoring of context, we split common logic from filectx to a
parent class called basefilectx that will be inherited by filectx,
workingfilectx, and memfilectx. This will allow a clear disinction of all the
file contexts:
- filectx: read-only access to a filerevision that is already present in the repo,
- workingfilectx: a filecontext that represents files from the working directory,
- memfilectx: a filecontext that represents files in-memory
author | Sean Farley <sean.michael.farley@gmail.com> |
---|---|
date | Sat, 10 Aug 2013 15:10:26 -0500 |
parents | 103edf3ed79e |
children | dffad92ab709 |
files | mercurial/context.py |
diffstat | 1 files changed, 11 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/context.py Mon Aug 05 18:44:18 2013 -0500 +++ b/mercurial/context.py Sat Aug 10 15:10:26 2013 -0500 @@ -409,7 +409,17 @@ if match.bad(fn, _('no such file in rev %s') % self) and match(fn): yield fn -class filectx(object): +class basefilectx(object): + """A filecontext object represents the common logic for its children: + filectx: read-only access to a filerevision that is already present + in the repo, + workingfilectx: a filecontext that represents files from the working + directory, + memfilectx: a filecontext that represents files in-memory.""" + def __new__(cls, repo, path, *args, **kwargs): + return super(basefilectx, cls).__new__(cls) + +class filectx(basefilectx): """A filecontext object makes access to data related to a particular filerevision convenient.""" def __init__(self, repo, path, changeid=None, fileid=None,