月別アーカイブ: 2012年6月

サブコマンド版git-nowのmsysGit用インストールスクリプト書きました

みんな大好きgit-nowのサブコマンド版、「メモ:git-nowとgit-masterのURL « be free」ではmakeが必要そうということで導入を見送っていましたが、腰を据えてやり直してみたら案外簡単にmsysGitに組み込むことができました。

ただ、相変わらずmsysGit用のインストールスクリプトがなかったため自分ででっちあげることにしました。その成果物を人生初のPull Requestしたところ、無事masterに取り込まれたようです。

 

Pull Request #4: Create install script for msysgit by masaru-b-cl · iwata/git-now · GitHub

 

公式のREADMEも修正してありますので、インストール時はそちらを参考にしてください。

簡単に言うと、用意したcmdファイルを実行すれば、msysGitへのクリーンなgit-flowインストール手順 « be freeで書いたようにパスの通った~/binディレクトリにコピーします。

(なお、git-now本体もmsysGitだとうまく動かない個所があったので手を加えています。)

 

msysGitのみんなも、これで快適git-nowライフを!

(ただ、git-now-fixupは公式にはない)

広告

msysGitへのクリーンなgit-flowインストール手順

Gitを用いた効果的なブランチ運用方法である「A successful Git branching model」をサポートするツールとして、git-flowというものがあります。

msysGitにも対応したインストールスクリプトが付いていてインストールも簡単なのですが、一点だけ気になる点があります。それは既定で「%Program Files%\Git」に入れなければならない設定になっている、ということ。

本来プラグインであるはずのプログラムが本体のフォルダを汚すのには少し抵抗があったので、Git Bashのホームディレクトリ($Home、~。Windowsの%UserProfile%が既定で設定される)の下のbinフォルダにインストールする方法を試行錯誤してみた結果を紹介します。

 

前提知識

実際にインストールする前に、前提知識として「Git Bash実行時、~/binには自動的にパスが通っている」ということを覚えておいてください。

私も調べるまで知らなかったのですが、上記の設定がされていることで、導入したいツールがあればとりあえず~/binに置けば動きます。

 

インストール手順

手順1:~/binディレクトリを作成する

msysGitインストール直後は~/binフォルダはありませんので、以下のコマンドで作成しておきます。

 

$ mkdir ~/bin

 

手順2:getopt.exe、libintl3.dllを~/binディレクトリにコピーする

公式GitHubのドキュメント(Windows · nvie/gitflow Wiki · GitHub)にも書いてあることですが、msysGitでgit-flow(正確にはその内部で使用しているshFlags)を動かすには、追加の実行ファイル、ライブラリが必要です。

これらを上記リンク先文書に従いダウンロードして~/binディレクトリにコピーしましょう。

 

手順3:インストールする

ここまででインストール準備は整いましたので、あとはインストールスクリプトを次のように実行します。

 

C:\pathtogitflow> .\contrib\msysgit-install.cmd %UserProfile%

 

以上の手順で無事git-flowがインストールされました。実際に使ってみましょう。

 

$ git flow init -d
Initialized empty Git repository in c:/Users/takano-s/gitrepos/testrepos/.git/
Using default branch names.
No branches exist yet. Base branches must be created now.
Branch name for production releases: [master]
Branch name for "next release" development: [develop]

How to name your supporting branch prefixes?
Feature branches? [feature/]
Release branches? [release/]
Hotfix branches? [hotfix/]
Support branches? [support/]
Version tag prefix? []

 

無事動作していることが確認できました。

 

なお、~/binディレクトリへは、例えばgit-nowなどの追加コマンドや別途makeなどのLinuxツールを入れたりも出来ますし、そのまま他のマシンにコピーするだけで環境を再構築できるので、お勧めです。

ViewState無効時、先頭以外の項目を選択すると必ずSelectedIndexChangedイベントが走る

タイトルの様な挙動に気づくまでしばらくはまったのでメモ。

 

検証コード

 

動作確認

初回表示

image

 

それぞれ”F#”を選択してポストバック

image

 

そのままもう一度ポストバック

image

 

ASP.NET Webフォームの仕組みを考えれば当たり前といえば当たり前なのですが、なるべくViewStateは使わないようにする方向で進めるとここは落とし穴ですねぇ。

確認してみたら、MSDNライブラリにもちゃんと書いてありました。

ListControl.SelectedIndexChanged イベント (System.Web.UI.WebControls)

メモ メモ

このイベントが正常に動作するためには、サーバーへのポスト間でリスト コントロールがいくつかの値を永続化する必要があります。 リスト コントロールでビューステートが有効になっていることを確認してください。

GistSharpExtensionが窓の杜で紹介されました

窓の杜 – 【REVIEW】編集中ファイルを“Gist”で公開できるVisual Studio拡張「GistSharpExtension」

 

というわけでいつの間にか紹介されてました。

レビューの中には出てきてませんが、GitHubのアカウント情報はVSのオプションで事前に登録しておくことが可能です。

 

 

ぜひコードの共有にご活用ください。

 

あと、姉妹品のCreateNewGist.exeもよろしく!

GistSharpExtension:Visual Studio 2012 RCへ対応しました

GistSharpExtension

VS2012の拡張機能マネージャー(名前が「拡張機能と更新プログラム」に変わってますね。)に表示されるようにしました。

 

image

 

オプションでのGitHubアカウント情報登録など、VS2012RCでもそのまま問題なく使えることを確認しました。

VS2012RCでもぜひお試しください。

Desktopアプリ用のVisual Studio 2012 Expressはリリースされるらしい

こちらのtwitter経由で知りました。

Visual Studio Express 2012 for Windows Desktop – The Visual Studio Blog – Site Home – MSDN Blogs

Today, I’m happy to announce that we will add Visual Studio Express 2012 for Windows Desktop to the Visual Studio 2012 family. This will bring to the Visual Studio Express family significant new capabilities that we’ve made available in Visual Studio 2012 for building great desktop applications.

ちゃんとVS2012 Expressに”for Desktop”が追加されるって書いてありますね!

With this new Express edition, developers will be able to use C++, C#, or Visual Basic to create Windows desktop and console applications.

あと、どうやらこれまで言語別だったExpressが対象プラットフォーム別になるということみたいですね。これは結構うれしいかもしれない。

(でも、F#はハブられてる・・・)

Planned for release in the fall, Visual Studio Express 2012 for Windows Desktop will provide a great learning environment for students and other new developers getting started.  It will enable a friction-free solution for existing developers to bring their desktop apps forward with the latest toolsets.  And it will enable developers working on open source applications to target existing and previous versions of Windows.

ってことで、秋にはリリースされるのかな?

 

非常に待ち遠しいですね!