2011-01-05 6 views
3

私は最近、Herokuに似たGitデプロイメントワークフローを使ってEC2インスタンスを設定しましたが、HerokuがGitの受信後フックによって各行に 'remote:'が出力されないようにはできません。ポストレシーブフックの出力の各行にGitが 'remote:'を表示しないようにするにはどうすればよいですか?

マイEC2プロジェクト:

git push prod master 
Counting objects: 9, done. 
Delta compression using up to 2 threads. 
Compressing objects: 100% (5/5), done. 
Writing objects: 100% (5/5), 456 bytes, done. 
Total 5 (delta 3), reused 0 (delta 0) 
remote: 
remote: Receiving push 
remote: Deploying updated files (by resetting HEAD) 
remote: HEAD is now at bf17da8 test commit 
remote: Running bundler to install gem dependencies 
remote: Fetching source index for http://rubygems.org/ 
remote: Installing rake (0.8.7) 
remote: Installing abstract (1.0.0) 
... 
remote: Installing railties (3.0.0) 
remote: Installing rails (3.0.0) 
remote: Your bundle is complete! It was installed into ./.bundle/gems 
remote: Launching (by restarting Passenger)... done 
remote: 
To ssh://[email protected]/~/apps/app_name 
    e8bd06f..bf17da8 master -> master 

Herokuの:

$> git push heroku master 
Counting objects: 179, done. 
Delta compression using up to 2 threads. 
Compressing objects: 100% (89/89), done. 
Writing objects: 100% (105/105), 42.70 KiB, done. 
Total 105 (delta 53), reused 0 (delta 0) 

-----> Heroku receiving push 
-----> Rails app detected 
-----> Gemfile detected, running Bundler version 1.0.3 
     Unresolved dependencies detected; Installing... 
     Using --without development:test 
     Fetching source index for http://rubygems.org/ 
     Installing rake (0.8.7) 
     Installing abstract (1.0.0) 
     ... 
     Installing railties (3.0.0) 
     Installing rails (3.0.0) 
     Your bundle is complete! It was installed into ./.bundle/gems 
     Compiled slug size is 4.8MB 
-----> Launching... done 
     http://your_app_name.heroku.com deployed to Heroku 

To [email protected]:your_app_name.git 
    3bf6e8d..642f01a master -> master 

答えて

2

は、以下の2つの例(Herokuのプロジェクトから私のEC2のプロジェクトから1つずつ)を考えます

Herokuが "remote:"を上書きする端末制御コードを発行している可能性がありますか?各行にefix?何かのように"\e[1G-----> line"

+0

これは興味深い可能性があります。たぶん、彼らがすべてをインデントしたのかもしれない。 bashスクリプトでターミナルコードを使用する方法の素早く汚れた例を紹介していただけますか? –

+0

'echo $ '\ e [1G -----> line''はそのコードを出力するためにbashで動作するはずです。 –

+0

私のために完全に働いた。ありがとうございました! – bloudermilk

0

誰もがインデントする必要を避けるために$'\e[K'(行末まで消去)を利用しているようには思われません。

echo $'\e[1G\e[K'lineremote:文字列(実際にはgitクライアントによって出力され、フック自体は出力されません)を確実にするためにインデントを必要としない同じことが表示されます。

これは、Herokuが具体的にどのようにこの問題を解決するのかを説明していませんが、実際の問題とは思われません - むしろ、HerokuはOPを行う人の例として使用されているようです後であった。

関連する問題