Exemple #1
0
    def merge(self, ancestor, other):
        from dvc.objects.tree import merge

        assert other

        if ancestor:
            self._check_can_merge(ancestor)
            ancestor_info = ancestor.hash_info
        else:
            ancestor_info = None

        self._check_can_merge(self)
        self._check_can_merge(other)

        self.hash_info = merge(self.odb, ancestor_info, self.hash_info,
                               other.hash_info)
Exemple #2
0
    def merge(self, ancestor, other):
        from dvc.objects.tree import du, merge

        assert other

        if ancestor:
            self._check_can_merge(ancestor)
            ancestor_info = ancestor.hash_info
        else:
            ancestor_info = None

        self._check_can_merge(self)
        self._check_can_merge(other)

        merged = merge(self.odb, ancestor_info, self.hash_info,
                       other.hash_info)
        self.odb.add(merged.path_info, merged.fs, merged.hash_info)

        self.hash_info = merged.hash_info
        self.meta = Meta(
            size=du(self.odb, merged),
            nfiles=len(merged),
        )