summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Deegan <bill@baddogconsulting.com>2018-07-18 23:00:19 (GMT)
committerWilliam Deegan <bill@baddogconsulting.com>2018-11-12 16:46:36 (GMT)
commitf27ff8636b0db7cc025ca343b3eeac5dd11ba6b0 (patch)
tree363172e4e68fe0ae546ad93c15d71d2c6981e308
parent883770b811061663c9e5fd6dd6f583c443aa1c7c (diff)
downloadSCons-f27ff8636b0db7cc025ca343b3eeac5dd11ba6b0.zip
SCons-f27ff8636b0db7cc025ca343b3eeac5dd11ba6b0.tar.gz
SCons-f27ff8636b0db7cc025ca343b3eeac5dd11ba6b0.tar.bz2
Check in before migrating logic from Node() -> File(). Since the Timestamp-MD5 decider issue we're trying to resolve only affects File() nodes.
Additionally creating the map of file names -> csigs for info loaded from SConsign would only be used when using Timestamp-MD5
-rw-r--r--src/engine/SCons/Node/__init__.py20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/engine/SCons/Node/__init__.py b/src/engine/SCons/Node/__init__.py
index 76f5139..823f505 100644
--- a/src/engine/SCons/Node/__init__.py
+++ b/src/engine/SCons/Node/__init__.py
@@ -45,6 +45,7 @@ from __future__ import print_function
__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
+import os
import collections
import copy
from itertools import chain
@@ -381,6 +382,7 @@ class NodeInfoBase(object):
"""
state = other.__getstate__()
self.__setstate__(state)
+
def format(self, field_list=None, names=0):
if field_list is None:
try:
@@ -1214,7 +1216,7 @@ class Node(object, with_metaclass(NoSlotsPyPy)):
return _exists_map[self._func_exists](self)
def rexists(self):
- """Does this node exist locally or in a repositiory?"""
+ """Does this node exist locally or in a repository?"""
# There are no repositories by default:
return _rexists_map[self._func_rexists](self)
@@ -1464,6 +1466,7 @@ class Node(object, with_metaclass(NoSlotsPyPy)):
c_str = c_str.replace(os.sep, os.altsep)
df = dmap.get(c_str)
if not df:
+ print("No Luck1:%s"%c_str)
try:
# this should yield a path which matches what's in the sconsign
c_str = c.get_path()
@@ -1471,6 +1474,10 @@ class Node(object, with_metaclass(NoSlotsPyPy)):
c_str = c_str.replace(os.sep, os.altsep)
df = dmap.get(c_str)
+ if not df:
+ print("No Luck:%s"%[str(s) for s in c.find_repo_file()])
+ print(" :%s"%c.rfile())
+
except AttributeError as e:
import pdb;
pdb.set_trace()
@@ -1482,10 +1489,14 @@ class Node(object, with_metaclass(NoSlotsPyPy)):
if df:
prev.append(df)
continue
+ else:
+ print("CHANGE_DEBUG: file:%s PREV_BUILD_FILES:%s" % (c_str, ",".join(dmap.keys())))
prev.append(None)
continue
+ c.find_repo_file()
+
# TODO: This may not be necessary at all..
# try:
# # We're not finding the file as listed in the
@@ -1550,9 +1561,12 @@ class Node(object, with_metaclass(NoSlotsPyPy)):
result = False
children = self.children()
-
bi = node.get_stored_info().binfo
- # previous_children = bi.bsourcesigs + bi.bdependsigs + bi.bimplicitsigs
+
+ # then_names = bi.bsources + bi.bdepends + bi.bimplicit
+ # print("CHANGED : %s"%[str(s) for s in then_names])
+ # print("CHILDREN: %s"%[str(s) for s in children])
+
previous_map_by_file_name = self._build_dependency_map(bi)
# Now build new then based on map built above.