index: move import specific entry building out of index.data() property

This commit is contained in:
Peter Rowlands
2022-11-04 19:09:48 +09:00
committed by Peter Rowlands (변기호)
parent fb703150ce
commit bb62833897
2 changed files with 14 additions and 8 deletions
+14 -1
View File
@@ -527,7 +527,10 @@ class Output:
except NoRemoteError:
remote = None
return DataIndexEntry(
if self.files and not self.obj:
self.obj = self.get_obj()
entry = DataIndexEntry(
meta=self.meta,
obj=self.obj,
hash_info=self.hash_info,
@@ -535,6 +538,16 @@ class Output:
cache=self.odb,
remote=remote,
)
if self.stage.is_import and not self.stage.is_repo_import:
dep = self.stage.deps[0]
entry.fs = dep.fs
entry.path = dep.fs_path
entry.meta = dep.meta
if not entry.obj:
if not dep.obj:
dep.obj = dep.get_obj()
entry.obj = dep.obj
return entry
def changed_checksum(self):
return self.hash_info != self.get_hash()
-7
View File
@@ -242,15 +242,8 @@ class Index:
workspace, key = out.index_key
data_index = by_workspace[workspace]
if out.files:
out.obj = out.get_obj()
entry = out.get_entry()
entry.key = key
if out.stage.is_import and not out.stage.is_repo_import:
entry.fs = out.stage.deps[0].fs
entry.path = out.stage.deps[0].fs_path
entry.meta = out.stage.deps[0].meta
data_index.add(entry)
return dict(by_workspace)