bi_naの日記

2012-01-31

subversionのリポジトリの作り方

リポジトリを作る

作る場所はどこでもよいが、

~/Documents の下にすることにする。

$ cd ~/Documents
$ svnadmin create my_repository

importする

~/Desktop/01_PROJECTにある

01_hoge というディレクトリを管理する場合

$ cd ~/Desktop/01_PROJECT/01_hoge
$ svn import file:///Users/ユーザ名/Documents/my_repository/trunk/01_hoge

このとき

my_repositoryの下に trunkや01_hogeというディレクトリなくてもよい


importメッセージ

importメッセージは vimかなにかで

1st import

でも入れておけばよい。


リポジトリができているかチェック

svn list file:///Users/ユーザ名/Documents/my_repository/trunk

importしたディレクトリsvnで管理されない

どいう仕様なのだろうかわからないのだが、

importしたディレクトリは管理されないので、別の場所でcheckoutしないといけない。

「え〜 おんなじところで管理したいんだけど....」

と思ったので、

ファインダーで別名にコピーしておいて(バックアップをとってから)、01_hogeディレクトリを消して

$ cd ~/Desktop/01_PROJECT/

で、

svn checkout file:///Users/ユーザ名/Documents/my_repository/trunk/01_hoge

したらうまくいったようだ。


あとは

あとは

$ svn status
$ svn status -u
$ svn update

$ svn ci

の繰り返し


参考

svn import



httpでアクセスできるようにする

Apacheの設定

LoadModule dav_svn_module libexec/apache2/mod_dav_svn.so 
LoadModule authz_svn_module libexec/apache2/mod_authz_svn.so
<Location /svn> 
        DAV svn 
        SVNListParentPath On
        SVNParentPath "/Users/ユーザ名/Documents"
        Allow from all
</Location>

SVNParentPathに与えているのはsvnのパスではなくてその親のパスである。

って今初めて、SVNParentPathって打って Parentって書いてるやんって思ってしまった...........


しかも、権限はひたすらあたえまくったほうがよいようです......

Apache再起動して

svn list http://あなたのIPアドレス/svn/my_repository/trunk/01_hoge

などで接続できることを確認しよう。


参考

Apache経由でSubversionレポジトリにアクセスする設定 - my-notebook

Subversion + Apache2.0 - いわずもがな

注意

この設定はセキュリティ的にはかなり甘いはずです。

ビジュアルモードで選択したものをcommandに渡すときはrangeみたい

参考

範囲指定可能なコマンドを定義する — 名無しのvim使い

Web開発周りのVimの設定 - Weblog - hail2u.net


書き方

引用

:function! Func() range
    :let tmp = @@
    :silent normal gvy
    :let selected = @@
    :let @@ = tmp
    :echo selected
:endfunction

:command! -range Func :call Func()

Perlの場合

command! -range コマンド名 :'<,'>!perl -S 作ったperlの名前

CSS覚え書き

text-indent

text-indent:-9999px;

テキストを見えないところにぶっ飛ばす方法。賛否両論あるとかないとか。


そもそも text-indentって?

text-indentは1行目のインデント幅を指定するプロパティ

インデントっていうのはプログラムのときに「インデントをあわせる」っていう風に使う。あのインデントのこと。


参考

text-indent−スタイルシートリファレンス


liに関して

liをfloatさせて横並びにする
ul li{
  float : left;
}

liはブロック要素なのでfloatで流して横並びにできる。


liのカーソル
cursor : pointer;

なら「指マーク」


liの先の点マークを消す
list-style-type: none;

1枚の画像でたくさんの要素に別々の画像を backgroundイメージにしてるように見せかける

background-image : url("./images/hoge.png");
width : 100px;
background-position:-200px 0;

厳密に言うと

background-positionのx軸に与える数字は、自分の表示したい画像がちゃんとくるように計算した値を書かないといけない。

y軸の方は、基本的に0だが、JavaScriptなどで色を変えるときなどは

下に色違いの画像をさらに用意しておいてy軸にさらにマイナスの値を与えて、色を切り替えたように見せ変えれる。


content

content : '';

clearfixで使われていた。

参考

content−スタイルシートリファレンス


text-align

名前に偽りあり、

textも揃えるが、インライン要素も揃える。

参考

text-align−スタイルシートリファレンス

vimでの折りたたみ

HTMLを折りたたみたくて

let g:xml_syntax_folding=1
au FileType html,xml,xhtml setlocal foldmethod=syntax
set foldlevel=100 "Don't autofold anything

とかを書いてみたんだけど、うまくいかない.......


zf

ビジュアルモードで

zf

すると折りたたまれる

zo

zo

で展開されるので、これでいこうかと思う。

vimでビジュアル選択したところをperlの標準入力に読み込んで加工した結果で置き換える方法

実行コマンド

ビジュアルモードで選択したあとで、

:'<,'>!/Users/user_name/.vim/perl_script/test1.pl

という感じで実行できる。


注意

はじめ r! にしていたらできず。

!にしたらできた.....


Perlのソース

/Users/user_name/.vim/perl_script/test1.pl

#!/opt/local/bin/perl
use strict;

my @c = <STDIN>;
my @d = map { "hoge" . $_ } @c; 

print $_ for @d; 

Perlのソースは、配列に入れたりできることを示すために、冗長に書いてある。


また、~/.vim/perl_scriptディレクトリは自分で作ってある。

test1.plには実行権限が必要である。

あとはこれを~/.vimrcなどでコマンドとして登録すれば、かなり柔軟な処理ができるに違いない。