0

http で公開されている、クライアントの既存の svn リポジトリのバックアップを作成しようとしています。

可能であれば、サーバーへのコンソールアクセスを外部の関係者に与えることなく、任意のコンピューターから新しいリポジトリを自動的に作成できるようにしたいと考えています (つまり、ユーザーはls私の svn リポジトリディレクトリで a を実行できます)。

私の問題は、サーバー上の svn リポジトリのリストを知る必要があることです。ユーザーは時間の経過とともに新しいリポジトリを追加するため、これは固定リストではありません。

ディレクティブmod_dav_svnを使用して、Apache のモジュールを介して html ページにリポジトリを一覧表示できます。SVNListParentPath Onこのページを取得しました: http://svn.ohwr.org/

私の質問は、そのようなリポジトリの使用可能なリストを取得する最も簡単な方法は何ですか? おそらくシェルコマンドを使用して、同期を行うためにそのリストを解析する必要があります。

シェル コマンドで HTML を解析する必要がありますか、それともそのリストを取得するためのより良い方法はありますか?

4

1 に答える 1

1

私は最終的に独自のソリューションを作成しました。

svn フォルダーで ls を作成し、その出力をサーバー上の公開ファイルにリダイレクトする cron タスクをセットアップしました。このファイルには html マークアップがなく、リポジトリの名前だけを含むプレーン テキスト ファイルです。

このようにして、クライアントはそのファイルを wget し、リポジトリ名を非常に簡単に反復処理できます。

この実装にはあまり満足していません。動作している間は、少し「ハッキー」です。SVN または Apache 自体が提供するものを使用したいと思います。

誰かがより良い解決策を投稿した場合、私はそれを受け入れます。それまでの間、これが私の可能な限りの最善の答えです。

于 2010-05-11T09:29:16.997 に答える