2011-07-12 7 views
0

私はクライアント用のアプリケーションを開発中です。クライアントはプロジェクトを終了した後もアプリケーションを開発しているので、私はそれを簡単にする必要があります。私はJavaScriptを書くためにCoffeeScriptsを使っていて、Antスクリプトを使って自分のビルドサーバにプッシュするときにコンパイルします。SVNプリコミットでCoffeeScriptをコンパイルする

Antスクリプトは、同じ名前のJSファイルまでコーヒーのすべてのファイルをコンパイルcoffee -c js/*.coffeeを呼び出します。私はSVNプリコミットフックで同じコマンドを実行したいと思います。私はSVNフックでファイルを変更することは悪いことだと知っていますが、私は実際にはファイルを変更していないので、新しいファイルを作成するので、人々が主張する大きな悪いノーノーとして分類されないと仮定します。

私はすべてのSVNに慣れて(私は通常のGitを使用)と私はPythonスクリプトとsvnlookと呼ばれるツールについての交渉を見つけることができるすべてのものはないですが、何も実際にそれを説明していません。

+0

は、なぜあなたは最初の場所でSVNを使用していますか?あなたは仕事のための適切なツールを使用している必要があり、それはSVNのような** **正しいツールではないようです。 –

+0

オースティンの精緻化に気をつけてください...私はSVNを使いたくないのですが、クライアントのためにそこのファイルを追跡する必要があります。それは彼らのSVNサーバーです。私はむしろGitを使いたいと思うし、Gitはもっと簡単になるだろうが、私はSVNを与えられているだけで、正当な理由がないと「SVNは間違ったツールだ」と言うつもりはない。 –

+0

その場合、私は私の声明を改訂し、 "SVN *プリコミットフック*はおそらく*仕事のための正しいツールではない"と言うでしょう。プリコミットフックの目的は、あなたがバージョンコントロールや他のさまざまな**パッシブ**機能に悪いコードを入れていないことを確認することです。原則として、コンパイルされた出力ではなく*ソース*をバージョン管理する必要があります。明らかに、この場合、クライアントには、コンパイルされた出力*がソースになります。おそらく、よりよい解決策は、2つのレポを保持することです:あなたのためのcoffeescript 1、そしてそれらのための(コンパイルされた)javascript 1。 –

答えて

1

正直なところ、私はあなたのアイデアを好きではありません。 svn commitは、コンパイルされたJavaスクリプトをいくつかのサーバにプッシュするためのものではありません。 クライアントが同じJavaスクリプトを他のサーバーにプッシュする必要がある場合はどうなりますか?

それはあなたが仕事のためのものを行うにコミットsvnのでしょう方が良いでしょう。 JSファイルへのcoffescripts

  • として提供ホストにjsファイルを公開してコンパイル
  • 新しい場所に

    • 輸出SVNリポジトリ:あなたが行います公開スクリプトを提供することができ、問題を解決するために

      公開スクリプトの引数

    公開スクリプトラースあまりにSVNにする必要があります:)

  • +0

    CoffeeScrippはjavaではなくjavascriptにコンパイルされます。私がそれらをコンパイルする必要があるのは、私がSVNを使ってクライアントにコードを渡すことだけだからです。彼らは彼らのシステムにコーヒーコンパイラを持っておらず、彼らのシステムにNode.jsとCoffeeScriptをインストールするプロセスを望んでいないので、coffeescriptは私にとってだけ有益です。 –

    +0

    PSパブリッシュ(coffeescriptsのコンパイル、javascriptの統合、縮小)を行うAntタスクがあります。もし私がそのタスクを呼び出すことができたら、 –

    +0

    @Dave私はちょっと混乱しています。私はプロジェクトを終了した後にもアプリケーションを開発しているのでしょうか?あなたのパートを終えた後、どのような「プロダクト」クライアントが受け取るでしょうか? – dimba

    関連する問題