File tree 3 files changed +17
-2
lines changed 3 files changed +17
-2
lines changed Original file line number Diff line number Diff line change @@ -85,7 +85,11 @@ def link_repository(repository)
85
85
def unlink_repository ( repository )
86
86
object_pool . unlink_repository ( repository . raw )
87
87
88
- mark_obsolete unless member_projects . where . not ( id : repository . project . id ) . exists?
88
+ if member_projects . where . not ( id : repository . project . id ) . exists?
89
+ true
90
+ else
91
+ mark_obsolete
92
+ end
89
93
end
90
94
91
95
def object_pool
Original file line number Diff line number Diff line change @@ -2040,7 +2040,7 @@ def git_objects_poolable?
2040
2040
end
2041
2041
2042
2042
def leave_pool_repository
2043
- pool_repository &.unlink_repository ( repository )
2043
+ pool_repository &.unlink_repository ( repository ) && update_column ( :pool_repository_id , nil )
2044
2044
end
2045
2045
2046
2046
private
Original file line number Diff line number Diff line change @@ -4443,6 +4443,17 @@ def domain_variable
4443
4443
end
4444
4444
end
4445
4445
4446
+ describe '#leave_pool_repository' do
4447
+ let ( :pool ) { create ( :pool_repository ) }
4448
+ let ( :project ) { create ( :project , :repository , pool_repository : pool ) }
4449
+
4450
+ it 'removes the membership' do
4451
+ project . leave_pool_repository
4452
+
4453
+ expect ( pool . member_projects . reload ) . not_to include ( project )
4454
+ end
4455
+ end
4456
+
4446
4457
def rugged_config
4447
4458
rugged_repo ( project . repository ) . config
4448
4459
end
You can’t perform that action at this time.
0 commit comments