2012-01-05 12 views
2

新しい開発プラットフォームを展開しています。Samba共有へのクローン作成時にGitが遅くなる

私たちは開発者のコ​​ンピュータでは再現できない非常に複雑な環境を持っており、コンピュータ上のGITリポジトリを複製することはできません。
代わりに、リポジトリはマップされたネットワークドライブ(SAMBA共有)に複製されます。サーバの開発者用のウェブサイトのDocumentRootです 各開発者は独自の共有+ DocumentRoot /ウェブサイトを持っています。
開発者は、オペレーティングシステムとしてLinuxまたはWindowsを使用しています。

私たちは1Gbits/sec接続を使用していますが、GITは現地での使用に比べて非常に遅いです。 私たちのリポジトリのサイズは〜900 MBです。

samba shareのgit statusは約3分かかります。これを達成するには、使用するには、が必要です。

私たちはいくつかのSAMBAチューニングを試しましたが、まだまだ遅いです。

アイデアはありますか?

ありがとうございます。

エマニュエル。

+0

問題のSAMBAマシンに何らかのダイレクトログインをした方が良いと思われます。言い換えれば、あなたのシステムが評価する前にGit情報をネットワーク上で引っ張っているので(つまり、Gitステータス)、Gitをネットワーク上で使用しようとすると、実際には遅くなります。実際のリモートアクセス(SSH、リモートデスクトップなど)がある場合は、Gitコマンドの応答時間が大幅に増加すると確信しています。 – TheBuzzSaw

答えて

4

私はgit statusが単にあなたのリポジトリの変更を探していると思います。これは、すべてのファイルを調べ、変更されたファイルをチェックすることによって行います。これをSambaや他の共有に対して実行すると、ネットワーク接続を介して検査する必要があります。

私はGitの実装のいずれかの親密な知識を持っていないが、私の想像力は、それが本質的

  • を繰り返し、すべてのディレクトリ
  • のディレクトリ内のすべてのファイルを調べ

    • に帰着するということですしたがって、共有への単一の永続接続を作成するのではなく、リポジトリ内のすべての単一ファイルに1つずつ作成し、高速接続でも低速になる900MBの共有を作成します。

      代わりに次の作業フローがあるとお考えですか?

      • は、ローカルマシン
      • にすべての開発者のクローンを持っている彼らが展開/テスト/デバッグする必要がある場合、ローカルマシン上

      をシェアする

    • プッシュ変更を作業を行いますこれは避けるだろう実際のシェアでgitを使用し、この問題を解決してください。

    +0

    これは私がそれがうまくいくと思いますが、全く同じワークフローでSVNを使用していましたが、変更されたファイルを見つけるのがはるかに高速でした。 SVNは変更されたファイルを識別する別の方法を持っていますか? – KOGI

    関連する問題