TortoiseSVN ユーザガイド

By Stefan Küng and Lübbe Onken, last update 2003-08-14
Translated by Tez Kamihira(tez@kamihira.com), last update 2003-10-21
Original: http://tortoisesvn.tigris.org/dailyuseguide.html
Latest: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug.html
Latest-ja: http://tortoisesvn.net/docs/release/TortoiseSVN_ja/tsvn-dug.html

はじめに

このドキュメントは TortoiseSVN クライアントの普段の利用方法について 説明したものです。バージョン管理システムの手引きではありませんし、 Subversion(SVN)の手引きでもありません。自分が何をしたいか だいたい見当がついている人が戻ってくる場所なのであって、何かあることをどのよう にやるかについて完全に説明するものではありません

このドキュメントは TortoiseSVN やSubversionと同様、進行中のものです。 間違いを発見した場合には、メーリングリストに報告してください。そうしていただければ このユーザガイドの内容を更新することができます。このユーザガイド(以下、Daily Use Guide の頭文字をとって(DUG)と言うこともあります)中のスクリーンショットの いくつかはソフトウェアの最新の状態を反映していないかも知れません。その点については ご容赦を。私たち TSVN 開発メンバーは、自分たちの自由になる時間を利用して開発しています。

  • 以下では、すでにあなたがTortoiseSVN をインストールしていることを仮定しています。
  • もし Subversionについてなじみがないのであれば、まずは サブバージョンによるバージョン管理を 読んでみてください。
  • 行き詰まったら、 SubversionTortoiseSVN FAQ を見てみるのも良いでしょう。

Explorer Integration

TortoiseSVN をエクスプローラに組み込んだときのサンプル

内容

用語

< ^ >

SVN ドキュメントで利用される用語、それは TortoiseSVN でも使われますが、 他のリポジトリシステムで使われている用語とは異なる場合があります。混乱を 避けるため、最も重要な単語についての一覧を用意しました。このドキュメント の残りの部分を読む前に、これらの言葉についてよく理解しておいてください。

リポジトリRepository
その中にあなたの大事なデータがあり、一緒に作業している人であれば世界中の どこにいても自動的にその内容を取り出すことのできる、謎の入れ物のことです。
Subversionのリポジトリには三つの方法でアクセスすることができます:
  • file:// ローカル/ネットワークファイルシステム中のどこからでも利用できます。
  • http:// Apache 2の WEB_DAV プロトコルを利用する方法です。
  • svn:// スタンドアロン SVN サーバの独自プロトコルを使います。
モジュール
あるディレクトリ階層のこと。ソフトウェアプロジェクトは通常リポジトリ中の一つの モジュールとして存在します。
チェックアウト
普通、リポジトリからモジュール全体を最初にもってくることを言うときに 使います。
コミット
リポジトリにあなたの変更点を送ります。
エクスポート
リポジトリからあるモジュール全体を抽出することをさしていいます。 この場合 SVN の管理ファイルは抽出しません: エクスポートされたモジュール は SVN 管理下にはありません。
インポート
普通ディレクトリ構造全体を送ることによってリポジトリ中に新しいモジュール を作る手続きをさしていいます。
作業コピー
ローカルハードディスク上に作った自分用のプロジェクトのコピーのことです。 このコピー上で作業をします。
リリース
あるプロダクト全体のバージョンのことです。
リビジョン
完全なリポジトリのバージョンのことです(ブランチやタグも含みます)。
更新
リポジトリからのほかのユーザの修正点を受け取ることです。ローカルな作業コピー のみが更新の対象になります。

ローカルリポジトリの作成

< ^ >

もしローカルリポジトリを作らず、サーバ上のリポジトリを利用する だけなら、この章は飛ばすことができます。Apache ベースのリポジトリ の設定の仕方についてはここを読んでください。

TortoiseSVNを使ってローカルリポジトリを簡単に作ることができます:

  1. ウィンドウエクスプローラを開きます
  2. 新しいフォルダを作り、例としてSVNRepository という名前に します。
  3. そのフォルダの上で右クリックします。TortoiseSVN サブメニューから、 ここにリポジトリを作る を選択します。これでその場所にリポジトリ ができます。ここにあるファイルを自分で直接いじらないでください! エラーに なるようなら、フォルダが書き込み禁止になっていないかどうか、またフォルダ が空であることを確認してください !

First Steps

ローカルリポジトリにアクセスするには、そのフォルダへのパスを知る必要があります。 Subversion はすべてのリポジトリへのパスが、file:///SVNRepository/ のような形になっていると考えることを思い出してください。ウィンドウズユーザの場合: file:///C:/SVNRepository/となります。

ネットワークドライブ上のローカルリポジトリに対するアクセスがエラーとなる 場合はSubversion FAQを確認してください。

リポジトリブラウザ

< ^ >

TSVN のいろいろなダイアログでリポジトリのURLが求められる場面 では常に、[...]ボタンをクリックすることでTSVN のリポジトリブラウザ を開くことができ、それによってリポジトリやファイルを簡単に検索することが できます。
ただし、[...]ボタンは、場面によって二つの異なる意味を持つことに 注意してください。

  • もし、urlが入力されないか、間違った url が入力された場合、ブラウザは、 あなたのファイルシステム中のローカルリポジトリを参照させようとします。
  • 正しい url が入力された場合は、ブラウザは選択されたリポジトリの内部を参照 させようとします。以下のスクリーンショットを見てください。
Repository Browser

新しいリポジトリへのプロジェクトのインポート

< ^ >

プロジェクトをリポジトリにインポートする前に、しなくてはならないことは:

  1. プロジェクトを作るのに不要なすべてのファイルを削除します (一時ファイル、コンパイラが生成したファイル、たとえば *.obj, コンパイルされたバイナリファイル、などなど...)
  2. フォルダとサブフォルダ中のファイルを編成します。後からファイル 名称を変更/移動することもできますが、インポートの前にプロジェクトの 構造を正しくしておくことを強くおすすめします!
  3. 推奨されるディレクトリ構造は以下のようなものです:
        .../ProjectName/trunk/YourWorkFiles
        .../ProjectName/branches/
        .../ProjectName/tags/
    

このようにしておけば、あとから簡単にブランチやタグを作ることができます。 これはたんなる推奨にすぎないことに注意してください。もちろん他のディレクトリ 構造にすることもできますが、おそらくブランチとタグを編成するのが難しく なるでしょう。ディレクトリの編成を上で示した形にした場合には、TortoiseSVN は間違って /tags/フォルダにあるパスにコミットしようとした場合に警告を 出してくれます。

さて、ウィンドウエクスプローラ中のディレクトリ構造の親のインポート フォルダを選択し、コンテキストメニューを開くために右ボタンをクリックして ください。インポート...コマンドを選択すると、以下のダイアログボックス が出ます:

Import Dialog

このダイアログでインポートしようとするプロジェクトをリポジトリ中の どこに入れるかを示すURLを入力してください。

インポートメッセージはログメッセージとして利用されます。普通は単に プロジェクトを開始するだけなので、デフォルトの "初期インポート" が 表示されています。

OKボタンを押すとすぐに TortoiseSVN はすべてのファイル を含む完全なディレクトリツリーをリポジトリにインポートします。 この操作だけではまだプロジェクトのコピーをバージョン管理下に置いたわけ ではないことに注意してください。バージョン化された作業コピーを 手にいれるには、いまインポートしたバージョンをチェックアウト しなくてはなりません!

いま作ったばかりのリポジトリの構造は以下のような感じになっています:

    C:/SVNRepository/ProjectName/trunk/All
    C:/SVNRepository/ProjectName/trunk/your
    C:/SVNRepository/ProjectName/trunk/files
    C:/SVNRepository/ProjectName/trunk/are
    C:/SVNRepository/ProjectName/trunk/here
    C:/SVNRepository/ProjectName/trunk/...
    C:/SVNRepository/ProjectName/branches/
    C:/SVNRepository/ProjectName/tags/

もしあとでC:/myFiles/AnotherProject をインポートしたくなった場合には 今と同じ方法でディレクトリを編成し ( プロジェクト階層の下に trunk, branches, tags をおくことを推奨します )、リポジトリ URL としてC:/SVNRepository/ を選び、プロジェクトをインポートしてください。 するとこのプロジェクトは以下のような構造でインポートされます:

    C:/SVNRepository/ProjectName/trunk/...
    C:/SVNRepository/ProjectName/branches/
    C:/SVNRepository/ProjectName/tags/
    C:/SVNRepository/AnotherProject/trunk/...
    C:/SVNRepository/AnotherProject/branches/
    C:/SVNRepository/AnotherProject/tags/

作業コピーのチェックアウト

< ^ >

作業コピーを手にいれるには、リポジトリからチェックアウトしなくては なりません。

作業コピーをおこうと思っているディレクトリをウィンドウズエクスプローラで 選択してください。右クリックでコンテキストメニューを表示し、チェックアウト... を選択します。以下のようなダイアログボックスが表示されます:

Checkout Dialog

存在しないフォルダ名を入力した場合はその名前のディレクトリが作成されます。

チェックアウトはディレクトリツリーの"trunk"の部分にたいしてだけ 行うことをおすすめします。URL にあるディレクトリツリーの親のパスを指定すると ハードディスクを食いつぶしてしまうかも知れません。プロジェクトのすべての ブランチとタグまでコピーしてしまうことになるからです!

アイコンオーバーレイ

< ^ >

Subversionのリポジトリから作業コピーをチェックアウトすると、ウィンドウズ エクスプローラ中のファイルのアイコンが変化するのがわかります。 TortoiseSVNはオーバーレイアイコンと呼ばれる、もとのアイコンに 重なって表示するようなアイコンをそれぞれのファイルに付け加えます。 それぞれのファイルの、Subversion管理下での状態によって、オーバーレイアイコンは 異なります。 チェックアウトしたばかりの新鮮な作業コピーは、緑のチェックのついたオーバーレイが 表示されます。それはSubversion状態が通常であることを意味します。 編集を始めるとすぐに、ファイルの状態は修正にかわり、オーバーレイ アイコンは赤いびっくりマークに変化します。 これで最後に作業コピーを更新してから、どのファイルを修正したか、 またコミットが必要であるか、が簡単にわかります。 更新処理中に衝突がおきた場合は、アイコンは黄色のびっくりマークに変化します。

Icon Overlays

フォルダアイコンもアイコンオーバーレイを持っています。デフォルトでは フォルダ自身の状態を表示します。しかし 設定(コンテキストメニュー、 設定...) でこの振る舞いを変えることができます。これでフォルダの状態は再帰的に 表示されるようになります。 この処理はフォルダのオーバーレイ表示に時間がかかるようになるので、遅いマシン上では おすすめできません。私は (PIII, 700MHz, 512MB RAM) のスペックのマシン上でこの設定を 有効にしていますが、とくに問題はないようです。 この設定では、それぞれのフォルダは、その配下にあるすべてのファイルの状態を表現する ようになります。衝突修正 よりも強く、 修正 は、正常 よりも強いという約束で状態表示されます。そのため、そのフォルダ中に、衝突、あるいは 修正されたファイルがあるかどうかを簡単に知ることができます。

TortoiseCVS(CVSのシェル拡張です) とは違い、バージョン化されていないファイルには オーバーレイアイコンはつきません。

ほかの人の変更を作業コピーにとりこみ、更新すること

< ^ >

ときどきほかのユーザがした変更を自分の作業コピーに取り込みたいことがあります。 このようなサーバからの変更を自分の作業コピーに取り込むことを更新といいます。 更新はひとつのファイルに対しても、選択した複数のファイルに対しても、また、 再帰的なディレクトリ構造全体に対しても実行することができます。 更新するには、更新したいと思うファイルまたはディレクトリを選択し、 右クリックしてTortoiseSVN サブメニューからUpdateを選んでください。 ウィンドウがポップアップして、更新処理中の様子を表示します。

Update Progress

Update Finished

ほかの人の変更は自分のファイルにマージされますが、自分自身がした変更部分については 同じファイル中に保存されます。リポジトリは更新処理によっては何も影響を受けません

衝突の解消

< ^ >

ときどき、リポジトリからのファイルで更新処理が衝突の結果になることがあります。 衝突はふたり以上の開発者があるファイルの同じような行を変更したときにおこります。 Subversionはあなたのプロジェクトの内容や意味についてはなにも知らないので、 衝突を解消するのは開発者自身にまかせます。衝突が報告された場合はいつでも、 注意してそのファイルを開き、 <<<<<<<で始まっている行を 検索してください。衝突の領域はこんな感じでマークされています:

<<<<<<< filename
    あなたの変更
=======
    リポジトリからマージされたコード
>>>>>>> revision

Also, for every conflicted file Subversion places three additional files in your directory:

filename.*.mine

このファイルは作業コピーを更新する前に、自分の作業コピーにあった内容そのものを しめすファイルです — つまり、衝突マーカは含まれていません。このファイルは 自分の最後の修正時点のファイルそのものです。

filename.*.rOLDREV

これは作業コピーを更新する前に BASE リビジョンにあったファイルです。つまり、 最後の編集をする前にチェックアウトした時点のファイルの内容です。

filename.*.rNEWREV

これは、作業コピーを更新したときに、自分のSubversionクライアントがサーバから 受け取ったファイルです。このファイルは、リポジトリの、HEADリビジョンのものに 対応しています。

ここで * はSubversionが選んだでたらめな数を示しています。 OLDREV は、自分の.svnディレクトリ中のファイルのリビジョン番号で、NEWREV はリポジトリのHEADのりビジョン番号です。

衝突の編集メニューで外部マージツール/衝突エディタを起動するか、他のエディタを 使って手で衝突を解消することができます。これにはコードを見てどれが必要な変更であるかを 見極める必要があります。

コンテキストメニューから解消を実行した後、リポジトリに対して変更点をコミット してください。解消コマンドは本当は衝突を解消するのではないことに注意してください。 それは単に filename*.mine と filename*.r* ファイルを削除し、あなたの変更をコミットできる ようにするだけです。

自分の変更をリポジトリに送ること

< ^ >

自分の作業コピーにした変更を送ることを、変更のコミットといいます。 しかしコミットする前に、作業コピーが最新であるかどうかを確認する必要があります。 これには直接更新処理をしても良いですし、まず更新チェックを して、どのファイルがローカルに、あるいはサーバ上で変更されたのかを見ることも できます。

作業コピーが最新ですべての衝突が解消しているなら変更点をコミットする準備が できています。コミットしたいと思う任意のファイルやフォルダを選んでコンテキストメニュー からコミットを選んでください。

Commit Dialog

コミットダイアログは追加、削除されたファイル、バージョン化されていないファイル を含んだすべての変更のあるファイルを表示します。変更されたファイルでコミットしたく ないものについては、そのファイルのチェックをはずしてください。バージョン化されて いないファイルをコミットに含めたい場合は、そのファイルを追加してからコミットして ください。

TSVN があまりにもたくさんのバージョン化されていないファイルを表示してしまうと 感じるなら(たとえば、コンパイラが生成したファイルやエディタのバックアップファイル) やりすごす方法がいくつかあります:
  • include the file into the list of temporary files on the 設定ページにある 一時ファイルの一覧にそのファイルを含めます。これはすべての作業コピーに対して 有効になります。
  • 無視コンテキストメニューを使って svn:ignore リストにファイルを追加 します。この方法は svn:ignore 属性を設定したディレクトリ中でのみ効果があります。 SVN 属性 ダイアログで ディレクトリについての svn:ignore 属性を変更することができます。

コミットダイアログ中の任意の変更されたファイル上でダブルクリックすると外部 diff ツールが起動されて変更点が表示されます。

OK を押すと、ダイアログはコミットの進行状況を表示します。

Commit Progress

新しいファイルやディレクトリの追加

< ^ >

開発中に新しいファイルやディレクトリを追加した場合、ソース管理に対してもそれを追加 しなくてはなりません。ファイルやディレクトリを選択し、コンテキストメニューから追加 コマンドを選択してください。

Add Context Menu

ソース管理にたいしてファイルやディレクトリを追加した後では、ファイルは"追加"の オーバーレイアイコンになり、他の開発者に利用できるようにするにはまず作業コピーを コミットする必要があることを示します。ファイルやディレクトリの追加はリポジトリには 影響を与えません!

ディレクトリを追加するとTortoiseSVN は自動的にそのディレクトリにあるすべてのファイルを 再帰的に追加します。それで、そのディレクトリに一時ファイルやコンパイラが生成した中間 ファイルがないことを注意深く確認してください。

作業コピーの外にあるファイルを追加する場合には、ドラッグ&ドロップハンドラを 使うことができます:

  1. 追加したいファイルを選択します
  2. 作業コピーの中の新しい場所に右ドラッグでファイルを持っていきます
  3. マウス右ボタンを放します
  4. ポップアップメニューで "ファイルを Subversionに追加" を選びます。 これで作業コピーにファイルはコピーされ、バージョン管理下に入ります。

ファイルの削除、名称変更、移動

< ^ >

SubversionはCVSとは違い、ファイルの名称変更や移動を認めています。そのため TortoiseSVNサブメニューにもそのようなメニュー項目があります。

More Menus

TSVN を使ってファイル/ディレクトリを削除する場合、そのファイルは作業コピーから削除され 削除されるものとしてマークされます。そのファイルの親フォルダは"削除"アイコンオーバーレイ が表示されます。親フォルダで取り消しを実行すればいつでもファイルを復元できます。

作業コピー中でファイルを移動したい場合は、やはりドラッグ&ドロップハンドラを 使うことができます:

  1. 移動したいファイルやディレクトリを選択します
  2. 作業コピー中の新しい場所にファイルやディレクトリを右ドラッグで持っていきます
  3. マウス右ボタンを放します
  4. ポップアップメニューで、"ここに Subversion のファイルを移動する" を選択します
ファイルがエクスプローラ経由で削除されたが、バージョン管理システムとしては削除されなかった 場合、コミットダイアログはそのようなファイルの一覧を表示し、コミットする前にユーザに対して バージョン管理システムからもそのようなファイルを削除させます。そんなわけで TSVN で ファイルを削除したかどうかを忘れてしまってもたいした問題にはなりません。

変更の取り消し

< ^ >

最後の更新以降にファイルに加えたすべての変更を取り消したい場合 は右クリックでコンテキストメニューをポップアップしてTortoiseSVN サブメニューで取り消しを選択します。しかし、まず本当にそう したいのかどうかをよく確認してください。最後のコミット以降に あなたがしたすべての変更が取り消されてしまいます!

自分のした変更について確信がない場合には、まず作業コピーを どこか安全な場所にコピーし、その後、取り消しをしてから、 BeyondCompare や ExamDiff のようにディレクトリの差分をとる ことのできるツールを使って、どこが変更されたかを調べてください。

まちがってファイルを削除してしまったが、すべてを取り消さずに 戻したい場合は、ディレクトリ中の変更を加えたすべてのファイルを いったんリポジトリにコミットし、それから作業ディレクトリに 取り消しを実行することができます。これで最後のコミット以降に 削除したすべてのファイルを復元できます。

ファイル/ディレクトリ情報の取得/設定

< ^ >

ときどき、単なるアイコンオーバーレイ情報以上のより詳しい情報をファイルや ディレクトリについてほしいことがあります。Subversionが提供するすべての 情報を、エクスプローラの属性ダイアログで取得することができます。ファイルや ディレクトリを選択し、コンテキストメニューで"properties"を選択してください(注意: これはエクスプローラが提供する普通のプロパティーメニューであって、TortoiseSVN のサブメニューではありません)。属性ダイアログボックスで、Subversionの 制御下にあるファイルについては、TortoiseSVNは新しい属性ページを追加して表示します。

Properties

Subversionのページでは、選択したファイルやディレクトリについての関連情報を見ることが できます。さらに、Subversionプロパティーの読み書きをすることもできます。

選択したアイテムのログエントリーを見たい場合は単に、"Show Log..." を押せば ログダイアログが表示されます。

より詳細な情報 - リビジョンログ

< ^ >

You can also invoke the Log Dialog from the standard TSVN context menu.

Show Log Messages

特定のログメッセージを見たい場合は、一覧中で対応するエントリーを選択してください。

Show Log... には以下のような機能をもつコンテキストメニューがあります:

  • 外部 diff ツールの起動
  • 選択されたリビジョンのファイルへの保存(エクスポート)
  • 選択されたリビジョンのブランチ、タグの作成
  • 特定のリビジョンからの変更の取り消し
  • 外部 unified diff ビューアの起動

Log Context Menu

作業コピーと特定のリビジョン、または二つのリビジョン間の変更点が見たい場合は show log コンテキストメニューから二つのShow Diffコマンドを利用することができます。
  • 外部 diff ツールを起動することができます。 このコマンドはファイルの特定のリビジョンを受け取り、差分を表示する ための外部 diff プログラムを起動します。デフォルトでは TortoiseSVN は WinDiff のコピーを探します(これは Windows の SDK に付属しているものです) しかし、TortoiseSVN の設定 で好きなGUI diff プログラムを設定することもできます。
  • 外部 diff ツールを起動するかわりに、unified diff を要求することもできます。 このコマンドの出力は設定 で指定した diff ビューアに送られます。

ログエントリごとの変更ファイルの一覧は選択することができ、それぞれの コンテキストメニューを持ちます。これによって、特定のファイルに加えられた変更点 を見ることができます - これには外部 diff を使う(この場合ファイルの二つのリビジョン がダウンロードされるのでいくらか時間がかかりますが、)ことも、unified diff として 見ることもできます。

ブランチとタグ

< ^ >

バージョン管理システムのひとつの機能に、変更を別の開発ラインに分離する能力が あります。このラインはブランチとして知られています。ブランチは普通、 コンパイラエラーやバグなどによって開発の主系を乱すことなしに新しい機能を試してみる のに利用されます。ブランチ上の新しい機能が十分におちついたら、ブランチは主系に マージされ、書き戻されます。

バージョン管理システムの別の機能としては、特定のリビジョン (たとえば、リリースリビジョン)に印をつけることがあります。これで 常に特定のビルド、あるいは環境を再生成することができます。この仕組み はタグとして知られています。

Subversion ではブランチやタグのための特別ななコマンドはありません。 そのかわりに、チープコピー(コストのかからないコピー)、と 呼ばれる機能があります。チープコピーはリンクによく似ています。リンクとは 実際のコピーのかわりに特定のファイル/リビジョンに対するリンクを 生成するものです。

もし推奨するディレクトリ構造にしたがってプロジェクトをインポートした のであれば、バージョンのブランチやタグを作るのはとても簡単です:

Branch / Tag / Copy

作業コピーの親フォルダを選択し、ブランチ/タグ...コマンドをコンテキスト メニューから選択してください。ダイアログ中に、ブランチまたはタグのリポジトリパス を示す URL を入力してください。これで/trunk/のかわりに、/tag/tagname の形を利用 できるようになります。ここで tagname は、たとえば "ProjectName_v1.10" のような 形のものです。

    C:/SVNRepository/trunk/ProjectName/...
    C:/SVNRepository/trunk/AnotherProject/...
    C:/SVNRepository/branches/ProjectName_SpecialDebugBuildBasedOn_v1.09/
    C:/SVNRepository/tags/ProjectName_v1.10

ここで OK を押すと、Subversionは リポジトリ中に選択したディレクトリ のチープコピーを作ります。ローカルディスク上には(まだ)何もおきません。

チェックアウトするのがいいのか、あるいはスイッチするのがいいのか...

< ^ >

これは本当の問題ではありません。チェックアウトは作業コピーに必要なブランチの すべてをチェックアウトするのにたいして、スイッチは作業コピーに対して変更のあった データのみを転送します。ネットワーク負荷も軽くなりますし、あなたの我慢も減らせます。:-)

新しい作業コピーで作業するためには、いくつかの方法があります:

  • チェックアウトをもう一度実行します。ローカルディスクの好きな 場所にチェックアウトできますし、すきなだけたくさんの作業コピーをリポジトリから 作ることができます。
  • 現在の作業コピーをリポジトリ上にある新しいコピーにスイッチ します。 やはりプロジェクトの親フォルダを選択し、スイッチ...コマンドを コンテキストメニューから選択します。

Switch Dialog

これで作ったばかりのブランチ/タグの URLを入力します。チェックボックスの "最新リビジョン" を有効のままにしておいてください。OKを押せば作業コピーは 新しいブランチ/タグにスイッチします。

データを変更した場合にのみこれらの修正がリポジトリにコミットされます。 残りは元データのチープコピーのままです。

ここから先はブランチとタグで少し動作が異なります:

  • タグリビジョンに対して変更を加えた場合、TortoiseSVN はリポジトリ中の /tags パスにコミットしようとした時点で警告します。ローカルファイルについて は書き込み禁止となっているわけではないことに注意してください。このため タグリビジョン上で作業するのは、良いアイディアではありません ™。 最初に /trunk /branches /tags のリポジトリ構造を勧めたのはこれが理由です。
  • ブランチから作った作業コピーを修正してコミットした場合、すべての変更は 新しいブランチに対して行われ、メインブランチにではありません。修正部分 だけが格納されます。残りはチープコピーのままです。

ブランチの内容をメインブランチにマージすること

< ^ >

自分の変更点をメインブランチに書き戻したいときには、単にマージを コンテキストメニューから選択するだけです。

Merge Dialog

スクリーンショットがすべてを物語っていますが、ブラウザで画像表示を禁止に設定している人の ために、言葉でも説明しておきましょう :-)
  • 他のブランチからの特定の変更点だけをマージするためには変更のあったふたつの リビジョンを指定しなくてはなりません。
  • trunkに対してブランチ全体をマージするためには、ブランチの作られたリビジョンと HEAD を 指定する必要があります。

作業コピーの再配置

< ^ >

リポジトリの位置(IP/URL)が何かの理由で変更された場合、多分あなたは もとのままの状態にとどまっていて、コミットすることができず、かと言って 作業コピーを新しい場所からもう一度チェックアウトして、それまでの変更を その新しい作業コピーに移したくもないでしょう。こんなときは再配置 コマンドの出番です。このコマンドは実際にはたいしたことをしません: .svn フォルダ のすべての "エントリ" ファイルをスキャンして、各エントリ中のURLを新しい ものに変更するだけです。

設定

< ^ >

SettingsMain

自分の好きな言語を設定することを除けば、このダイアログは以下の項目の設定 ができます

  • 外部 Diff ツール (Diff はクライアントによって実行されます)
  • 外部マージツール
  • 外部 Diff ビューアー (Diff は Subversionによって実行されます)
  • リビジョン管理に含める/除外するファイルパターン
  • コミットダイアログがすでに有効になっているときに、作業コピー中の バージョン化されていないファイルを追加することを許すかどうか
含める/除外するパターンはフォルダ(最後にバックスラッシュがつきます)と 有効なリスト(最初に'+'文字がつきます)を含めることができます。それで たとえば +readme.txt;*.txt;cvs\のように指定すれば、readme.txt ファイルは含めるが、その他のすべての*.txtファイルは除外し、さらに cvsという名前のすべてのフォルダとその配下のファイルを除外する、という 意味になります。左から右に評価されることに注意してください - それで*.txt;+readme.txt はすべての*.txtファイルを除外し、readme.txtファイルもやはり除外 されてしまいます。先に*.txtがマッチしてしまうからです。

SettingsOverlay

SettingsProxy

最後のステップ

< ^ >

もしTortoiseSVNが気に入って、よく利用されているのであれば、開発者チーム をサポートしてください。

パッチを送っていただいても、開発者としての役割を演じていただくことも、 開発者にエールを送っていただくこともできます。

TortoiseSVN の作業にとりかかっている最中、私たちは音楽を聞くのが好きです。 そして長い時間このプロジェクトで作業するので、たくさんの音楽が必要になります。で、 私たちの好きな音楽 CD のリストを作りました。

また、ときどき作業を中断して、集まってみんなの考えをまとめる必要もあります。 DVD もそのリストに入っているのはそれが理由です。

Stefan が作ったリストは ここ (英語)ここ (ドイツ語)にあります。

Lübbe も リスト を持っています。

貢献者の一覧リストも見てください。