問題タブ [rugged]

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.

0 投票する
1 に答える
831 参照

ruby - ファイルが変更された最新のコミットを取得する

当面の私の仕事は、特定のファイルが変更された最後のコミットのコミット ID を把握することです。ルビー/ラギッドを使用しています。私が思いついた唯一の解決策は、すべてのコミットを調べて、そのファイルのコミットに関連付けられたツリー内のファイルを検索し、そのファイル oid を最初の (最新の) コミットからのファイルの oid と比較することです。

これは機能しますが、非常に複雑なようです。「コミットで何が変わったのか」という情報を取得する簡単な方法があるはずです。同じことを達成するためのより簡単で簡単な方法はありますか?

0 投票する
2 に答える
106 参照

git - repo.path は、頑丈なレポを初期化して作成した後でも何も返しません

rugged..で以下のコードを使用してgitリポジトリを作成しました。

ただし、上記のコードを ruby​​ myfile.rb として実行すると、何も出力されませんでした。

0 投票する
1 に答える
800 参照

git - 頑丈な2つのコミットを比較する

頑丈な2つのファイルの違いを取得するためのドキュメントは見つかりませんでした。以下のコードを使用して、ruggedを使用してファイルをコミットしました

頑丈な同じオブジェクトの2つのコミットの違いをどのように確認できますか?

0 投票する
2 に答える
1813 参照

grit - 頑丈またはグリットを使用したgitプッシュの例

頑丈またはグリットのコード例を探しており、その方法を示していますgit push

バックグラウンド

レーキタスクがdeploy:stagingありdeploy:production、アプリのデプロイに使用しています。

私はherokuにデプロイしているので、これらのタスクは基本的に次のことを行います。

  1. 最新のタグを取得します(例git describe --abbrev=0) 。
  2. そのタグで表されるバージョンを指定されたリモートにプッシュします(例git push staging v1.00) 。
  3. バージョンをherokuconfigvarに保存します(例heroku config:add APP_VERSION=v1.00) 。

(プッシュする前に新しいタグを作成することを忘れていないことを確認するためのチェックもあります。)

当初、私はこれらのCLIコマンドにRakefileからのシステムコールを使用していました。次に、githeroku-apiのgemを使用するようになりました。

ただし、git gemは放棄されているようです(過去1年間はコミットされていません)。GritとRuggedは、Gitを操作するための標準的な宝石になっているようです。

残念ながら、ドキュメントが不足しているため、これらのライブラリのいずれかを使用してgitpushを実行する方法を理解できません。

(次の例では、プッシュ先のリモート/ブランチがオリジン/マスターであり、ローカルリポジトリでリモートとしてすでに設定されていると想定しています)

頑丈から始める:

今グリットのために:

どんな助けでも大歓迎です。

0 投票する
4 に答える
440 参照

ruby - rugged を使用して、git リポジトリにコミットされていない変更があるかどうかを確認するにはどうすればよいですか?

ruggedを使用して、コミットされていない変更が git リポジトリにあるかどうかを確認するにはどうすればよいですか?

コミットされていない変更があるかどうかをプログラムで判断するにはどうすればよいですか?

0 投票する
1 に答える
1217 参照

ruby - Rugged を使用してプログラムでコミットを作成する方法は?

Rugged ( libgit2の Ruby バインディング)を使用して、既存のリポジトリへのコミットをプログラムで作成しようとしています。Rugged READMEで提供されているドキュメントに従おうとしましたが、コードベースの現在の状態と完全には一致していないと思います。次のコードを実行しようとすると、エラーが発生し続けます。

現在発生しているエラーは、index.add行に問題があることを示しています。それは言いTypeError: wrong argument type nil (expected Fixnum)ます。

rugged で新しいコミットを作成する方法をよりよく理解するための助けをいただければ幸いです。

アップデート

を実行してに更新Rugged 0.16.0しました。上記で詳しく説明したコードは、現在動作しているようです。なぜ 0.16.0 で動作しなかったのかはわかりません。この人は、この回答で詳述したのと同じ問題を抱えているようです。Rugged 0.18.0.gh.de28323gem install --prerelease rugged

0 投票する
1 に答える
299 参照

ruby - Windows での堅牢なエラー

私が以下を実行したとき:

r = Rugged::Repository.new('<myrepopath>')

次のエラーが発生しました。

Rugged::OSError: The global/xdg file 'config' doesn't exist: The system cannot find the path specified.

どのように解決すればよいですか?

私はrugged 0.19.0Windows 7で使用しており、自分のマシンでruby -v出力しています。ruby 2.0.0p247 (2013-06-27) [x64-mingw32]

0 投票する
1 に答える
1979 参照

ruby - ruby rugged gemを使用してgitログデータにアクセスしますか?

git リポジトリ内の特定のファイルについて、ファイルが変更された最後のコミットの SHA とタイムスタンプを調べたいと思います。

コマンドラインでは、このデータは特定のファイル パスの git log で表示されます。

Ruby の「git」gem を使用すると、次のこともできます。

これは素晴らしいことですが、多くのパスをループすると、実行速度が遅すぎます。Rugged は代わりに C ライブラリを使用するため、高速になることを期待していましたが、Rugged 構文で正しいクエリを作成する方法がわかりません。助言がありますか?

0 投票する
2 に答える
2120 参照

ruby - Rugged - フェッチ、リベースのプルは可能ですか?

次の操作をruggedどのように実行しますか: fetchpullおよびrebase?

私はブランチを使用しており、クラスのガイドとしてここdevelopmentにあるドキュメントを確認した後。Remote

編集: sincegit pullは の単なる省略形でgit fetchありgit merge FETCH_HEAD、より良い質問はgit fetch、 、git mergeおよびの実行方法git rebaseです。

0 投票する
1 に答える
679 参照

libgit2 - SSH トランスポートを使用してリモートに接続する方法

リポジトリのoriginリモートに ssh URL があるようにします。したがって、次のコード:

上げRugged::SshError: Cannot set up SSH connection without credentialsます。

クラスがあり、のオプションを提供できるためrugged、SSH トランスポートをサポートしているようです。しかし、ソース コードで資格情報を提供する方法がわかりません。何か不足していますか?Rugged::Credentials::SshKey:credentialsRepository.clone_atRemote#connect

また、ssh 経由で接続できる場合、ssh-agent から資格情報を取得する方法はありますか? ssh libgit2-agent を照会できるようです。