fossil-scm 1.28 – cannot sync repository via ssh tunnel.

というわけで、1.28でまたも はまっていたので、その報告。

うちの環境はServer(Ubuntu)上に共有Repositoryが あるのでssh使って(Windowsからであれば plink.exe) syncをしています。

本日、fossil-scmを Version1.28に更新した途端にsyncが出来なくなりました。

ssh関連のHandlingを変更したそうで、どうやら 「server側でshellを起動するときに ~/.profile や ~/.bashrc は読み込まれない」ようになったようです。

環境変数が一部そこに依存していたため fossilが実行できずにsync出来なくなっていました。

というわけで、~/.bashrcや~/.profileに依存しないようにして対応しました。

これで無事syncは出来るようになったのですが、sync終了時に plink.exeがエラーを吐きます…orz

X:\workspace>fossil sync
Sync with ssh://username@server:port/repos/workspace.fossil
Round-trips: 1   Artifacts sent: 0  received: 0
Sync finished with 3152 bytes sent, 229 bytes received
Unable to write to standard output: パイプを閉じています。

最後の一行は plink.exeが標準出力に受信文字列を書き込もうとしてエラーになってるっぽいので、恐らくfossil側はデータを全て受け取っている。ので問題ないと思いたい(^^;