repository wrapper call gitaly for delete_refs with illegal argument
v10.7.0
Import of gitlab projects silently falls with an error ArgumentError: 3:DeleteRefs: empty ExceptWithPrefix and Refs
in sidekiq log.
gitaly validation for delete_refs:
if len(req.ExceptWithPrefix) == 0 && len(req.Refs) == 0 { // You can't delete all refs
return fmt.Errorf("empty ExceptWithPrefix and Refs")
}
current wrapper behavior:
def gitaly_delete_refs(*ref_names)
gitaly_ref_client.delete_refs(refs: ref_names)
end
suggest patch:
Index: lib/gitlab/git/repository.rb
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- lib/gitlab/git/repository.rb (date 1524214574000)
+++ lib/gitlab/git/repository.rb (date 1524636327324)
@@ -2314,7 +2314,7 @@
end
def gitaly_delete_refs(*ref_names)
- gitaly_ref_client.delete_refs(refs: ref_names)
+ gitaly_ref_client.delete_refs(refs: ref_names) if ref_names.any?
end
def rugged_remove_remote(remote_name)