Friday, March 14, 2014

SVN メモ

■SVNでチェックアウトするが,ファイルなどをダウンロードせずに,Workspaceだけを作成したい場合は:

$ mkdir local_workspace
$ svn checkout --depth=empty http://somewhere/  local_workspace

■ある階層でDirectoryのリストだけ作成,ファイルをダウンロードしない
$ svn update --set-depth immediates trunk/src/ : create only folder structure like trunk/src/

■特定のDirだけをチェックアウト

$ cd local_workspace
$ svn update --set-depth infinity  ./dir1
$ svn update --set-depth infinity  ./dir2

■リポジトリの移動

Dumpして,新しリポジトリの場所で展開

% svnadmin dump /repos_path > repos_dump.dat

% mkdir /new_repository
% svnadmin create /new_repository

% svnadmin load /new_repository < repos_dump.dat

Finish! : )

Thursday, February 20, 2014

robocopy

Copy from C:\Dir1 to D:\Dir2

robocopy C:\Dir1  D:\Dir2 /mir

よく使うオプション:

/mir : mirror
/Z : copy files in restartable mode
/B : copy in backup mode

/XD file [file] : exclude files. Ex: /XF *.log *.iso
/XF dirs [dirs] :exclude directories. Ex: /XD C:\windows D:\temp

/LOG:file  : output status to LOG file (overwrite existing log)
/LOG+:file : output status to LOG file (append to existing log)

/NP : no progress
/NDL : no directory list  - don't log directory names


/R:n : number of retries on failed copies (default 1 mils)
/W:n wait time between retries  (default 30s)

/TEE: output status to console window as well as the log file

Friday, January 31, 2014

CMake 関連メモ

CMakeはなかなか気に入っています.しかし,説明資料などが少ない.忘れないためにここにメモを残すことにする

cmake-guiを使わずにコマンドライン,バッチorシェルから操作する.まず明確にする必要があるのは
  1. Source directory
  2. Build directory
  3. Generate project type:
    これはcmakeコマンドをタイプし生成できるプロジェクトタイプの一覧を確認する
  4. Tool chain
    ツールチェンの設定ファイルを使用する場合はそのパスを確認する
  5. CMake command line option
    cmake-guiで今まで手動で変更した設定をコマンドラインに落としておく必要がある.例:
    BUILD_OPTION_1 = ON
    BUILD_OPTION_2 = OFF ...
今までcmake-guiで操作したが,シェルスクリプトに置き換えてやりたい一例を下に示す

#!/bin/sh

SRC_DIR=...
BUILD_DIR=...
TOOL_CHAIN=...
GENERATOR_TYPE="Unix Makefiles"

cmake -D CMAKE_TOOL_CHAIN=$TOOL_CHAIN \
-G $GENERATOR_TYPE \
--build $BUILD_DIR \
-D BUILD_OPTION_1=ON \
-D BUILD_OPTION_2=OFF \
$SRC_DIR

ただし,上のコマンドをうまくいかないことがある(理由はまだ不明).スクリプトで -D オプションで定義したものがCMakeLists.txtファイル内で定義したものをオーバライドできない.

これを回避するために,自分専用日のPreloadのCmakefileを準備し,-C オプションでキャッシュの初期化を行ってからプロジェクトのCMakeListsを読みこませればよい.

Preloadスクリプトは通常のCMakeListsの書き方と全く同じ.ほとんどSET (FOO BAR ...)で書けばいい.


#!/bin/sh
cmake_minimum_required(VERSION 2.6)

set(MY_CMAKE_OPTION 1)
if(MY_CMAKE_OPTION EQUAL 1)
    set( OPT1  VALUE1  CACHE  BOOL "desc")
    set( OPT1  VALUE1  CACHE  BOOL "desc")  
else()
    ...
endif()


make VERBOSE=1 でmakeのコンパイル詳細Optionを表示

参考:
1. Cmake tutorial 1
2. Cmake tutorial 2
3. Cmake でオプションの設定方法

Wednesday, January 29, 2014

バッチファイル 定型文 処理 メモ

1.ファイルの存在チェック
if not exist "..." (
    echo Error: ...
) else (
    rem ...
)

2.DIRの存在チェック
dir "%DIR%"
if not errorlevel 0 (
    echo Error: ...
) else (
    rem ...
)

3.ユーザ入力
rem...

4.AAAAAAAAAAAAA

Thursday, January 23, 2014

Ubuntu, Lubuntu 12.04 with VirtualBox

Proxy設定for apt-get:はapt.conf.dの中に設定ファイル(例えばここでは80proxy)を追加

% export http_proxy="http://x.x.x.x:8080"
% export ftp_proxy="..."
% export https_proxy="..."

% sudo vim /etc/apt/apt.conf.d/80proxy
Acqurire::http::proxy "http://x.x.x.x:8080";
Acqurire::https::proxy "http://x.x.x.x:8080";
Acqurire::ftp::proxy "http://x.x.x.x:8080";

これでProxyを通してupdateできる 上記はapt-get用のプロキシの設定で,システムのプロキシ設定は/etc/environmentファイルを編集して追加する.
/etc/environment

http_proxy=http:// myproxy.server.com:8080/ 
https_proxy=http:// myproxy.server.com:8080/
ftp_proxy=http:// myproxy.server.com:8080/
no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"

VirtualBoxのネットワーク設定
(http://nwing.knowd.co.jp/yamazaki/index.php?q=node/169) このページはとてもわかりやすい
VirtualBoxの3Dアクセラレーションを有効にする方法