diff --git a/gitlab2prov/__init__.py b/gitlab2prov/__init__.py index 8bb5a35..e78282d 100644 --- a/gitlab2prov/__init__.py +++ b/gitlab2prov/__init__.py @@ -3,5 +3,5 @@ __author__ = "Claas de Boer, Andreas Schreiber" __copyright__ = "Copyright 2020, German Aerospace Center (DLR) and individual contributors" __license__ = "MIT" -__version__ = "1.1.2" +__version__ = "1.1.3" __status__ = "Development" \ No newline at end of file diff --git a/gitlab2prov/prov/model.py b/gitlab2prov/prov/model.py index eaeb93b..e050cab 100644 --- a/gitlab2prov/prov/model.py +++ b/gitlab2prov/prov/model.py @@ -112,19 +112,24 @@ def modification( graph.activity(*commit).wasInformedBy(graph.activity(*parent)) f = graph.entity(*fv.original) - prev = graph.entity(*fv.previous) - prev.specializationOf(f) rev = graph.entity(*fv) rev.wasAttributedTo(at) rev.specializationOf(f) - graph.wasRevisionOf( - rev, prev - ) # NOTE: rev.wasRevisionOf(prev) is not impl in prov pkg rev.wasGeneratedBy( c, time=c.get_startTime(), attributes=[(PROV_ROLE, ProvRole.FILE_REVISION_AFTER_MODIFICATION)], ) + + # skip previous revisions if none exist + if fv.previous is None: + return graph + + prev = graph.entity(*fv.previous) + prev.specializationOf(f) + graph.wasRevisionOf( + rev, prev + ) # NOTE: rev.wasRevisionOf(prev) is not impl in prov pkg c.used( prev, c.get_startTime(), diff --git a/setup.cfg b/setup.cfg index 5dae1a4..71abd8e 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = gitlab2prov -version = 1.1.2 +version = 1.1.3 license = MIT url = https://github.com/DLR-SC/gitlab2prov author = Claas de Boer