2012-03-03 2 views
6

変更を開発から本番に移すために必要な作業の一部を自動化するRakeタスクを実装したいと思います(はい、私はCapistranoのようなものがあることを知っています。 。中心には、git add -iのようないくつかのインタラクティブなコマンドと一連のコミットとプッシュがあります。プロダクション側では、プルとアセットのタスクが実行されます。gitに最適なRuby APIは何ですか?

私は完全に自動化したいので、同じコマンドをすべて入力するのは面倒です。私が見つけていないのは Ruby API for Gitです。

は、これは、Windows 7の下で働くと、少なくとも次のコマンドを許可する必要があります:git addgit statusgit commitgit pushgit pull

+0

カピストラーノが多すぎる場合は、代わりにレーキを使用することを考えましたか? – zsquare

+0

さて、私は質問に答えてください:私はRakeタスクを実装したいと思っています...私が欠けている部分はRuby用の合理的なGit APIです。 – mliebelt

答えて

5

This oneのようです。あなたがGitHubにもっと関心があるなら、this oneを見たいかもしれません。

UPDATE:

Ruggedはそれがしばらく構築されていないためGemしかしそこに最新のもののようです。 Githubのソースを使用するのが最善でしょう。

+0

しかし、それはかなり古くなっています(2.5年は全く変わりません)。あなたの経験は何ですか? APIは合理的ですか?Windowsで使用しましたか? – mliebelt

+0

申し訳ありませんが、私の更新を見てください。私はそれらのどれも使用していないので、合理的なコメントに答えるのは難しいでしょう。 – ScottJShea

+0

いくつかの実験の後、[Git](https://rubygems.org/gems/git)は妥当と思われます。これは私の 'rails c'コンソールで動作し、私が望む機能を持っています。 – mliebelt

10

は、私は、悪い習慣を知っているが、私はこの週末の経験を文書化したいと思います:

  • https://softwareengineering.stackexchange.com/questions/62843/best-ruby-git-libraryにも同様の問題があることが名前を3つの関連候補:GitGritRugged
  • GitとGritはまだ開発されていませんが、Ruggedは現在開発中ですが、終了しません。
  • Gitは箱から出して動作しますが、いくつかの欠点があります。
    • が知られている欠点を(issuesを参照してください)。
    • 私は問題を抱えていました。追加されたアイテムと変更されたアイテムはうまくマッチしません.2つの状態のうちの1つにしかなりません(現在のところGitでは当てはまりません)。
    • APIは妥当で、コンソール、Rubyスクリプト、またはRakeタスクでうまく機能します。
  • グリットは私にとってはまったく機能しませんでした。その理由はわかりませんでした。私はスタックトレース(低レベルのもの)を取得し、Windows 7での使用に関連する可能性があるいくつかのパッチを試しましたが、成功しませんでした。
  • 頑丈な私のためにインストールすることはできませんので、私はfiled a bugいくつかのフィードバックを持って頑丈に。この問題は、POSIXシステムでのみ頑丈なので、RubyのDevKitではコンパイルできません。

Windows 7用のlibgit2.dllのコンパイル済みバージョンを見つけようとしています。それを使用しようとします。私はsqlite3.dllでそれを過去にしています。だから、おそらくそれが最善の試みです。私にとっては、そのプロジェクトの背後にいる人々がいるので、頑丈なソリューションが最も賢明です。クロスプラットフォームで動作するソリューションを提供することに興味があります。

1

2013年7月には、更新:

Ruggedは、現時点では最適なツールであるように見えます。それは積極的に維持されており、コアコミッターの大部分(すべて)がgithubで働いているように見えます。

gritが最も人気があり、githubの創始者の1人によって作成されていますが、5ヶ月間は触れられておらず、ほとんど活動していません。

詳細はRuby-Toolboxを参照してください。

関連する問題