
Ubuntu日本語フォーラム

ログインしていません。
mercurialには単体で簡易なwebサーバとして作動し、
リポジトリ内の内容を見る機能があります。
hg serveをすると http://localhost:8000/にリポジトリの内容が表示されます。
http://mercurial.selenic.com/wiki/hgserve
この表示された内容をwget -r で全部取得しようとしたのですが、
なぜか最初のindex.htmlだけしか取得できません。
% sudo hg serve -p 80 % wget -rLl 10 http://localhost/
の結果は以下のように表示されました。
--2010-07-22 20:14:18-- http://localhost/
localhost をDNSに問いあわせています... ::1, 127.0.0.1
localhost|::1|:80 に接続しています... 失敗しました: Connection refused.
localhost|127.0.0.1|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 Script output follows
長さ: 特定できません [text/html]
`localhost/index.html' に保存中
[ <=> ] 2,094 --.-K/s 時間 0.001s
2010-07-22 20:14:18 (2.07 MB/s) - `localhost/index.html' へ保存終了 [2094]
終了しました --2010-07-22 20:14:18--
ダウンロード完了: 1 ファイル、2.0K バイトを 0.001s で取得 (2.07 MB/s)わかる方がいましたら、教えて下さい。
宜しくお願いします。
オフライン
補足情報です。
いろいろ試行錯誤して見てわかった事は
mercurialで生成されたページには拡張子がない事が問題のように思います。
例)
http://localhost:8000/branches
http://localhost:8000/graph/144120a80cae
拡張子関連のオプションには -A -R がありますが、
拡張子のないファイルってwgetで取得する方法はありますかね?
オフライン
wgetの-Aオプションは拡張子だけではなくファイル名全体に効くので、-A "**"とかすると望みの挙動にならないでしょうか?
ただ、そもそもhgの組み込み.cgi処理を使っている環境で、wget -rしたい理由がいまひとつよくわかっていません(普通にリポジトリ操作で引っ張ってくるのでいけない理由がある?)。そのあたり、実はなにか他の背景があって、wgetで、というのは解法のひとつでしかない、ということはないでしょうか。
オフライン
kappamia による投稿:
この表示された内容をwget -r で全部取得しようとしたのですが、
なぜか最初のindex.htmlだけしか取得できません。コード:
% sudo hg serve -p 80 % wget -rLl 10 http://localhost/
wgetの-Lオプションが効いてしまってるからです。
hito による投稿:
wgetの-Aオプションは拡張子だけではなくファイル名全体に効くので、-A "**"とかすると望みの挙動にならないでしょうか?
ただ、そもそもhgの組み込み.cgi処理を使っている環境で、wget -rしたい理由がいまひとつよくわかっていません(普通にリポジトリ操作で引っ張ってくるのでいけない理由がある?)。そのあたり、実はなにか他の背景があって、wgetで、というのは解法のひとつでしかない、ということはないでしょうか。
-A "*" で(部分的に)うまく行きました。
一つわかった事はubuntuのバージョン1.12のwgetではうまくいかず、
バージョン1.9のwgetを本家からインストールしたらうまく行きました。
実行のコマンドは:
wget -r -k -A "*" -R .txt,png,css,js -l 2 http://localhost:8000/
謎な動きとしては
-Rオプションを付けないと拡張子が.txtとかの時にダウンロードが途中で停止します。
-Rオプションを付けると停止しないのですが、なぜか.txtのファイルがダウンロードされていたりします(汗
-l 2 としているのもこれ以上の深さだとhg serveからファイルその物をダウンロードしようとして、
途中でとまってしまうためです、-Rでリポジトリ中のファイル名を全部指定しないとダメでした。
とりあえず、やりたい事はできたのですが、
以上の現象についてなにかわかる方がおりましたら情報いただければうれしいです。
オフライン