問題タブ [blame]
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 - ソナー SCM 障害、ライン 1 に非難データなし
Windows 7 マシンで SVN を使用してソナー分析 (Sonar Runner v2.4 および SonarQube 5.0) を実行すると、いくつかの問題が発生します。
次のエラーが表示されます。
java.lang.IllegalStateException: Unable to blame file DataTypes/TtCallPackagePlanType.cs. No blame info at line 1. Is file commited?
–X フラグを指定して sonar-runner を実行すると、ソナーが次の Blame コマンドを実行していることがわかります。
svn blame --xml --non-interactive -x -w --username ******** --password ******** --trust-server-cert DataTypes/TtCallPackagePlanType.cs
しかし、同じ場所のコマンド プロンプトでそのコマンドを自分で実行すると、完全な形式の XML ファイルが得られます。このファイルは、次のリンクで確認できます。
SVN のバージョンは 1.8.10 で、svn upgrade
sonar-runner を実行する前に完全なディレクトリで実行しました。
SVN プラグインが Blame データでどのような問題を抱えているのかわかりません。
サイト(およびペーストビン)には大きすぎるため、完全なログを添付することはできませんが、関連する行は次のとおりです(私が思うに):
sonar-project.properties へのリンク: http://pastebin.com/xnFyPz67
sonar.properties へのリンク: http://pastebin.com/q6TaGZQG
git - Bzr Blame 統計
コミッターのリストと、彼らが貢献した行数を取得したいです。たとえば、Git: Blame Statisticsと同じですが、Git ブランチではなく Bzr ブランチを除きます。
git - git Blame が名前変更に従わないのはなぜですか?
お気づきのとおり、ファイルはそのコミットの別のディレクトリにありました
ドキュメントにもかかわらず
非難は名前変更に従いません。なんで?
更新:短い答え
git blame
名前の変更に従いますが、git blame COMMIT^ -- <filename>
しかし、大量の名前変更と大量の履歴を介して手動でファイルの名前変更を追跡するのは非常に困難です。の名前変更を黙って追跡するには、この動作を修正する必要があると思いますgit blame COMMIT^ -- <filename>
。または、少なくとも--follow
実装する必要があるため、次のことができます。git blame --follow COMMIT^ -- <filename>
UPDATE2:それは不可能です。以下をお読みください。
メールリストからの回答by Junio C Hamano
git blame
名前の変更に従いますが、git blame COMMIT^ -- <filename>
バージョン v1.0 にファイル A とファイル B があるとします。
6 か月後、コードは大幅にリファクタリングされたので、これら 2 つのファイルの内容を個別に取得する必要はありません。あなたは A と B を削除し、それらが持っていたものの多くは現在ファイル C にあります。それが現在の状態です。
内容はどちらからでもいいのですが 、言わせてもらえば
それはどういう意味ですか?C は v1.0 ではまったく存在しませんでした。当時のAの内容を踏襲するか、Bの内容を踏襲するか。このコマンドで C と言ったとき、B ではなく A を意味しているとどのように言いましたか?
「git Blame」はコンテンツの移動に従い、「名前の変更」を特別な方法で扱うことは決してありません。
コマンド ラインからどのコンテンツから掘り始めるかをコマンドに伝える方法は、開始点 commit (デフォルトは HEAD ですが、例として COMMIT^ を指定することもできます) とその開始点のパスを指定することです。C を Git に伝えてから、魔法のように A を意味する場合もあれば、B を意味する場合もあると推測させるのは意味がないためです。v1.0 に C が含まれていない場合、唯一賢明なことは、推測を行う代わりに終了することです (そして、ユーザーにどのように推測したかを伝えません)。
git - 以前のコミッタ名をgitに保持するには?
コードをクリーンにするために、astyle を使用します。問題は、誰かに仕事をしてもらいたいということですが、以前のコミッター (コードの実際の作成者であり、クリーンアップした人ではありません) を非難しています。
git で安全に行う方法はありますか?
c# - TFS の Blame (注釈) データをプログラムで取得する
チーム プロジェクトのユーザーに関するレポートを作成する Team Foundation Server 2010 用のプラグインを実装しようとしています。概念的には、このプラグインを適切に実装するために必要なのは、Visual Studio の "注釈" 機能を使用するときに取得するのと同じデータにアクセスすることだけです。特定の行を最後に作成したのは誰であるかを知る必要があります。コードの。
インターネットでドキュメントやコード サンプルを探しましたが、TFS コマンド ライン ツールの使用などの提案や、一見不完全なコード サンプルしか見つかりませんでした。
クライアントコードで多くの面倒な作業を行うことは気にしませんが、 Changeset内のコードの内容に関する有用な作成者データを取得する明白な方法や、マージ詳細の戻り値から取得する明白な方法はないようです。
svn - svnで特定のファイルを変更したすべての人のリストを取得するには?
私はsvnを使用していくつかのレポにプロジェクトを持っています。このファイルを変更するファイルや人はたくさんいます。「svn flame」で特定のファイルを変更した人を確認できますが、このファイルを変更したすべての人のリストを取得する方法がわかりません。要約すると、svn を使用して特定のファイルを変更したすべての人のリストを取得したいと思います。ありがとう。