Mercurial, mercurialで開発したい

そんなわけでサクサクっとね。

osxならMacPorts、CentOSとかならyumで入れられるっぽい。

sudo port install mercurial
sudo yum install mercurial

colordiffを使ってhg diffとかに色つけておきます。

vi ~/.hgrc
[ui]
username = runeleaf
editor = /Applications/vim-app/vim

[defaults]
cdiff = -q

[extdiff]
cmd.cdiff = colordiff
opts.cdiff = 

[extensions]
hgext.color =
hgext.extdiff =
color =

[color]
status.modified = green bold underline
status.added = magenta bold underline
status.removed = red bold blue_background
status.deleted = red underline
status.unknown = blue bold
status.ignored = black bold

diff.diffline = none
diff.extended = cyan bold
diff.file_a = red bold
diff.file_b = green
diff.hunk = yellow bold
diff.deleted = blue bold
diff.inserted = green bold
diff.changed = white
diff.trailingwhitespace = bold red_background

早速試す。

mkdir test
hg init
touch README
hg add README
hg ci -m 'add'

ブランチの一覧

hg branches
default

現在のブランチ

hg branch
default

ブランチをつくる

hg branch hoge
hg branch
hoge
touch hoge.txt
hg add hoge.txt
hg ci -m 'hoge' hoge.txt
hg branches
hoge                           7:b2f824c55a16
default                        5:81220be8f479 (非アクティブ)

ブランチ切り替え

hg update default
hg branch
default

簡単ですなー

Subversion, svn statusにもcolorをつけたい

gitとかmercurialでは色がつくのに、svnだと色がつかないのが気になって気になって・・・

http://colorsvn.tigris.org/

tar zxvf colorsvn-0.3.2.tar.gz
cd colorsvn-0.3.2
./configure
sudo make && make install
cp /etc/colorsvnrc ~/.colorsvnrc
vi .zsh/mine.zsh
alias svn=colorsvn

自分のホームに設置した.colorsvnrcで他の色に変更できるので、自分がわかりやすく編集しておくといいよ。

Tumblr, Firefoxとvimperatorでもういいよね

http://d.hatena.ne.jp/voidy21/20090911/1252700209

こちらの記事を参考にして、格段に使い易くなった!!

TomblooとGreasemonkeyはもう導入してあるので、以下を入れました。

Minbuffer
http://userscripts.org/scripts/show/11759

AutoPagerize
http://userscripts.org/scripts/show/8551

LDRize
http://userscripts.org/scripts/show/11562

Dashboard + Tombloo



This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters


// ==UserScript==
// @name Dashboard + Tombloo
// @namespace http://d.hatena.ne.jp/Constellation/
// @description register reblog command by Tombloo
// @include http://www.tumblr.com/dashboard*
// @include http://www.tumblr.com/show*
// @include http://www.tumblr.com/iphone*
// ==/UserScript==
//
// Detail : Pinned-node Reblog
// Pinned-node Local Download
//
// Command: Tombloo::Reblog
// Tombloo::Local
//
//
function boot(ev){
if(ev) window.removeEventListener('GM_MinibufferLoaded', boot, false);
var tombloo = GM_Tombloo.Tombloo.Service;
var win = unsafeWindow;
var doc = document;
var Minibuffer = window.Minibuffer;
var $X = Minibuffer.$X;
[
// Tombloo Reblog
{
name : 'Tombloo::Reblog',
command : function(stdin){
stdin.forEach(function(node){
var ctx = update({
document : doc,
window : win,
selection : '' + win.getSelection(),
target : node,
event : {},
title : null,
mouse : null,
menu : null,
}, win.location);
var ext = tombloo.check(ctx)[0];
tombloo.share(ctx, ext, false);
Minibuffer.status('Tombloo::Reblog'+node.id,'Reblog',100);
});
return stdin;
}
},
// Tombloo Local Download for Photo Post
{
name : 'Tombloo::Local',
command : function(stdin){
stdin.forEach(function(node){
var target = $X('descendant::img[contains(concat(" ", normalize-space(@class), " "), " image ") or contains(concat(" ", normalize-space(@class), " "), " photo ")]',node)[0] || null;
if (!target) return;
var ctx = update({
document : doc,
window : win,
selection : '' + win.getSelection(),
target : target,
event : {},
title : null,
mouse : null,
menu : null,
onImage : true,
}, win.location);
var ps = tombloo.extractors.Photo.extract(ctx);
ps = update({
page : ctx.title,
pageUrl : ctx.href,
}, ps);
Minibuffer.status('Tombloo::Local'+node.id,'Download', 100);
GM_Tombloo.Local
.post(ps)
});
return stdin;
}
},
].forEach(Minibuffer.addCommand);
[
{
key : 't',
description : 'Reblog by Tombloo',
command : function(){
try { var stdin = Minibuffer.execute('pinned-or-current-node') }catch(e) {}
Minibuffer.execute('Tombloo::Reblog|clear-pin',stdin);
}
},
{
key : 'd',
description : 'Download by Tombloo',
command : function(){
try { var stdin = Minibuffer.execute('pinned-or-current-node') }catch(e) {}
Minibuffer.execute('Tombloo::Local|clear-pin',stdin);
}
}
].forEach(Minibuffer.addShortcutkey);
function update(t, s){
for(var p in s)
t[p] = s[p];
return t;
}
}
if(window.Minibuffer){
boot();
} else {
window.addEventListener('GM_MinibufferLoaded', boot, false);
}

vimperator plugin
http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/tombloo.js
http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/refcontrol.js
http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/ldrize_cooperation.js
http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/hint-tombloo.js

だいたい使うコマンドは、

ダッシュボード上で、
移動 j k
ピン立て p
立てたピンをリブログ ,t

あとは、;Rとか:tomblooコマンドでどうにでもなる!

すごい!