問題タブ [objective-git]
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 - libgit/objective-git のリポジトリ内のファイルのリストを取得するには?
Objective-gitまたはlibgit2を使用して Git リポジトリ内のファイルのリストを取得したい
私が今していることは、コマンドライン ツールを呼び出して(または、同じ結果が得られる)git
の出力を解析することです。たとえば、git ls-files
git ls-tree --name-only -r HEAD
libgit2 が提供するダイレクト API を使用したいと思います。Objective-git の-[GTTree enumerateContentsWithOptions:error:block:]
方法を試してみましたが、列挙された GTTreeEntry オブジェクトは名前を提供するだけで、それらがどのサブディレクトリにあるのかわかりません。
objective-c - Objective-Git マージ
Objective-Git を使用しています。次の方法が機能しません。
エラーは返されませんが、返されたインデックスは空です。インデックスが存在していても、すべての属性は nil です。マージ操作は行われません。マージを試みた結果のインデックスを取得できないため、ツリーを書き出すことができません。
目的の git を使用してマージを成功させた人はいますか? ヘルプ!
objective-c - libgit2 でプル (フェッチ & マージ)
私はobjecitive-gitとlibgit2を使ってプル機能を実装しようとしています。asgit pull
は単なる「磁器」コマンドであり、その後にgit fetch
続くgit merge origin/master
then で構成されており、それが私がそれを実装した方法です。
フェッチは、github のフェッチ ブランチから object-git のメソッドを使用して実行されます。
以下のコードは、フェッチ後に実行されるものです (成功することがわかっています)。
mergedIndex
メモリ内で始まる がツリーとしてディスクに書き込まれた後( writeTreeToRepository
uses git_index_write_tree_to
)、git repos ステータスに変更はありません。新しいツリーを HEAD にするか、HEAD などとマージするための最後のステップが欠けていると思いますが、正確にはわかりません。
どんな助けも大いに義務付けられます。
objective-c - libgit2 でファイルのステージングを解除する
Objective-git と libgit2 を使用すると、コミットの準備が整ったファイルをステージングするのは非常に簡単です。
ただし、ファイルのステージングを解除するのは少し難しいことがわかっています。単にリポジトリのインデックスから削除しても、git はファイルが削除されたと判断するため機能しません。これは理にかなっています。私がする必要があるのは、インデックスのインデックス エントリをステージング前のものに変更することです。
diff を使用して古い diff デルタを取得し、そこから a を作成git_index_entry
して挿入して、次のことを試みました。
ただし、これにより git インデックスが破損した状態のままになり、git コマンドで致命的なエラーがログに記録されます。
libgit2 を使用してファイルのステージングを解除する正しい方法は何ですか?
rubymotion - RubyMotion に libgit2 を含める
object-git を ruby モーションとして含めようとしています。客観的な git サイトの要件を、OS X の ruby モーション アプリに必要なものに翻訳するために最善を尽くしました。これが Rakefile です。objective-git はベンダーにあるサブモジュールです。
エラーは次のとおりです。
swift - Objective-git を使用した Swift: 「createCommitWithTree」のオーバーロードは、これらの部分的に一致するパラメーター リストとともに存在します。
Objective-git を Swift で使用していますが、GTRepository.createCommitWithTree メソッドをコンパイルできません。
このメソッドは、オプションで author : GTSignature および committer : GTSignature パラメーターなしで呼び出すことができます。
私は Swift と関数のオーバーロードが初めてです。コンパイルできるようにこれを構造化する方法を知りたいです。
私のコードは、objective-git メソッドで指定されたすべてのタイプを使用します。
このコードでは、コンパイラはこれらの型の引数リストを使用してメソッドを呼び出すことはできません。コンパイラは追加情報を提供します: 「'createCommitWithTree' のオーバーロードは、これらの部分的に一致するパラメーター リストと共に存在します: (GTTree、メッセージ: 文字列、作成者: GTSignature、コミッター: GTSignature、親: [AnyObject]?、updateingReferenceNamed: 文字列?)、(GTTree、メッセージ: 文字列、親: [AnyObject]?、updateingReferenceNamed: 文字列?)"
上記の型を使用するようにリファクタリングすると、コンパイラは「メンバー 'createCommitWithTree' へのあいまいな参照」でコンパイルされません。
これをコンパイルするにはどうすればよいですか?
ありがとう