Client Implementation: Gitlab::Git::Repository#diff for migration
~Conversation: #565 (closed)
Gitlab::Git::Repository#diff_patches
: This method returns a Rugged iterator that we later loop over in Gitlab::Git::DiffCollection. DiffCollection lazily wraps the rugged patches into Gitlab::Git::Diff objects.
What we need instead is either to:
- change
#diff_patches
so that it returns an iterator of Gitlab::Git::Diff instances (assuming that Gitlab::Git::Diff is suitable for protobuf serialization), so that we can have an RPC that returns a stream of diff objects that we can plug into DiffCollection - find a way to serialize a DiffCollection instance, so that we can build the DiffCollection in Gitaly and set it down the wire back to gitlab-ce
Related
Edited by Andrew Newdigate