ネットワークアクセスなしでローカルコンピューターにsvnサーバーをセットアップできますか?


25

ネットワークにアクセスせずにコンピューターにSVNリポジトリーをセットアップしたい。私はコードを共同編集者なしで作業しているので、一般に公開したくありません。

この投稿を読みましたが、無料のリポジトリを提供するオンラインSVNリポジトリサービスを使用することをお勧めします。その場合、私のコードは公開されます(無料プランの条件に含まれています)。

それで、インターネットに接続していないときでも、自分だけがアクセスできるローカルサーバーをWindows XPマシンにセットアップできるかどうか疑問に思っていました。


15
あなたが説明したワークフローにsvnのようなものよりもgitを使用することを強くお勧めします
-Daenyth

7
確かに、svnをローカルにインストールして使用できます。問題ありません。 visualsvn.com/server/download-
アレックス

8
またはMercurial; 「hg init」は、あなたがいるディレクトリにリポジトリを作成します...それよりずっと簡単なことはできませんか?
-perp

8
DVCSが必要であることを示唆する質問には何も表示されません。Subversionは、説明されているシナリオに最適です。技術的な理由がない場合、代替案の推奨事項で答えを曖昧にしないでください。
リチャードM

3
@RichardM:セットアップがより簡単で、より将来性がある場合、別のソリューションを提案するのに何も問題はありません。OPがいつか他の人と協力したい場合、DVCSには他にも多くの利点があります。
marco-fiset

回答:


31

ローカルサーバーを設定する最も簡単な方法はsvnserveを使用することです:

SubversionにはSvnserveが含まれています。これは、通常のTCP / IP接続でカスタムプロトコルを使用する軽量のスタンドアロンサーバーです。小規模なインストール、または完全なApacheサーバーを使用できない場合に最適です。

あなたが実際にしていない必要があるあなたがしたいすべてのアクセスがローカルリポジトリである場合は、ファイルのURLを経由してSubversionのリポジトリにアクセスすることができるためで説明したように、けれどもSubversionサーバをこの回答

file://プロトコルを使用してリポジトリにアクセスできるため、Tortoise SVNのみをインストールする必要があります。FAQでこの質問を参照してください:サーバーなしでTortoiseSVNを使用することは可能ですか?

リポジトリをusbデバイスに保存して、ソースを持ち歩き、他のコンピューターで作業することもできます。

TortoiseSVNを使用している場合は、TortoiseSVNを使用したリポジトリの作成で手順を確認できます。

  1. Windowsエクスプローラーを開きます

  2. 新しいフォルダーを作成し、SVNRepositoryなどの名前を付けます

  3. 新しく作成されたフォルダーを右クリックし、TortoiseSVN→ここにリポジトリを作成...を選択します。

このページのすぐ上では、コマンドラインからリポジトリ作成する方法についても説明しています


そうは言っても、MercurialまたはGitを代わりに使用することをお勧めしますsvn。TortoiseSvnに精通している場合は、TortoiseHgTortoiseGitが簡単に移行できることに加えて、必要に応じて後から分散した方法で作業する柔軟性が得られます。たとえば、過去にhgネットワークにアクセスせずにマシン間でリポジトリを転送するためにメモリスティックを使用しました。この方法で作業すると、無料のバックアップがお買い得になります。


なんて素晴らしい答えでしょう!
スティーブ

9

すべてのsvn-clientに埋め込まれた、ローカルリポジトリでの作業に使用できる最も単純な(かつ最速の)サーバー。これは、プロトコルfile:///を使用して、ローカルファイルシステムに存在する任意のリポジトリおよび任意の量のリポジトリにアクセスするためのサーバーです。許可や認証方法を提供せず、制御下のリポジトリへの完全な無制限のアクセスのみを許可しますが、反対側からは、VCSシステム自体のすべての機能を使用および提供できます。

このサーバーを使用するには、任意の場所の空のディレクトリに、対応するサブコマンドとパラメーターを使用してCLIコマンドsvnadminを呼び出します(思い出せない、CLIクライアントバンドルに管理プログラムがあるかどうか、できないそれを確認してください-CLI svn-clientをインストールしておらず、TortoiseSVNのみをインストールしており、これらのプログラムはバージョン1.7のインストーラーにあります)-私はあなたがそれを見つけられることを望みます。

svnadmin help利用可能なすべてのサブコマンドを表示しますcreate。現在はサブコマンドに興味があります。

svnadmin help create 必要な情報をすべて提供する

create: usage: svnadmin create REPOS_PATH

Create a new, empty repository at REPOS_PATH.

Valid options:
...

最初のレポの開始点では、すべての微調整オプションを無視してメインフォームのみを記憶できますsvnadmin create REPOS_PATH。REPOS_PATHは、レポ用に計画された空のディレクトリへの絶対パスまたは相対パスです。ほとんどの場合、クロスプラットフォームアプリケーションの通常のWindowsユーザーは混乱する可能性があるため、パス(metoo)で使用する表記(フォワードスラッシュまたはバックスラッシュ)が最も安全な方法はcd、長いパスなしでディレクトリが表示される場所です-将来のリポジトリディレクトリの親またはディレクトリ自体。にレポを計画した場合z:\Main svnadmin create

Z:
cd \Main

そして、ついに、

svnadmin create .

結果として、ディレクトリに空のリポジトリが作成されます。これは、コンテンツインジケータとして特別なアイコンでWindowsエクスプローラに表示されます

RepoFolder

さて、このリポジトリが必要になるたびに、通常のSVNコマンドを使用しますが、URL部分またはパラメーターはfile:///Z:/Main

c:\>svn ls file:///Z:/Main
branches/
tags/
trunk/

(レポジトリに標準リポジトリツリーを追加しました)。

この奇妙なURLを分析しましょう:

  • file:///、すべてのURLに関しては、アクセスプロトコルを意味します。この場合、プロトコルは特別であり、2つのスラッシュではなく3つのスラッシュがあります。
  • Z:/Main ドライブとドライブ内のパスを含むレポへのフルパスです。すべてのWindowsバックスラッシュは「クラシック」スラッシュに置き換えられます

他の点から、このリポジトリは、特別なSubversionサーバーを持つ「Big Brothers」と何の違いもありません。

file:/// repoのRepoBrower


1
@Lazy Badger OPは、svnサーバーのセットアップ方法を明確に尋ねました。あなたは彼に、サーバーを一切使用しないように言った。これにより、前述のように質問への回答が回避されます。
代替案

5
@mathepic-実際、OPはサーバーではなくSVN リポジトリを設定する方法を尋ねます-大きな違い。
マーフ

5

詳細ではなく一般的なソリューションを推奨する答えを試してみましょう。

まず、はい、スタンドアロンコンピューターでSubversionを使用できます-サーバーをローカルにインストールするか、file://で作業できます


しかし、Subversionを使用しなければならない非常に正当な理由がない限り、これはローカルバージョン管理の問題に対する最善の解決策ではないことをお勧めします。ソースコードは少なくとも2か所にあります(はい、個人的なものであっても)。したがって、分散バージョン管理システム(DVCS)の使用をお勧めします。

DVCSの利点の1つは、ツールをインストールすると、リポジトリがフォルダー内に自己完結し、ファイルレベルのアクセス権がある限り、「同じ」リポジトリを含む異なるフォルダー間でコンテンツを同期できることです。また、これらのレポの「サーバー」バージョン(プライベートにホストされているか、サービスとして利用可能です)と話すオプションもあります。これにより、すべてをローカルで実行しやすくなります。

DVCSには他にも利点があります。

既に述べたように、コードが少なくとも2台のマシン(具体的には2台の異なるハードディスク、理想的には複数の場所にある場合-USBスティックまたは「クラウド」ストレージ(skydrive、dropboxなど)も機能する別の方法です)。

どのDVCSに関しては、Mercurial(Hg)とGit、およびVeracityも検討します。Mercurialを使用するのは、Windowsの方が優れているからです...

ホストされたサービスの条件であれば、githubを賞賛するべきものがたくさんあることに実際に同意します-しかし、bitbucketとFogbugz / Kilnについても多くの素晴らしいことがあります...そして同じことがおそらく他の多くのサービスにも当てはまります私はリストしていません(例:http : //beanstalkapp.com/は、本日、Twitterで私に渡した際に言及されました)


2

Subversionはサーバーを必要としません。中央リポジトリを使用しますが、このリポジトリには「ファイル」アクセス方式でアクセスできます。つまり、リポジトリが保存されているファイルシステムにアクセスするだけで済みます。これを設定する最も簡単な方法は、hddのどこかにフォルダーを作成し、TortoiseSVN(または同様のツール)をポイントして、「ここにリポジトリを作成」することです。そこから、リポジトリにコードを取り込むために必要なことは何でもできます。

ただし、長期的には、分散SCMを使用する方が良いでしょう。最適な候補はgit(より強力で急な学習曲線、* nixで最適に動作します)およびmercurial(少し弱く、学習しやすく、同等に動作します) Windowsや* nixでも同様です)。これらにより、作業コピーにはリポジトリ全体が含まれ、必要な数のクローン(リモートまたはローカル)を作成できます。ローカルで開始できます。リポジトリを外部でホストする場合は、既存のローカルリポジトリを外部の場所に複製するだけで、いつでも双方向に同期できます。さらに良いことに、各クローンにはプロジェクト履歴全体が含まれているため、SCMはバックアップシステムとしても機能します。Subversionでは、サーバーが停止し、バックアップしていない場合、履歴はなくなります-gitを使用すると、

http://hginit.com/には、mercurialの使用開始に関する優れたチュートリアルがあります。


1

1人または2人の開発者に無料のアカウントを提供し、コードを公開する必要のないSVNホスティング会社かなりあります。リンクされたチャートで手数料0ドル、OSS必須= NOを確認してください。現在、これらの条件を満たす9つのプロバイダーを数えています。

独自のリポジトリを非常に簡単にホストできますが、プロバイダーを使用することにはいくつかの利点があります。

  • 追加のセットアップなしで、どこからでもコードにアクセスできます。

  • コードをオフサイトに保持すると、ハードディスクのクラッシュ、火災などから保護されます。

  • 低い管理オーバーヘッド。


OP側には合理的な概念あります -彼はSVNを望み、ローカルにそれを望みます(最後の言葉-最も重要)。カジュアルなユースケース。さまざまなユースケースで回答しましたが、これは「回答ではない」と見なすことができます。最初の単語からテキストを読み直してください。私はあなたや他の人の回答に「回答ではない」とフラグを立てませんでしたが、正式は回答はありません。HTH
レイジーバジャー

OPの最後の文を読み直します:「インターネットに接続していないときでも、自分だけがアクセスするWindows XPマシンにローカルサーバーをセットアップできる場合は?」- これは、平易な英語のテキストでの質問です。この質問には回答が必要です。あなたの「答え」は質問と何らかの形で相関していますか?間違いを認識し、少なくとも自分自身に正直であること
レイジーバジャー

私は行間を読みません(そして、これを複数回示しまし)。筆者は発言したいが発言したくないという著者のことを考えずに、書いたものを正確に読み、質問に答えます。このトピックのほとんどの回答とは反対に、回答は質問と相関していません
レイジーバジャー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.