4

私はClearCaseの初心者で、これまでSVNに慣れていました。したがって、ClearCaseへの複数のファイルを含む新しいディレクトリ構造を作成するために必要な手順について少し混乱しています。

したがって、たとえば、ClearCase内に次のような既存のディレクトリ構造があるとします。

\ParentDirectory
    \ChildDirectory1
        \File1
        \File2
    \ChildDirectory2
    \ChildDirectory3
        \File1
    \ChildDirectory4

この構造に新しいサブディレクトリChildDirectory5を追加したい場合、これには他の多くのファイルが含まれますが、これを行うにはどうすればよいですか?私が読んでいることから、最初に親ディレクトリをチェックアウトし、次にmkelemコマンドを使用して各サブディレクトリとファイルを作成する必要があります。

ただし、ローカルマシンに必要なファイルとディレクトリをすでに作成しているので、なんとかしてそれらをClearCaseにチェックインする必要があります。SVNを使用すると、親フォルダーをチェックアウトされたリポジトリにコピーし、その上でadd&commitコマンドシーケンスを実行するだけで済みます。

4

3 に答える 3

5

ClearCaseを使用して「ソース管理に追加…」を再帰的に使用するにはどうすればよいですか?、あなたはあなたが言っていることを行うclearfsimportを使用する必要があります(親ディレクトリをチェックアウトし、要素についてはmkelem)

clearfsimport -preview -rec -nset c:\sourceDir\ChildDirectory5 m:\MyView\MyVob\ParentDirectory

:に注意してください

  • -プレビューオプション:実際には何もせずに何が起こるかを確認できます。
  • '*'は、ディレクトリのコンテンツをインポートするために、Windows環境でのみ使用されます
  • -nsetオプション(nsetに関する以前の回答を参照)。

大量のデータをインポートする必要がある初期化フェーズには、動的ビューをお勧めします。更新を行わなくても(「ワークスペースを更新せずに」など)ビューがどのように表示されるかをすばやく確認できます
。ClearCaseでは、2つのデータにアクセスできます。方法:

  • スナップショットビュー(SVNワークスペースと同様ですが、すべての.svnが実際にワークスペース外のビューストレージで外部化されている点が異なります)
  • 動的ビュー:すべてのファイルがネットワーク経由で表示されます(即時アクセス/更新)
于 2009-01-06T21:14:52.737 に答える
2

私はこのスクリプトの変形を使用します(私はそれを「ctadd」と呼びます):

#!/usr/bin/perl

use strict;
use Getopt::Attrribute;

(our $nodo : Getopt(nodo));
(our $exclude_pat : Getopt(exclude_pat=s));

for my $i (@ARGV) {
  if ($i =~ /\s/) {
    warn "skipping file with spaces ($i)\n";
    next;
  }
  chomp(my @files = `find $i -type f`);
  @files = grep !/~$/, @files;  # emacs backup files
  @files = grep !/^\#/, @files; # emacs autosave files
  if (defined($exclude_pat)) {
    @files = grep !/$exclude_pat/, @files;
  }
  foreach (@files) {
    warn "skipping files with spaces ($_)\n" if /\s/ ;
  }
  @files = grep !/\s/, @files;
  foreach (@files) {
    my $cmd = "cleartool mkelem -nc -mkp \"$_\"";
    print STDERR "$cmd\n";
    system($cmd) unless $nodo;
  }
}

cleartool mkelemの-mkpathオプションは、必要なディレクトリを自動的に作成および/またはチェックアウトします。

このスクリプトの場合、-nodoはコマンドを出力するだけで、-excludeを使用すると、それに一致するファイルを除外するパターンを指定できます。

Getopt :: Attributeは標準のPerlディストリビューションの一部ではありませんが、お近くのCPANミラーで利用できることに注意してください。

于 2010-07-15T14:49:49.653 に答える
1

ローカル ディレクトリ構造をインポートする必要があります。コマンドはclearfsimportです。

于 2009-01-06T16:03:34.880 に答える