@@ -454,7 +454,6 @@ subroutine add_dependency_node(self, dependency, error)
454
454
! New dependency: add from scratch
455
455
self% ndep = self% ndep + 1
456
456
self% dep(self% ndep) = dependency
457
- self% dep(self% ndep)% update = .false.
458
457
end if
459
458
460
459
end subroutine add_dependency_node
@@ -577,6 +576,7 @@ subroutine resolve_dependency(self, dependency, global_settings, root, error)
577
576
578
577
if (dependency% done) return
579
578
579
+ fetch = .false.
580
580
if (allocated (dependency% proj_dir)) then
581
581
proj_dir = dependency% proj_dir
582
582
else if (allocated (dependency% path)) then
@@ -604,6 +604,7 @@ subroutine resolve_dependency(self, dependency, global_settings, root, error)
604
604
605
605
print * , ' dependency' ,dependency% name,' : fetch=' ,fetch,' allocated(git)=' ,allocated (dependency% git),' proj_dir=' ,proj_dir,' fetch=' ,fetch
606
606
607
+
607
608
call dependency% register(package, proj_dir, fetch, revision, error)
608
609
if (allocated (error)) return
609
610
@@ -950,16 +951,13 @@ subroutine register(self, package, root, fetch, revision, error)
950
951
if (allocated (self% git) .and. present (revision)) then
951
952
self% revision = revision
952
953
if (.not. fetch) then
954
+ ! Change in revision ID was checked already. Only update if git information is missing
953
955
! git object is HEAD always allows an update
954
956
update = .not. allocated (self% git% object)
955
- if (.not. update) then
956
- ! allow update in case the revision does not match the requested object
957
- update = revision /= self% git% object
958
- end if
959
957
end if
960
958
end if
961
959
962
- self% update = update
960
+ if (update) self% update = update
963
961
self% done = .true.
964
962
965
963
print * , ' register: set ' // self% name// ' for update, has revision? ' ,present (revision),' fetch? ' ,fetch,' set update? ' ,self% update
0 commit comments