問題タブ [pre-commit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Form.save(commit=False) は Django 1.2.3 で動作が異なりますか?
今日まで、私は Django 1.1 を使用してきました。時代に遅れないようにするために、Django 1.2.3 を使用するように Django 環境を更新することにしました。残念ながら、問題が発生しました。
次のコードは、1.1 では ValueError を発生させませんでした:
ただし、アップグレードしたので、毎回 ValueError が発生します。フォームの一部として送信する SSN フィールドがあり、instance.save() 呼び出しを行う前にダッシュを取り除きます。残念ながら、Django が私の SSN 値が長すぎると判断したため、ValueError が発生します (9 文字が必要で、11 -- 123-45-6789 を受信しています)。
Django のドキュメントを調べましたが、この変更に関連するものは見つかりませんでした。何が起こっているのか分かりますか?「commit=False」パラメータの目的は、情報を保存する前にデータを前処理できるようにすることだといつも思っていました。
何か不足していますか?
svn - 誰かがサブバージョンのために事前にコミットされたWebベースのdiffビューアを推奨できますか?
要件をもう少し明確にするために編集
Tracのチェンジセットページに似たまともなWebビューアを見つけたいと思います:http://trac.edgewall.org/changeset/10173。唯一の落とし穴は、事前にコミットする必要があるということです。これらは、ブランチ/マージを正当化しない小さな変更用です。誰もがそのようなツールを知っていますか?
持つ必要があります:
- 事前にコミットする必要があります
- Linux、Mac、Windowsなどのプラットフォームごとにソリューションが必要です
あった方がよい:
- 熱くしてください。つまり、現在の作業ディレクトリの変更をローカルで表示して実行できるようにすることです。できるように
svn st | diffwebclient
なるには+1になります。
svn - 「svnlook cat」は、コミット トランザクション中に適切にフォーマットされたテキストを強制的に出力できますか?
Subversion の pre-commit フックを作成する際にsvnlook
、
試行されたコミットで変更された適切にフォーマットされたファイルではなく、単一の連続した行で構成される戻り値になります。ソースのフォーマットはコンパイルにとって重要であるため、これは問題です。すべてが 1 行で終わってしまう理由は何か分かりますか? 何か不足していますか?
git - Gitでコミットする前に、追跡されていないファイルを一時的にクリアします
コミットするたびに、依存関係を見逃している可能性があるのではないかと心配しています。gitインデックス(「ステージング」)にあるものが実際にコンパイル/実行されることを確認するために、gitツリーを分離してテストする最も簡単な方法を探しています。彼ら自身。
私のコードの依存関係は、「git add」を実行するファイルシステムに存在するため、テストをコンパイルして実行するだけでは、ツリー(またはステージング領域)がクリーンなファイルシステムにチェックアウトされた場合に、チェックインしたものがコンパイル/実行されることは保証されません。 。
送信後にチェックする継続的ビルドを作成することもできますが、後でパッチを適用する必要がある履歴に不正なコミットがないことを望んでいます。したがって、ツリーのチェックアウトとインデックス/ステージング領域を含む分離された環境を作成する方法が必要です。
私が検討したことの1つは、git stashを2回使用することです。つまり、次のようになります。
- 'git stash'を呼び出して、ファイルをインデックスに保存します
- どういうわけか、追跡されていないファイルのリストを取得し、これらすべてのファイルを「git add」して、新しいスタッシュを保存します
- 以前に追跡されていないファイルをすべて削除します
- 元の隠し場所を復元する
- これで、コードのみが既にチェックインされ、コンパイルとテストが可能なステージング領域のコードのみが含まれるクリーンな環境ができました。
- 終了したら、追跡されていないファイルの隠し場所を復元し、追跡を解除して、元の位置と同じ位置に残します。
(これらの追跡されていないファイルは便利かもしれませんが、必ずしもリポジトリにチェックインしたいものではありません-例えば、Eclipseプロジェクト)。
ただし、単純な問題を過剰に設計しているような気がします。
javascript - SVN pre-commitフックがローカルで機能するのに、コミットでは機能しないのはなぜですか?
コミットする前にJavaScriptファイルをチェックするためにJavaScriptLintを使用するために、次のpre-commitフックがあります。
このコードはローカルで次のように機能します。./pre-commit/my/ svn / repo / location 6781#番号はトランザクション番号です
しかし、 svncommitでは正しくエラーになりません。
私はすでに説明しました:
- $ PATHがないので、すべてのコマンドパスを明示的に設定しました。
- 終了用のjslコマンドから正しいエラーコードをキャッチしています。
- jslコマンドのSTDOUTをSTDERRにプッシュしているので、コミット失敗時に表示されます。
私は何が欠けていますか?
あなたの、
トレバー
svn - Subversionでのクライアント側の事前コミットフック
Eclipseやコマンドラインのsvnclientなどを使用して、svnクライアントを使用してクライアント側でpre-commitフックを設定する方法はありますか?
git - git pre-commitフックでリポジトリにファイルを追加できますか?
gitログのテキストファイルを作業ディレクトリに保持しており、コミット後に更新するスクリプトがあります。これは問題ありませんが、これの効果は、リポジトリ内にあるバージョンが常に1コミット遅れることです。
スクリプトを呼び出してリポジトリにファイルを追加するpre-commitフックを作成して、現在のコミット情報を含むログのテキストバージョンを保存することは可能ですか?
私はgitフックを初めて使用しますが、可能であれば、これがどのように機能するかはまったくわかりません。私は助けに感謝します!
mercurial - Mercurial のコミットフックをすべての仲間の開発者と共有するにはどうすればよいですか?
私たちはmercurialで作業しており、コードをきれいに保つためにprecommitフックを導入したいと考えています. 誰もが何らかの方法でフックを取得できるようにしたいと考えていますが、これを一元化された方法で更新できるようにしたいとも考えています。Mercurial はフックをバージョン管理しないので、代替オプションは何でしょうか? これに対する解決策を見つけた人はいますか?前もって感謝します!
ネミ
svn - SVN pre-commit フックを使用して、開発者が特定の新しく作成されたファイルを svn add するのを忘れないようにする方法
svn pre-commit フックなどを使用して、開発者がファイルの追加を忘れないようにする良い方法はありますか? 具体的には、パス/ファイル名が特定の正規表現パターンに一致するバージョン管理されていないローカル ファイルをユーザーが持っている場合 (この場合は rails データベースの移行)、コミットを失敗させたいと考えています。ユーザー教育 (コミットする前に常に svn status と svn diff を実行する)、恥辱などは、これまでのところ、この種の問題が時折発生するのを防ぐには不十分であることが証明されています。
svn - pre-commitフックのときにエラーメッセージを書き込めません
私はpre-commitフックを書いています、あるいはもっと良いことに、私はtigrisSVNリリースに標準で付属しているフックを編集しています。
私の目標は控えめです。コミットメッセージを提供せずに、コミットした人にエラーメッセージを書きたいだけです。
だから私の考えは、単純なエラーメッセージでstderrに書き込むことでした。しかし、何らかの理由で、私のメッセージは決して通らないようです。
インターネット上の誰もが、私はstderrに書き込む必要があると言っています。しかし、どういうわけかそれはうまくいきません。
これがばかげた質問だとすみませんが、私はLinuxの初心者なので、事前にお詫びします。
ありがとう、ジャスパー