-1

よくコピーするテンプレート プロジェクトがあります。そのため、コピーをコスチューム化しても、共通のテンプレートを使用できます。

「コピーと初期変更」プロセスを最適化するために、次のことを行う小さなスクリプトを書くことができます。

  • project-template (svn 内) を svn 内の別のディレクトリにコピーします
  • プロジェクトをチェックアウトし、いくつかの変更を行います (一部のファイルの名前を変更します)
  • カスタマイズされたプロジェクトをチェックインする

問題は、これを行う最善の方法は何ですか? これで何か経験はありますか?スクリプトの種類 (通常のバッチまたは Java)? コード例はありますか?

答えてくれてありがとう

4

2 に答える 2

0

ここに私が見つけたいくつかの情報をまとめたものがあります ここ.

#!/bin/bash


searchterm="<ProjectName>"
replaceterm="New Project"
srcsvnrepo="file:///svnrepoaddress"
destsvnrepo="file:///data/newrepo"
dumpfile="/home/<user>/repo.dump"
tmpfolder="/home/<user>/tmp_repo"

svnadmin dump $srcsvnrepo > $dumpfile
svnadmin create --fs-type fsfs $destsvnrepo
svnadmin load $destsvnrepo < $dumpfile
svn co $destsvnrepo $tmpfolder

for file in $(grep -l -R $searchterm $tmpfolder)
  do
    sed -e "s/$searchterm/$replaceterm/ig" $file > /tmp/tempfile.tmp
    mv /tmp/tempfile.tmp $file
    echo "Modified: " $file
  done

svn ci $tmpfolder --message "Initial Check-In"

基本的に、これは指定されたソース svn リポジトリのバックアップをファイルにダンプし、新しいリポジトリを作成し、バックアップをそこにロードし、ファイルをチェックアウトし、検索する文字列を含むファイルのリストを取得し、それぞれに対して正規表現を実行します新しいバージョンを一時的な場所に保存し、一時ファイルを元の場所に戻し、最後に変更を新しいリポジトリにチェックバックします。

私はこれを完全にテストしていないので、微調整が必​​要かもしれませんが、基本的な手順は正しいはずです。重大な誤算があり、これがまったく機能しない場合はお知らせください。

于 2008-10-08T14:29:39.397 に答える
-1

シェルスクリプトだけで十分です。

于 2008-10-08T14:22:09.787 に答える