gitのコマンドを追加する

Standard

Hacker NewsでGit Todayっていうスクリプトの話があがってて、チームで開発するときは使えるなーと思って見てたんだけど、git-todayってスクリプトを”git today”ってコマンドで実行してることの方にうほ!ってなった。gitはPATHの通ってるとこにgit-xxxってスクリプト置いとくと”git xxx”ってコマンドで実行できるらしい。うわなんておいしそうなのそれ。。
 
ということで

  • cd ~
  • mkdir .gitscripts
  • cd .gitscripts
  • wget http://gf3.ca/2011-08-25-git-today/git-today
  • echo ‘export PATH=”$PATH:$HOME/.gitscripts”‘ >> ~/.zshrc
  • source ~/.zshrc

 
これで

  • git today -u bugcloudisco@bugcloud.com -s “3 days ago”

みたいにできる

[git]+[gitosis]+[gitweb]on[Cent OS][Ubuntu]

Standard
[git]+[gitosis]+[gitweb]on[Cent OS][Ubuntu]

今日の作業ログ
 
 
前提
 
gitを使ってソースのバージョン管理を行う際の運用フローは以下とする。

  1. 新たなプロジェクトが立ち上がった際、プロジェクトメンバーは自分の公開鍵をgitosis管理者へ送付する。
  2. gitosis管理者はプロジェクト用のgit公開リポジトリをサーバ上に作成。必要であればgitosisの設定を変更する。(グループの追加、メンバーの追加/削除など)(後述)
  3. メンバーは新に作成された公開リポジトリからclone(checkout)、編集(ローカルへcommit)、push(サーバ上のリポジトリに反映)する。

Continue reading

[memo][git][cygwin]cygwin+gitkでハマった。

Standard
[memo][git][cygwin]cygwin+gitkでハマった。

1時間以上かかってしまった。。。
以下メモ。
 

cyg-aptインストール

そもそも gitk が入ってなかったのでそこから。cygwinのSetup.exeからパッケージをインストールっていうのはテンション下がりまくるので、apt-get風(あくまで風)の”cyg-apt”というパッケージマネージャをインストールした。ココを参考にしました。
 
 

  • cd /usr/local/bin
  • wget http://www.xs4all.nl/~jantien/software/cyg-apt
  • vim cyg-apt

 
以下のように修正

@@ -22,7 +22,7 @@
 if 'ABI' in os.environ.keys ():
        ABI = os.environ['ABI']

-root = '/cygwin'
+root = '/cygdrive/C/cygwin'
 NETREL = '/netrel'
 EXTRA = NETREL + '/extra'
 # PATCH = NETREL + '/patch'
@@ -31,8 +31,8 @@

 os.environ['PATH'] = NETREL + '/bin:' + os.environ['PATH']

-mirror = 'ftp://mirrors.rcn.net/mirrors/sources.redhat.com/cygwin'
-mirror = 'http://mirrors.rcn.net/pub/sourceware/cygwin'
+mirror = 'ftp://ftp.jaist.ac.jp/pub/cygwin'
+mirror = 'http://ftp.jaist.ac.jp/pub/cygwin'

 
※リンク先には「cyg-apt用のsetup.iniを/etc/setupディレクトリの下に用意~」とあるけど、ここんとこを飛ばしてみた。インストールできたけど、「cygcheck gitk」で”gitk見つからない”って言われるのはそのせい?よくわかりません。
 
 
スクリプトの修正が終わったら

  • cyg-apt setup
  • cyg-apt udpate

 
“cyg-apt” でコマンドの使い方が出てくる。
 

gitkインストール

  • cyg-apt install gitk

 
ここでとりあえず叩いてみる

  • gitk
  • /usr/bin/sh: /usr/bin/wish: No such file or directory

 
あん?
 

gitkの修正

ハマったし。シンボリックリンク貼ってみたりしちゃったし。
/bin/gitk を以下のように修正すればOKだった。
 

@@ -1,7 +1,7 @@
 #!/bin/sh
 # Tcl ignores the next line -*- tcl -*- \
 argv0=`cygpath --windows --absolute "$0"`; \
-exec wish "$argv0" -- "$@"
+exec wish84 "$argv0" -- "$@"

 
 
VMwareでubuntu動かせれば楽なのになー。低スペックPCで仕事なんてストレス溜まるー!黒いパーカーで会社行っちゃうよ、そのうち。
 

 

error: unable to create temporary sha1 filename ./objects/5: File exists

Standard
error: unable to create temporary sha1 filename ./objects/5: File exists

わきげさんとやってるプロジェクトで git push したときにこんなエラーが出た。
 
error: unable to create temporary sha1 filename ./objects/5: File exists
 
この記事とまったく同じエラー。あれ、昨日までpushできてたのに。
 
公開リポジトリの下の .git/objects/ 配下を見てみると”5″っていうファイルはあって、自分に書き込み権限がない状態だった。???わきげさんに聞いたら、公開リポジトリの.git/ 配下は特に触ってないらしい。????????結局、.git/ 配下の権限が変わってしまった原因がわからず未解決で放置。
 
とりあえず公開リポジトリをもう1回 clone して修正した後 push したらできたんだけど、なんかすっきりしないなー。原因を解明したい。
 
 

 
 
 

Cover image is not found
amazon.co.jpで詳細情報を見る


Bob & Alice

Standard
Bob & Alice

ここ何日か昼ご飯食べた後に散歩してます。色白だと産毛が目立ってビミョーにかっこ悪いんじゃないか疑惑に苛まれたので。芝公園近くでお仕事してる人、地井会つくりましょう。
 
 
わきげさんと開発をすることになりました。せっかくなのでGitを使いこなせるようになろうってことで、そうめん生活と同時にGitはじめました。SSH使ってわきげさんちのサーバに公開リポジトリを作ってもらったんですが、cloneてなんかダウンロード早くないですか?気のせいかな。
 
アリスとボブのサーバー、git pushをちゃんと理解したい!
 
を見ながら共同作業のやりかた初歩を習得しました。すばらしいですね。虜です。「ボブもたまには間違うのね!」アリスはきっとめちゃくちゃかわいい顔してると思う。
 
 
で、今日はGitの話じゃなくてw
Ubuntu on VMware と windows間のファイル(フォルダ)共有。msysgitはなぜか知らんけど、cloneが一晩経っても終わらなかったので、VMwareで起動したUbuntu で Gitコマンド叩いて、開発はホストOSのwindow上でNetBeans 使ってやるっていう方法を採用してみました。
 
Windows Home Edition SP3
VMware(R) Player 2.5.2
Ubuntu 8.04 LTS
 
ホストOS/ゲストOS間のファイル共有で若干はまったのでメモ。
“ubuntu window vmware ファイル共有”なんかでググれば情報は大量にでてくるけど、1からインストールするときはココ通りにやってやるのが一番簡単な気がします。ほぼリンク先通りでいけるんですが、一点だけ補足。自分の環境だと、sambaインストールして
「Public」フォルダ右クリック
 → 「Sharing Options」
  →  「Share this forlder」および「Allow other people to write in this folder」にチェックを付け, 「Create Share」をクリック
の後に、windowsの「ネットワークドライブの割り当て」から「参照」ボタン押したら”public”がマイネットワークにでてこなかった。アクセス権のグループをsambashare変えてやると解決した。GUIで変更するときは、Ubuntu側で共有設定したフォルダを右クリック、プロパティ
 → アクセス権タブの”グループ”を確認(sambashareでない場合sambashareに変更)
 
screenshot

screenshot

 
 

2009/08/22 追記

↑はたぶんめちゃくちゃウソでした。。。
「マイコンピュータ → ネットワークドライブ割り当て → 参照」
で、ゲストOS上で共有設定したフォルダがでてこないからうまくいってないんだと思ってたけど、ただ時間がかかってただけみたい。「参照」ボタンを押さずに「フォルダ」に”\\Ubuntu-vm\public(共有設定したディレクトリ)”を入力してやればOK
 
 

Technorati Tags: