Kenichi Maehashi's Blog
脳内コアダンプ

Redmine のテーマ
Wednesday | June 26, 2013
Redmine のテーマ を変えてみました。今まで farend basic を使っていたのですが、こちらの方がちょっとオシャレ感がありますね。

公式サイトに掲載されていた Theme List の一番上にあった、A1 というテーマです (全部見る気力がなかったので…)。他におススメがあれば教えてください。
コメント (0)

git: リポジトリ内の全コミットを 1 コミットに squash したい
Monday | June 3, 2013
git rebase -i で squash を使うとコミットを結合することができますが、リポジトリ内の最初のコミットは squash することができません。
現在のインデックスをそっくりそのまま "initial commit" だったことにする (つまり、リポジトリ内のコミットを "initial commit" だけの状態にする) 方法は以下の通り。

1. .git/HEAD をエディタで以下のように編集して、作業用ブランチ master2 をポイントする (master2 は既存のブランチ名と衝突しないように命名する)。
ref: refs/heads/master2

2. 最初のコミットをあらためて作成する。(作業用ブランチが作成される)
git commit -m "initial commit"

3. master ブランチを今のコミットで上書きしてから、作業用ブランチを削除する。
git branch -f master
git checkout master
git branch -d master2

何度かやっているのに、いつも忘れてしまうのでメモ。

追記 (2014/04/12): git 1.7.2 以降では、git checkout --orphan というオプションが実装され、上記の操作は不要になりました。
コメント (0)

Shell Script: 標準入力がターミナルかパイプかを判定する
Saturday | May 25, 2013
標準入力のコンテキスト (コンソールなのか、パイプに繋がっているのか) を見て振る舞いを変えたい場合は、tty コマンドを使うと判定できます。
#!/bin/sh

if tty -s; then
echo "Terminal"
else
echo "Pipe"
fi

実行結果:
% ./test.sh 
Terminal
% echo foo | ./test.sh
Pipe
コメント (0)

サーバメンテナンスのお知らせ
Sunday | May 19, 2013
サーバメンテナンス作業のため、下記の時間帯、全てのサービスが断続的に停止いたします。ご協力のほどよろしくお願い致します。

2013/05/19(日) 10:30 PM ~ 2013/05/20(月) 01:00 AM (JST)

追記: 上記メンテナンス作業は完了いたしました。
コメント (0)

僕にも優しいファイルのパスコピー (for Windows)
Friday | May 3, 2013
htakayuki さんが Outlookに優しいファイルのパスコピーという記事を書かれていて、素晴らしかったのでご紹介を兼ねて。

僕の場合、NAS をネットワークドライブとしてマッピングしていることが多いので、メール貼付用にパスをコピーするときは元の UNC パスに展開してくれると嬉しいなぁと思ってちょっと手を入れてみました。
@echo off

call :get "%*"
call :display %DIRECTORY% %FILENAME%
goto :eof

:get
set DIRECTORY="%~dp1"
set FILENAME="%~nx1"
for /f "usebackq tokens=1*" %%i in (`net use %~d1 2^>nul ^| findstr "\\"`) do (
set DIRECTORY="%%j%~p1"
)
goto :eof

:display
echo ^<%~1^>
echo %~2
goto :eof
元々 2 行だったはずなのですが、スペースの入ったファイル名とかを考慮するとこうなってしまうというコマンドプロンプトのダークサイドがつらい。

(追記) GitHub に置きました。
コメント (0)


<< 前ページ[1]

トップページに戻る
Copyright © 2006-2021 Kenichi Maehashi, All Rights Reserved.