問題タブ [libgit2sharp]
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.
git - LibGit2Sharp を使用して GIT コミット履歴を切り捨てる
私は LibGit2/LibGit2Sharp を使用する予定であり、したがって GIT を非正統的な方法で使用する予定です。API に詳しい人に、私が提案するものが理論的に機能することを確認するよう求めています。:)
シナリオ
master ブランチのみがリポジトリに存在します。大きなバイナリ ファイルと非バイナリ ファイルを含む多数のディレクトリが追跡され、コミットされます。バイナリ ファイルのほとんどは、コミット間で変更されます。ディスク容量の制限により、リポジトリには 10 個を超えるコミットを含めることはできません (現在、ディスクは頻繁にいっぱいになります)。
API が提供しないのは、指定された CommitId から始まるコミット履歴をマスター ブランチの最初のコミットまで切り捨て、結果としてぶら下がっている可能性のある GIT オブジェクトを削除する機能です。
ReferenceCollection.RewiteHistory メソッドを使用してテストしましたが、これを使用してコミットから親を削除できます。これにより、CommitId から HEAD に戻る新しいコミット履歴が作成されます。ただし、古いコミットと、それらのコミットに固有の参照または BLOB はすべて残ります。私の今の計画は、これらのぶら下がっている GIT オブジェクトを自分で単純にクリーンアップすることです。誰かがこのアプローチに何か問題を見ていますか、それともより良いものを持っていますか?
libgit2sharp - libgit2sharp: 同じキーで複数の値を設定する方法
config-key に複数の値を設定するにはどうすればよいですか? 一部のセクションでは、複数の値がサポートされています。
このようなものは gitLib2Sharp では機能しません:
libgit2 - libgit2 は自動的にリポジトリをパッキングします
LibGit2 にガベージ コレクション コマンドが表示されなかったので、ローカル リポジトリにファイルが自動的にパックされているかどうか疑問に思っていました。
libgit2 - git リポジトリのステータスを表す sha 値
現在の状態で git リポジトリの状態を表す sha 値はありますか?
git にこの sha 値がある場合、Object Database が更新され、参照が変更されるたびに更新される sha 値。
つまり、sha 値はリポジトリ全体の現在のバージョンを表します。
現在の参照のshaを計算するための私のコードは次のとおりです。Git レベルの API またはインターフェイスはありますか?
libgit2 - gitattributes で言語の差分規則を適用する方法
たとえば、 の.gitattributes
ファイルにlg2s
は次の行があります*.cs diff=csharp
。コードの出力
は(まもなく)
しかし、の出力git bash
は(まもなく)
2行目は同じではありません。
詳細な議論Add .gitattributes support
libgit2/#508があるように見えますが、PR Add APIs for git attributes
libgit2/#516はマージされていますか?
現在、サポートされている言語はいくつですか?
ファイルなしでルールを指定できgitattributes
ますか?
c# - C# libgit2Sharp でコミット時間を読み取る方法
libgit2Sharp を使用して、リポジトリ内のすべてのコミット、その作成者、およびコミットの日付をリストしようとしていますが、コミット オブジェクトには、コミットが作成された日時のプロパティがありません。
libgit2sharp プロジェクトのドキュメントは見つかりませんでした。公式ページには次のように書かれています。
簡単に言えば、現在、適切なドキュメントが不足しています。この件に関するヘルプは大歓迎です;-)
コミットの時間にアクセスするにはどうすればよいですか?
libgit2sharp - キャッチされた LibGit2SharpException が HTTP 401 エラーであることを確認する方法は?
無効な資格情報を使用して変更 ( RepositoryExtensions.Fetch ) をフェッチしようとすると、 LibGit2Sharpは次のメッセージでLibGit2SharpExceptionをスローします。
他のエラーがある可能性があるため、メッセージを解析せずに例外が実際に HTTP 401 エラーであることを判断する方法はありますか?
git - ファイルをコミットするときに、Libgit2 によって「NoMemory」エラーが発生するのはなぜですか?
Visual Studio 2013 をクライアントとして使用し、Visual Studio Online と Git を使用しています。
ファイルをリポジトリに追加しようとしていますが、それらをコミットすると、チーム エクスプローラー ウィンドウに次のエラーが表示されます。
誰もこれを見たことがありますか?