Check if two dependency configurations are different
Perform all checks All checks passed! The two instances are equal
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dependency_config_t), | intent(in) | :: | cached |
Two instances of the dependency configuration |
||
class(dependency_config_t), | intent(in) | :: | manifest |
Two instances of the dependency configuration |
||
integer, | intent(in) | :: | verbosity |
Log verbosity |
||
integer, | intent(in) | :: | iunit |
Log verbosity |
logical function manifest_has_changed(cached, manifest, verbosity, iunit) result(has_changed)
!> Two instances of the dependency configuration
class(dependency_config_t), intent(in) :: cached, manifest
!> Log verbosity
integer, intent(in) :: verbosity, iunit
has_changed = .true.
!> Perform all checks
if (allocated(cached%git).neqv.allocated(manifest%git)) then
if (verbosity>1) write(iunit,out_fmt) "GIT presence has changed. "
return
endif
if (allocated(cached%git)) then
if (.not.git_matches_manifest(cached%git,manifest%git,verbosity,iunit)) return
end if
!> All checks passed! The two instances are equal
has_changed = .false.
end function manifest_has_changed