タグ

ブックマーク / thinca.hatenablog.com (6)

  • commit --amend 時にコミットログの入力を省く - 永遠に未完成

    git commit --amend を使うと、直前のコミットでやり忘れた変更を付け足せるのでとても便利。 でも、多くの場合は変更部分に typo を見つけた場合とかファイルを追加し忘れていた場合などで、コミットログの編集を行うことはほとんどない。でも --amend をするとコミットログの編集用にエディタが立ち上がる。すぐに終了すればいいんだけど、エディタって場合によっては立ち上がるの遅いし必要ないなら立ち上がってほしくない。これを避ける方法。 git commit --amend -C HEADこれで OK。-C は既存のログメッセージを再利用するオプション。 私は以下のように alias を設定している。 cia = commit --amend -a -C HEAD私は -a を付けるタイプ。ここは好みで。 ついでに日時を更新する git commit --amend では、コミッ

    commit --amend 時にコミットログの入力を省く - 永遠に未完成
    craf
    craf 2012/07/19
  • C++ の罠にハマった話 - 永遠に未完成

    C++ 初心者の私がハマった罠なので、恐らく普段から C++ を書きまくってるベテラン C++er にとっては罠でもなんでもないかもしれないですが、些細なことでもいいので記録として残すことにしました。別にネタが欲しかったとかそういうんじゃないんだからね! とあるところに、こんな感じのクラスがありました。 class Foo { public: enum Result { OK, NG, }; Result process() { return OK; } }; ここで、process() の処理が長くなったので宣言と定義を分けることにしました。 class Foo { public: enum Result { OK, NG, }; Result process(); }; Result Foo::process() { return OK; } error: ‘Result’ does

    C++ の罠にハマった話 - 永遠に未完成
    craf
    craf 2011/08/09
  • Boost.勉強会 #4 に行ってきた - 永遠に未完成

    Boost.勉強会 #4に行ってきたよ。 正直に言うと私なんかが参加していいのか怪しいくらいレベル高かった。C++ むずい! その場で内容をきちんと理解するのは難しいと悟って、とりあえず雰囲気だけでも掴もうとがっつり聞いてた。ので、メモはあまり取ってない*1。 とりあえず後で見返せるように自分用に資料のリンクだけでも貼っておく。 「Boost Fusion Library」 - id:faith_and_brave @cpp_akira 発表資料: http://dl.dropbox.com/u/1682460/boost_study_meeting_4/boost_fusion.pdf 発表資料: http://www.slideshare.net/faithandbrave/boost-fusion-library 「C++プログラマの為のセキュリティ入門」 - id:wraith13

    Boost.勉強会 #4 に行ってきた - 永遠に未完成
    craf
    craf 2011/03/27
  • Vim プラグインの開発スタイルのお話 - 永遠に未完成

    Vim のプラグインって作ってる最中は Vim 自体の動作も不安定になりがちだし、普段の環境と同じ環境で作ってるとなにかと弊害が起きがち。ちょっとした変更ならまだしも、大規模な変更は 1 度の作業で終わらないこともあるし、作業中断して別のことをやることになったりするとさらに面倒。 または、VCS でプラグインを管理したくて、プラグインごとにリポジトリを独立したいけど環境分けるのが面倒だとか。 というわけで私が普段やってる Vim プラグインの開発スタイルを晒してみようと思う。 設定 私の vimrc には最後の方に以下の記述がある。 " Load settings for each location. augroup vimrc-local autocmd! autocmd BufNewFile,BufReadPost * call s:vimrc_local(expand('<afile

    Vim プラグインの開発スタイルのお話 - 永遠に未完成
    craf
    craf 2010/02/16
  • cmd.exe のコマンドラインの仕様を解析してみた - 永遠に未完成

    cmd.exe の引数の扱いがあまりにもカオスだったのでちょっと頑張って調べてみた。 来ならここは公式の資料に当たるのが正しいアプローチだと思うけど、どうしても公式の資料が見つからなかったので、色々試して推測してみることに。 断片的な資料は見付けたけど、完全じゃない。一応URL貼っておく。Windows Server 2003 のヘルプだけど、恐らくそんなに変わらないと思う。 コマンド シェルの概要 コマンド リダイレクト演算子を使用する なので、以下で述べる内容は間違いを含む可能性があります。というか正確さは一切保証されないのであしからず。 検証方法 以下のような引数をただ表示するだけの簡単な C のプログラムを用意した。仮に args.exe とでもしておく。 #include <stdio.h> int main(int argc, char const* argv[]) { in

    cmd.exe のコマンドラインの仕様を解析してみた - 永遠に未完成
  • Subversionで特定のディレクトリ以下の更新を無視する方法 - 永遠に未完成

    Subversion はリポジトリの一部をチェックアウトできる。ブランチやタグをコピーで実現する以上必須の機能で、昨今の分散型には見られない便利な特徴でもある。 それはそれとして、逆のことをしたいと思ったことはないだろうか。つまり、作業ディレクトリの特定のディレクトリ以下を無視したい。 追加や状態確認時に無視するのなら svn:ignore を使えばいい。そうではなくて、リポジトリには存在するけど個人的に用がなくてそこは見たくない場合。巨大なファイルがあったり、用もないのに頻繁に更新される場所は無視したいだろう。 そのやり方を紹介。 無視する TortoiseSVN 無視したいディレクトリを右クリックして、TortoiseSVN → 特定のリビジョンへ更新(U) ... → 「更新の深さ」で「除外」を指定して OK svn $ svn update --set-depth exclude

    Subversionで特定のディレクトリ以下の更新を無視する方法 - 永遠に未完成
  • 1