Webインターフェイスなどを介して管理されるSVNリポジトリがあり、svn checkout https://server/repos/proj1
すべてがうまく機能します。
たとえば、サーバー上のシェルコマンドを使用してcommit
最新バージョンをディレクトリにコピーしたいとします。/home/user/somewhere/proj1/rev102/
私が正しく覚えている場合は、コマンドごとに1つのコマンドを呼び出すことができますcommit
。実行方法についてはあまり心配しません(失敗した場合はcron
ジョブを作成できます)。
svn update
svnログインメカニズムなどを使用せずにローカルで実行されるシェルスクリプトを使用してsvn repoディレクトリ/ファイルから最新のファイルを抽出するにはどうすればよいですか?すべてのファイルがそこにあり、シェルからアクセスできるので簡単です。
答え1
svn login
svnデータベースファイルに直接アクセスできる場合は必要ありません。サーバーのどこかにディレクトリなどのsvnデータベースのルートがあります/some/dir
。ここにはdb
、conf
およびサブディレクトリがあります。次のコマンドを使用して、同じマシン上でこのリポジトリをチェックアウトできます。hooks
locks
cd /home/user/somewhere/
svn list file:///some/dir/
svn checkout file:///some/dir/repos/proj1/rev102 proj1/rev102
svn update
新しく作成されたサブディレクトリでもこれを実行できます。
言ったように、すべてのコミットでコマンドを呼び出すことができます。ファイルを編集して名前をinhooks/post-commit.tmpl
に変更します。hooks/post-commit
/some/dir