2010年3月20日土曜日

現代メモ理論

どうも、Hyper 鬱ッティング処理が可能なQです、こんちには。

てかメインで使ってるPCが流石に駄目なんじゃないかと思い始めて来た。PenM1.7G、メモリ1.5Gではやはり色々としんどいものがある。まあノートPCなんでHDDの問題とかもあると思うんだけど、ちょっと頑張らせるとすぐに100%になるのはいかがなものか…


1.svn導入

svnなんて書くと本当に現代メモ理論って感じですね(笑)最近まで知らなかったのだが、svn等という超便利なversion管理、ファイル共有ソフトがあるらしい。
これでも一応プラネタリウムとか趣味の関係でそこそこのデータ量を持っているので、PCがお亡くなりになられると結構悲惨。年数回くらいのペースでDVDとかに焼いていたんだけど、ぶっちゃけ

”超”

メンドクサイ。

と言うわけで折角サーバー立ててあるんだし、昨日あたりから導入してみた。

CentOSは特に標準でsvnが入ってるので特にインストール作業は必要ない(仮に無くてもyumで手に入る)。

サーバー側
レポジトリ(ファイルを保存しておく領域)を作る。

mkdir レポジトリ用ディレクトリ
cd レポジトリ用ディレクトリ
svnadmin create ./

これでこのディレクトリはレポジトリとして機能する。



クライアント側
(windowsはTortoiseSVNという便利なGUI環境がある)

既に存在しているレポジトリに参加する場合
まずディレクトリを作る。
windowsではその作ったディレクトリの中でチェックアウトを実行すればOK
Linuxでは作ったディレクトリの中で
svn co svn+ssh://<ユーザー名>@<サーバー名>/<取得したいディレクトリのパス> ./
とすればOK
これでこのディレクトリはレポジトリと同期する。
このレポジトリからクライアントPCに、"同期情報を持ちながら"ファイルを持ってくる作業をチェックアウトという。同期情報を持たず、つまりレポジトリに参加するのではなく単なるダウンロードを行う場合はエクスポートという。(完成版の出力やファイルの二重化を行う場合に使うらしい)

クライアントにあるファイルをレポジトリ化する場合
いくつか方法はあるだろうが僕はこうやった。
まずサーバーに空のレポジトリをつくる。
次にレポジトリ化したいファイルがあるディレクトリに移動し、空のレポジトリに対しチェックアウトを実行する。(ファイルをとりあえずレポジトリに参加させる)
レポジトリ化したいファイルに対し追加を実行する。
(Linuxではsvn add <ファイル名>を実行する。まあ大抵は*なんじゃないかと思う)
最後にサーバーに、ファイルに変更があったとして通知、アップロードする。
(Linux ci *とかでOK。環境変数EDITOR=emacsとかviが事前に作っておく必要あり。エディタファイルが開くので、--この辺から無視--とか書いてある部分の上の業に当該ファイルの情報をカット&ペースト、終了でいける)
このファイルに変更があったとして通知、アップロードする作業をコミットという。同期せず単なるアップロードを行う場合はインポートという。

詳しいことは良く分からんけど、なんか変更を加えたらとりあえずコミットしておけばOK。

(windows)
サーバーと同期するのはやめるときは、同期している最上位のディレクトリで
for /R %i in (.svn) do rd /Q /S "%i"
を実行すると、全ての.svnファイルが削除される。これでOKっぽい。
また、コミットされているファイルを削除したり名前変えたりする場合は、当該のファイルで右クリックしてTortoisSVN⇒削除とかを選ぶ。

(linux)
linuxでは
svn rm ファイル名

いずれも実行した後はコミットを行う。





2.mas
milli-arc-secondの略。星の位置を表す単位の一つでミリ秒角のことらしい。






僕一人
svnで
どうするの?

0 件のコメント:

コメントを投稿