ocsyncでhttpsで同期したい。

目的

ownCloudのコマンドラインクライアントであるocsyncを使って、httpsで接続して同期したい。

失敗
$ ocsync . owncloud://<USER>:<PASSWORD>@<HOSTNAME>:<PORT>/files/webdav.php
原因

URL内でポートを指定するやり方には対応していない。

対処

ドキュメントを見てもウェブを検索しても情報が見つからなかったが、ソースコードを読んだら一発だった。owncloudsスキーマを使えばいい。

最初からソースコードに当たるべきだったろうか? 確かにソースコードは基本的に常に正しいが、読めるレベルのコードである可能性はほとんどない。そして、ドキュメントやウェブに答えが載っている可能性は非常に高い。

ということで、ドキュメントとウェブを一時間調べても見つからないような場合は即ソースコード、くらいのバランスがよさそう。一時間じゃ長過ぎるかな。

成功
$ ocsync . ownclouds://<USER>:<PASSWORD>@<HOSTNAME>/files/webdav.php