mercurial/context.py
changeset 6709 f84f507c53d3
parent 6708 7566f00a3979
child 6715 a3c41abfa828
--- a/mercurial/context.py	Wed Jun 18 22:52:26 2008 +0200
+++ b/mercurial/context.py	Wed Jun 18 22:52:26 2008 +0200
@@ -446,14 +446,26 @@
     """A workingctx object makes access to data related to
     the current working directory convenient.
     parents - a pair of parent nodeids, or None to use the dirstate.
+    date - any valid date string or (unixtime, offset), or None.
+    user - username string, or None.
     extra - a dictionary of extra values, or None.
     changes - a list of file lists as returned by localrepo.status()
                or None to use the repository status.
     """
-    def __init__(self, repo, parents=None, extra=None, changes=None):
+    def __init__(self, repo, parents=None, text="", user=None, date=None, 
+                 extra=None, changes=None):
         self._repo = repo
         self._rev = None
         self._node = None
+        self._text = text
+        if date is not None:
+            self._date = util.parsedate(date)
+        else:
+            self._date = util.makedate()
+        if user:
+            self._user = user
+        else:
+            self._user = self._repo.ui.username()
         if parents:
             p1, p2 = parents
             self._parents = [self._repo.changectx(p) for p in (p1, p2)]
@@ -518,9 +530,9 @@
 
     def manifest(self): return self._manifest
 
-    def user(self): return self._repo.ui.username()
-    def date(self): return util.makedate()
-    def description(self): return ""
+    def user(self): return self._user
+    def date(self): return self._date
+    def description(self): return self._text
     def files(self):
         f = self.modified() + self.added() + self.removed()
         f.sort()