Mirror of the Rel4tion website/wiki source, view at <http://rel4tion.org>
Clone
HTTPS:
git clone https://vervis.peers.community/repos/yEzqv
SSH:
git clone USERNAME@vervis.peers.community:yEzqv
Branches
Tags
27.mdwn
[[!template id=ticket class=task]]
[[!meta title=“SCP in Haskell”]]
Issue
The first thing that happens when Darcs connects to a remote repository is inventory download. This is probably how Darcs discovers the repository contents, somewhat like Git’s ref discovery.
In Darcs, the inventory download happens using secure copy, via the scp
command. I didn’t check if Darcs runs the scp
program or has its own implementation.
Currently, Vervis runs the scp
program for the server side. But it’s probably simple enough to implement in Haskell, especially if initially it works just for the simple case of a single file.
Material:
- [[!wikipedia “Secure copy”]]
- [[How scp works|https://blogs.oracle.com/janp/entry/how_the_scp_protocol_works]]
- [[!hackage scp-streams]]
This is also a great chance, assuming relevance, to learn pipes or conduit.
Progress
scp
is used just for single file transfers. It’s slow and Darcs now has a better solution. Since currently I don’t support old Darcs repo formats, I don’t need to enable scp
at all. Darcs has its dedicated transfer-mode
command.
Result
None yet,