Sean Farley <sean.michael.farley@gmail.com> [Fri, 02 Aug 2013 18:24:08 -0500] rev 19546
basectx: move __repr__ from changectx
We change the hardcoded 'changectx' to instead use type(self).__name__ so that
objects that inherit from basectx in the future will be able to use the same
representation.
Sean Farley <sean.michael.farley@gmail.com> [Fri, 02 Aug 2013 16:52:13 -0500] rev 19545
basectx: move __int__ from changectx
Sean Farley <sean.michael.farley@gmail.com> [Fri, 02 Aug 2013 16:50:13 -0500] rev 19544
basectx: change _node to node() in hex
This allows a child class to overload the node() function and still share the
same code for hex().
Sean Farley <sean.michael.farley@gmail.com> [Fri, 02 Aug 2013 16:49:01 -0500] rev 19543
basectx: move hex from changectx
Sean Farley <sean.michael.farley@gmail.com> [Fri, 02 Aug 2013 16:48:19 -0500] rev 19542
basectx: move node from changectx
Sean Farley <sean.michael.farley@gmail.com> [Fri, 02 Aug 2013 19:09:06 -0500] rev 19541
basectx: move rev from changectx
Sean Farley <sean.michael.farley@gmail.com> [Fri, 02 Aug 2013 16:46:23 -0500] rev 19540
basectx: move __str__ from changectx
Sean Farley <sean.michael.farley@gmail.com> [Tue, 06 Aug 2013 16:42:41 -0500] rev 19539
changectx: if passing a basectx then exit __init__ immediately
Sean Farley <sean.michael.farley@gmail.com> [Tue, 06 Aug 2013 15:50:28 -0500] rev 19538
basectx: return a copied context if changeid is already a basectx
This implements a copy constructor so that we can pass a basectx-derived object
in future refactorings.
Sean Farley <sean.michael.farley@gmail.com> [Sat, 13 Jul 2013 19:59:21 -0500] rev 19537
basectx: add an empty class that will be used as a parent of all contexts
At the moment, there is no simple way to check if an object is a context
because there is no common parent class. If there were, we could use
'isinstance' everywhere. Simply having memctx inherit from workingctx or
changectx would allow the use of 'isinstance' but that could lead to some
confusing situations of reading the code since we have three distinct concepts
of a context:
- changectx represents a changeset *already* in the repo, and is therefore immutable
- workingctx represents changes on disk in the working directory
- memctx represents changes solely in memory which may or may not be on disk
Therefore, I propose refactoring context.py to have all three contexts inherit
from a parent class 'basectx'.