問題タブ [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.
svn - svn でファイル/フォルダーを追加/削除するためのユーザー権限
svn でファイルを追加/削除 (読み取り/変更/書き込みではなく) する権限を制御する必要があるという要件があります。svn アクセス制御にそれを行う方法があるかどうかを確認しました。しかし、この種の制限はないようです。
この操作を実行できるいくつかのプリコミットをチェックしていて、svnperms フックをラウンドすると、この機能があります。ただし、同様のアクセス制御の実装もあるため、これをアクセス制御スクリプトと組み合わせて使用するかどうかはわかりません。
ユーザーの追加/削除権限を実装するための最良の方法について、いくつか提案をいただけますか?
mysql - mysqldump スキーマのみ、ドロップなしのスキーマ更新
変更をコミットする前に git pre-commit フックを使用して MySQL db スキーマをエクスポートし、他の開発者が git リポジトリから SQL スクリプトを使用して自分のデータベースを更新できるようにすることを検討しています。
デフォルトでは、mysqldump (私は --no-data を使用しています) は、既存のテーブルを再構築する前に削除しますが、これは私が求めているものではありません。削除して再構築する代わりにテーブルが存在する場合、テーブルを更新するために mysqldump などを実行して SQL で db スキーマを記述する方法を誰かが知っているかどうか疑問に思っています。これは遠回りかもしれませんが、誰かが私を正しい方向に向けることができれば、それは素晴らしいことです.
svn - svn と git でコミットするときにコマンド ライン プロンプトを $EDITOR として追加するにはどうすればよいですか
$EDTIOR
git と svnの代わりに小さなシェル スクリプトを使用することは可能ですか?
そのため、vi や emacs に精通していない人がコミットを行い、
-m "fixed the foo bug"
パラメーターを追加するのを忘れた場合、エディターは開かれず、終了方法がわかりませんが、代わりにプロンプトが表示されます。
このコミットの内容を証明してください:
ユーザーは短い文を書き、Enter キーを押すだけで終了します。
svn - SVN - start-commit フックでコミット サイズを取得しますか?
実際には、pre-commit フックでコミットのサイズを確認します。しかし、プリコミットでコミットを拒否する前に、すべてのファイルがコミットされます。
たとえば、サイズ制限が 10 MB で、ユーザーが 1 GB のファイルを送信した場合、1 GB はサーバーに完全に転送され、プリコミット フックはトランザクションを拒否します。
すべてのファイルがサーバーに転送される前に、コミット サイズがリポジトリの制限よりも大きい場合、トランザクションを拒否したい。
これはどのように可能ですか?
cherry-pick - チェックアウトされたファイルがどのコミットから来たのかを知る方法
でファイルをチェックアウトし、git checkout $commit $filename
忘れ$commit
たがまだ覚えている$filename
場合、どうすれば何$commit
であったかを知ることができますか?
svn - Subversionコミットで自動再開する方法はありますか?
コミットするとトランザクションエラーが発生することがよくあります。私の知る限り、これらは途中で失敗したコミットの結果です。できればTortoiseSVNなどのGUIを使用して、失敗した場所で自動的にコミットを再開し、すべてがコミットされるまで再試行を続ける方法はありますか?
失敗したコミットの例:
コミットに失敗しました(詳細は次のとおりです):'/svn/namcloud/!svn/wrk/02b0f9ff-2510-a147-892a-2ee0b7b442dc/src/sites/all/modules/globalredirect/LICENSE.txt'のPUT:応答本文を読み取れませんでした:既存の接続がリモートホストによって強制的に閉じられました。(http://XXX.XXX.XXX)
git - 作業ツリーではなく現在のコミットをテストする方法は?
コミットが完了する前にプロジェクトをテストするためにコミット前フックを設定しようとしていますが、HEAD (現在のコミットからのパッチを含む) のみがテストされ、現在の working_tree (ほとんどの場合、これは私にとって汚いです)。
見つかった解決策:
このリンクを見つけて、最終的に次のことを行いました。
http://newartisans.com/2009/02/building-a-better-pre-commit-hook-for-git/
perl - Subversionリポジトリのデルタの形式は何ですか?また、pre-commitフックでデルタを変更した場合、どれほどひどく爆破できますか?
ダメージを与えるのを手伝ってください!私はこれを絶対にやらないようにと私に告げるたった半ダースのグーグルヒットにうんざりしている。物事を本当に良いものに変えましょう!db /transactions内の実際のファイルを入手できると確信しているので、どうすればこれらを面白い方法で台無しにすることができますか?私はSVN::Deltaを見てきましたが、それが何をしているのかさえ理解できません(誰かにリポジトリへの変更のきれいなグラフを作成させるか、コード化されたメッセージをCIAに送信するか?)。
私は本当にこれをしない理由をもっと聞いても構わない。私は、Subversionを使用する他の40人または50人の環境で働いています。また、コーディング中に、web.configファイルにいくつかのパスワードが必要です。DataSource.groovyファイルに名前を付けます。そして、私たちがそれらを残したという理由でコミットを拒否することは、地獄のように迷惑です。パスワードを手動で削除してファイルを保存する必要があります(そして、それらのファイルを開く必要があります。必ずしも開いているとは限りません)。コミットが完了したら、作業を続行するためにファイルを元に戻す必要がありますか?これは、パブロフの反射神経が発達して何もコミットしないようになるまで、コミットするたびにビッチスラップをしたい場合に適していると思います。なぜ?コンピューターはタスクを自動化することになっていないので?ソフトウェアクライアントは、pre-commitフックが知らなかったことを知らないからです。
私はここではかなり言語に依存していません。絶対にやるべきではないことを行う方法の例を教えてください...pre-commitからどのファイルを編集しますか?DELTA ###行の後のgobbledygookをどのように解釈しますか?それを支援するライブラリはありますか?楽しもう!
PS真剣に、誰も「悪いアイデア」タグを作成していませんか?WTF。
git - バージョン管理のためのホストされたソリューション -- pre-commit フック付き?
特定のプレコミットフックを構成する機能を提供する、SVN、Git、または Mercurial (推奨) のホストされたソリューションを提案できる人はいますか? 例えば、JSをコミットするときにJSLintを渡してほしい。または、PHP がコミットされている場合は、特定のコーディング規約に合格することを望みます。
提案?
android - cygwin を bash スクリプトで使用して、コミット時に Android マニフェストを更新できますか?
ただし、Windows SVNサーバー(VisualSVN)でTortoiseSVNを使用しているので、svnの事前コミットフックがこれを実行できるように、これを何らかの方法でcygwinコマンドに入れることができるかどうか疑問に思っていますか?私は cygwin をあまり使用していませんが、コミットがビルドされるたびにバージョン名を更新する方法を探しています。
編集:実際には、ツール呼び出し FART http://fart-it.sourceforge.net/を使用してテキストを検索および置換できるように見えるため、SVN pre-commit でバッチスクリプトを記述して検索および置換できる場合があります。テキストを置き換えます。
編集 #2: FART はもっと複雑です。最初のスクリプトを使用してみますが、「git add」を「svn add」に置き換えて、それが機能するかどうかを確認します。