0

私は 2 つのリポジトリを持っています。1 つには、プロジェクト内のあらゆる種類のものを構成するセットアップ スクリプトとインストール スクリプトがあります。2 番目のリポジトリはプロジェクトそのものです。

セットアップ スクリプトはプロジェクト内に格納する必要がありますが、プロジェクトにコミットしたくありません。

私は通常、svn-ignore を介してセットアップ スクリプトを無視し、スクリプトをプロジェクトに手動でコピーして実行できるようにします。

これに関する問題は、スクリプトが時間の経過とともに変更される可能性があることであり、すべてを最新の状態に保ちたいと考えています。

セットアップ スクリプトをプロジェクトの作業ディレクトリにチェックアウトし、同時にそれらを無視する方法を探しています。

このようにして、各プロジェクトでセットアップ スクリプトを最新の状態に保ちますが、同時に、それらをエクスポートまたは展開に含めることはありません。

これを達成する方法はありますか?

4

2 に答える 2

0

スクリプトとプロジェクトの URL の例を教えてください。何かを思いつくのに役立ちます。

私の考えでは、使用しているビルド スクリプトが何であれ、セットアップ スクリプトを ( 経由でsvn export) 作業ディレクトリにコピーする必要があると思います。どの言語でプログラミングしますか?

また、私のpre-commit hookも見てください。svn:ignore現在のディレクトリ専用であり、本質的にアドバイスです。誰かがファイルをコミットするのを防ぐことはできず、ファイルがコミットされた場合svn:ignoreは何もしません。私の precommit フックを使用すると、誰かがディレクトリ ツリー全体をコミットするのを防ぐことができます。

Subversion リポジトリが次のようにレイアウトされているとしましょう: http://svnserver/svn/trunk/myproject. distプロジェクト ルートの直下のディレクトリの下にプロジェクトをビルドします。http://svnserver/svn/trunk/myproject/distしたがって、ユーザーがディレクトリまたはその下のサブディレクトリを追加することは望ましくありません。

私の pre-commit フックを使用すると、制御ファイルを次のように設定できます。

[file You can't add files into the in the build area of your project.]
file=/*/*/dist/**
access=read-only
users=@ALL

dist現在、ユーザーはディレクトリの下のmyprojectディレクトリ、またはその下のサブディレクトリまたはファイルを追加できません。

あなたが何を望んでいるのか理解できれば、これは役に立ちます。

于 2013-03-15T18:57:02.360 に答える
0

解決策として、インストール スクリプトのパスを変更し、プロジェクトの場所などの質問をするプロンプトをいくつか追加しました。

データベース スクリプトは引き続きプロジェクト リポジトリに保持されますが、それらを実行するスクリプトは保持されません。

基本的にインストール スクリプトをプロジェクトから切り離し、プロジェクトの外部でインストールを実行できるようになりました。

インストールが実行されると、最初にプロジェクト フォルダーがスキャンされ、プロジェクトの選択を求められます。

于 2013-03-24T08:29:09.033 に答える