Home New Help Edit

Subversion+TortoiseSVN+SSH memo

2009年3月28日
Suns & Moon Laboratory

はじめに

とっても便利な SubversionTortoiseSVN
でもまだよくわかってないのでメモします。

使い方

リポジトリのレイアウト例


/ ├calc │├trunk │├tags │└branches └calendar  ├trunk  ├tags  └branches
参考:リポジトリレイアウトの選択

プロジェクト初期手順

  1. プロジェクトフォルダを作成
  2. 空のフォルダを作成、/drawにインポート この時、drawをあらかじめ作成せずにインポートすると、/以下にtrunk,tags,branchesが出来てしまう。
    draw←ここを選択してインポート実行 ├trunk ├tags └branches
  3. インポート結果
  4. trunkに初期ソース格納、/draw/trunkにインポート
    trunk←ここを選択してインポート実行 ├main.c ├main.h └sub.c
  5. drawフォルダを空にする
    draw
  6. /draw/trunkをチェックアウト
    draw←ここを選択して(またはこのフォルダ内で)チェックアウト実行 ├main.c ├main.h └sub.c
  7. インポート結果

注意

再配置

コピーによる再配置。というか、コピー。

初期配置


タグを付ける為にコピー


コピー結果


やっぱりapp1/trunkじゃなくて、app1/firm/trunkにしたい


コピー結果


2階層ほってコピーしてみる


2階層ほってコピーは失敗



リポジトリの移行とか特定パスの完全削除

リポジトリの移行を読めば、まさにその通りです。

元リポジトリ(desktops)はこうなっている。
/ ├calc │├trunk │└tags ├calendar │├trunk │└tags └speradsheet  ├trunk  └tags
リポジトリのダンプ
svnadmin dump desktops > dumpfile
ダンプファイルから不要パスを削除。excludeは複数指定も可能。
cat dumpfile | svndumpfilter exclude calc calendar > spread-only-dumpfile
リポジトリを移動(削除)
mv desktops desktops.bak
新しくリポジトリを作成してロードする。
svnadmin create desktops svnadmin load desktops < spread-only-dumpfile
以上の手順後のリポジトリ(desktops)はこうなる。
/ └speradsheet  ├trunk  └tags

インストール(Windowsサーバ)

Windowsマシンをサーバにして、SSH接続出来るようにしてみたいと思います。詳細忘れたので概要だけ(--;)
  1. Cygwinで、OpenSSHとSubversionを入れる。
  2. How to install OpenSSH sshd server and sftp server on a Windows 2000 or Windows XP or Windows Server 2003を見ながら設定と動作確認
  3. クライアントで作成した公開鍵を\\\"/home//.ssh/authorized_keys\\\"に設定する。設定方法はSVN+SSH+public key authentication on Windows Box as serverの10番。 ただし、-rオプションのパラメータを、"c:/mysvnroot/"ではなく、"/cygdrive/c/mysvnroot/"にする。そうしないと"Error * No repository found〜"とか言われてしまう。
  4. c:/mysvnroot/project1にリポジトリ作成

ユーザを追加する

1.Windows上でユーザ追加

2.Cygwinでパスワード生成
cd /etc $ mkpasswd -l > passwd
↓オプションに-uつけた方が良いそうだ。
参考:Cygwinでsshd

3.Cygwinでユーザーホーム作成
cd /home mkdir ユーザー名 cd ユーザー名 mkdir .ssh
4.SSHの設定
.sshにautorized_keysを入れる。これはサーバ設定を参考に。
このauthorized_keysでリポジトリ位置を指定出来る。

リポジトリの作成

TortoiseSVNでリポジトリ作成したら、SSH経由でうまくいなかったので、svnadminでリポジトリ作成
svnadmin create --fs-type fsfs /cygdrive/c/リポジトリを作成したいパス/

インストール(Windowsクライアント)

  1. TortoiseSVNは普通〜に入れる
  2. TortoiseSVN Settings→Network→SSH ClientをTortoisePlink.exeにする。
  3. PuTTYとPuTTYgen※1を、Windowsディレクトリにコピーする。
  4. PuTTYgenでKey生成※1。この時pathphrase入れない。 参考:PuTTYgenの利用
    ※1.Keyがすでにあれば、必要無いです。
PuTTYでセッションを保存
Auto-login usernameを指定した場合
svn+ssh://CONNECTION/REPOSITORY CONNECTION PuTTYで保存したセッション名 REPOSITORY リポジトリのパス。-rでルート位置が指定されているので、そこからの相対位置になる。 例 svn+ssh://DefaultSession/project1 ユーザ hoge PuTTYセッション名 DefaultSession リポジトリの位置は、 c:/mysvnroot/project1
Auto-login usernameを指定しなかった場合
svn+ssh://USERNAME@CONNECTION/REPOSITORY

インストール(Windowsクライアントにxdocdiff)

便利なので、xdocdiffを入れる。機能は下記リンク名称の通り。。
xdocdiff -TortoiseSVNでWord, Excel, PowerPoint, pdfのdiffを見れるようにするツール-

参考

何を登録するかの参考。調べたのではなく、経験的にやってるので危険かも。

Visual C++ 2005 Express Edition

vcprojさえあれば良い。
●svn管理
△svnで管理しない。いらないがあっても良い
×svnで管理しない。
{machinename}は、使用しているマシン名
{username}は、ログオンしているユーザー名

参考:Visual Studio .NET と Visual SourceSafe を使用したチーム開発
参考:チーム開発でのワークスペースの使用方法
参考:http://www.microsoft.com/japan/msdn/vs05/vsto2005/Office_vstoApplicationManifestEditor.aspx
参考:Visual Studio のファイルの種類と拡張子
参考:Visual C++ プロジェクトに対して作成されるファイルの種類
参考:http://www.atmarkit.co.jp/fdotnet/easyvs/easyvs02/easyvs02_02.html

Visual C++ 6.0

Borland Developer Studio 2006(Delphi Win32)

●svn管理
△svnで管理しない。いらないがあっても良い
?svnで管理するかどうかは要検討
×svnで管理しない。
参考:RAD Studio によって生成されるファイルの拡張子

参考:flow of waterDelphi ファイルの構成

HEW 4

ユーザマニュアルにも書いてありますが、一応まとめ。

●svn管理
△svnで管理しない。いらないがあっても良い
×svnで管理しない。

workspaceフォルダ


projectフォルダ

以下はComputex PALMiCEのファイル

debugフォルダ

基本的に全ていらない。

QuartusII

●svn管理
△svnで管理しない。いらないがあっても良い
×svnで管理しない。

プロジェクトフォルダ

dbフォルダ

sim結果とかいらなければ、いらないんじゃないかと。

参考

Subversionのコンパイル リポジトリバックアップについて詳しく書いてある

Home New Help Edit
2010-11-17 10:04:37 32400