2009-06-10 9 views
2

私は現在、PHPプロジェクトのパートナーと作業しています。良いスタンドアロンのsvnクライアント

ローカルサーバーに直接編集します(すべてのファイルはサーバーに保存され、WAMPスタックも実行されます)。 私は、htdocsフォルダのすべての変更を監視して保存するSVNクライアントを探しており、Web経由でリモートSVNリポジトリを更新します。

私はWebインターフェイスを介してSVNクライアントを操作することができれば素晴らしいボーナスになります。

たとえば、サーバにfile1.phpを保存します。それはsvnのウェブサイト上のを更新するでしょう。 ファイルの最新のリビジョンが悪いことが突然見つかった場合は、サーバーに移動して(またはコンピュータのWebインターフェイスを使用して)file1.phpを古いリビジョンに置き換えます。

ローカルマシンにSVNサーバーをインストールする必要はありません。なぜなら、私はいつも最新の変更でリモートにコピーを保存したいからです。

推奨事項

答えて

7

私はこれを行うソフトウェアについて知らない。標準のコマンドラインsvnクライアントを使用してこれをスクリプト化することはおそらく難しくありません。私。定期的に実行され、変更されたすべてをチェックするバッチ/シェルスクリプトがあります。

つまり、私は非常に強くにこれに反対すると言っています!

ソース管理の通常の作業モデルは、誰もが作業するローカルコピーを持っていて、その変更を中央リポジトリにチェックインすることです。

明示的な手動チェックでは、(一般的に)動作するものだけをチェックインし、貴重なチェックインコメントを付けることができます。

次に、ソース管理リポジトリから既知の適切なバージョンでサーバーを更新できます。

プロダクションシステムで作業しているようです。私は強くdev環境(s)と上記のアプローチを使用して検討することをお勧めします。

+0

私のローカルサーバがSVNリポジトリから最新のアップデートを自動的にダウンロードするシステムをお勧めしますか? – daniel

+0

http://cruisecontrol.sourceforge.net/ –

+0

通常の作業モデルについては混乱するかもしれません。通常、各開発者はSVNリポジトリからツールを必要とせずにワークスペースに定期的にダウンロードします。 SVNを使ってテストサーバを自動的に最新の状態に保つことを「連続的な統合」といいます。 CruiseControlはあなたのためにそれを行います。 – sleske

1

私がこの権利を得ているならば、あなたの意図は、バージョン管理された自動バックアップシステムとしてSVNを使用することです。この場合、最も簡単なのは、ファイル監視ツールを使用して、変更されたファイルをSVNにコミットするためにsvnコマンドラインクライアントを呼び出すことです。

0

2つのコードベースに対して2人のコミッターが働いている場合は、提案するシナリオのソースコード管理ソリューション(Bazaar、Git、Mercurial)を配布することを検討してください。ローカルコミットを行い、必要に応じて2つの宛先に変更をプッシュしてプルすることができます。

しかし、あなたが両端でのファイルの変更を監視し、その後、すぐにそれが変化

0

を検出したとして、私はそれが可能だか信じない適宜のsvnクライアントコマンドを呼び出すユーティリティのいくつかの並べ替えを必要とする場合がありますあなたの当面の問題に行きますとても簡単。

クライアントにSVNの下にフォルダを置くと、特定のフォルダ構造が作成され、ロックされているファイルや変更されたファイルなどを追跡できます。最初にファイルをチェックアウトしたり、ファイルをチェックせずに編集したりすることなく、サーバーのSVNフォルダーを更新しようとすると、悪い考えです。

zipファイルでhtdocsフォルダを収集し、ファイル名でバージョン管理し、それをリモートストレージにアップロードする予定のジョブは、これを管理するためのより簡単で迅速な方法です。

1

私はまだ試していませんが、SVN-Monitorが役に立ちます。上記のToirtoiseSVNクライアントが必要です。

+0

良いツール、チップのおかげで。 –

1

私は何も見つかりませんでした(私も同じ問題を抱えていました)。

これは2ステップで行います。

私はソフトウェアの一部を開発する必要があります - 私はトランクを分岐し、他の人がタスクを完了するために同じことをするときに変更します。その後、ブランチをマージしてテストします。テスト後、そのマージされたパッチによってトランクが更新されています。

最後に、cronjob(または手動)でリソースをメンテナンスモードに設定するスクリプトを実行し、htdocsを削除し、必要に応じて新しいトランクとchown/chmodをすべてエクスポートします。

このスクリプトは、我々はすぐにバグの変更を元に戻す必要がある場合はneccesaryリビジョンを設定、管理パネルからいつでも実行することができます...

0

多分、SVN post-commit hookは、いくつかの使用であるかもしれない場合、私は知りません、適切なスクリプトを与えられた?現在のリビジョン(つまり、フックを呼び出す前に作成したリビジョン)の変更を本番システムに自動的に展開することができます。私はこれがあなたが求めているものだと思いますか?

私は、あなたが提案していることの忠実でないことについて、ここにある他のコメントに同意すると言います。私はあなたが手動で展開プロセスを開始し、ソースがリポジトリから取得されるというソリューションをお勧めします。

私が誤解している場合はお詫び申し上げます。

編集:質問:私はあなたが自動化されたコミットをリポジトリに探していると思います。このように、他の人が提案するスケジュールされたスクリプトソリューションは、私が考えることができる最善のアプローチです。 +1を提案した人に。

関連する問題