marmoute created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REVISION SUMMARY
  This is going to be clearer and easier to track than -1. Ultimately I would
  like to get ride of this special value everywhere but in the lower level,
  however we need to clarify the API first. This changeset is part of such
  clarification.

REPOSITORY
  rHG Mercurial

BRANCH
  default

REVISION DETAIL
  https://phab.mercurial-scm.org/D10928

AFFECTED FILES
  mercurial/dirstate.py

CHANGE DETAILS

diff --git a/mercurial/dirstate.py b/mercurial/dirstate.py
--- a/mercurial/dirstate.py
+++ b/mercurial/dirstate.py
@@ -54,6 +54,9 @@
 # a special value used internally for `size` if the file is 
modified/merged/added
 NONNORMAL = -1
 
+# a special value used internally for `time` if the time is ambigeous
+AMBIGUOUS_TIME = -1
+
 
 class repocache(filecache):
     """filecache for files in .hg/"""
@@ -502,7 +505,7 @@
                     return
                 if entry[0] == b'm' or entry[0] == b'n' and entry[2] == 
FROM_P2:
                     return
-        self._addpath(f, b'n', 0, NONNORMAL, -1)
+        self._addpath(f, b'n', 0, NONNORMAL, AMBIGUOUS_TIME)
         self._map.copymap.pop(f, None)
 
     def otherparent(self, f):
@@ -512,15 +515,15 @@
             raise error.Abort(msg)
         if f in self and self[f] == b'n':
             # merge-like
-            self._addpath(f, b'm', 0, FROM_P2, -1)
+            self._addpath(f, b'm', 0, FROM_P2, AMBIGUOUS_TIME)
         else:
             # add-like
-            self._addpath(f, b'n', 0, FROM_P2, -1)
+            self._addpath(f, b'n', 0, FROM_P2, AMBIGUOUS_TIME)
         self._map.copymap.pop(f, None)
 
     def add(self, f):
         '''Mark a file added.'''
-        self._addpath(f, b'a', 0, NONNORMAL, -1)
+        self._addpath(f, b'a', 0, NONNORMAL, AMBIGUOUS_TIME)
         self._map.copymap.pop(f, None)
 
     def remove(self, f):
@@ -1537,7 +1540,7 @@
         if oldstate == b"?" and "_alldirs" in self.__dict__:
             self._alldirs.addpath(f)
         self._map[f] = dirstatetuple(state, mode, size, mtime)
-        if state != b'n' or mtime == -1:
+        if state != b'n' or mtime == AMBIGUOUS_TIME:
             self.nonnormalset.add(f)
         if size == FROM_P2:
             self.otherparentset.add(f)
@@ -1581,7 +1584,7 @@
         for f in files:
             e = self.get(f)
             if e is not None and e[0] == b'n' and e[3] == now:
-                self._map[f] = dirstatetuple(e[0], e[1], e[2], -1)
+                self._map[f] = dirstatetuple(e[0], e[1], e[2], AMBIGUOUS_TIME)
                 self.nonnormalset.add(f)
 
     def nonnormalentries(self):
@@ -1592,7 +1595,7 @@
             nonnorm = set()
             otherparent = set()
             for fname, e in pycompat.iteritems(self._map):
-                if e[0] != b'n' or e[3] == -1:
+                if e[0] != b'n' or e[3] == AMBIGUOUS_TIME:
                     nonnorm.add(fname)
                 if e[0] == b'n' and e[2] == FROM_P2:
                     otherparent.add(fname)



To: marmoute, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to