web-dev-qa-db-ja.com

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

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

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

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

25

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

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

ただし、Subversionサーバーは実際には必要はありません。ローカルでリポジトリにアクセスするだけの場合は、Subversionリポジトリにアクセスできます。 this answer で説明されているファイルURL:

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

リポジトリをusbデバイスに置くこともできるので、ソースを持って他のコンピューターから作業することができます。

TortoiseSVN を使用している場合、手順は TortoiseSVNを使用したリポジトリの作成 にあります。

  1. Windowsエクスプローラーを開く

  2. 新しいフォルダを作成し、それに名前を付けます。 SVNRepository

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

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


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

31
Mark Booth

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

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

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から場所への最も安全な方法は、 dirは長いパスがなくても表示されます-将来のrepo-directoryの親またはディレクトリ自体。リポジトリの予定z:\Mainbeforesvnadmin create

Z:
cd \Main

そしてついに、

svnadmin create .

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

RepoFolder

this repositoryが必要になるたびに、通常のSVNコマンドを使用します。URL部分またはパラメーターはfile:///Z:/Mainのようです

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

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

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

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

他の点では、このリポジトリは特別なSubversionサーバーを備えた「ビッグブラザー」と何の違いもありません。

RepoBrower for file:/// repo

9
Lazy Badger

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

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


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

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

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

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

どのDVCSに関しては、Mercurial(Hg)とGit、そして Veracity も調べます。 Mercurialを使用しているのは、Windowsでより優れているためです...

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

5
Murph

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

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

http://hginit.com/ には、Mercurialを使い始めるための優れたチュートリアルがあります。

2
tdammers

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

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

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

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

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

1
Caleb