una subdirectorios por hacer directorios directorio crear consola como comandos carpeta clearcase

subdirectorios - ¿Crear una nueva estructura de subdirectorio en ClearCase?



crear directorios y subdirectorios en linux (3)

Soy un novato de ClearCase y hasta ahora me he acostumbrado a SVN. Por lo tanto, estoy un poco confundido sobre los pasos que debo seguir para crear una nueva estructura de directorios que contenga varios archivos en ClearCase.

Por ejemplo, supongamos que existe una estructura de directorios existente en ClearCase de la siguiente manera:

/ParentDirectory /ChildDirectory1 /File1 /File2 /ChildDirectory2 /ChildDirectory3 /File1 /ChildDirectory4

Si deseo agregar un nuevo subdirectorio a esta estructura, ChildDirectory5, que contendrá una cantidad de otros archivos, ¿cómo hago esto? De lo que he estado leyendo, primero tendré que verificar el directorio principal y luego usar el comando mkelem para hacer cada subdirectorio y archivo.

Sin embargo, ya he creado los archivos y directorios necesarios en mi máquina local, así que solo necesito verificarlos en ClearCase de alguna manera. Con SVN, todo lo que tenía que hacer era copiar la carpeta padre en un repositorio desprotegido y hacer una secuencia de comando agregar y confirmar en él.


Tienes que importar tu estructura de directorio local. El comando es clearfsimport .


Utilizo una variante de este script (lo llamo "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; } }

La opción -mkpath de cleartool mkelem creará y / o revisará automáticamente cualquier directorio necesario.

Para este script, -nodo tendrá simplemente los comandos de salida, y -exclude le permitirá especificar un patrón para el cual se excluirá cualquier archivo que coincida con él.

Tenga en cuenta que Getopt :: Attribute no es parte de la distribución estándar de Perl, pero está disponible en un espejo CPAN cercano a usted.


Como se explica en ¿Cómo puedo usar ClearCase para "agregar al control de origen ..." recursivamente? , tiene que usar clearfsimport que hace lo que dice (revise los directorios principales, mkelem para los elementos)

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

Nota la :

  • -opción de vista previa: permitirá verificar lo que sucedería sin hacer nada realmente.
  • ''*'' utilizado solo en el entorno de Windows, para importar el contenido de un directorio
  • opción -nset (ver mi respuesta anterior sobre nset).

Recomendaría la vista dinámica para las fases de inicialización donde necesita importar muchos datos: puede ver rápidamente cómo se ve su vista sin hacer ninguna actualización (como "sin actualizar su espacio de trabajo"):
ClearCase permite acceder a los datos de dos maneras:

  • vista de instantánea (como un espacio de trabajo SVN, excepto que todos los .svn en realidad se externalizan en un almacenamiento de vista fuera del área de trabajo)
  • vista dinámica: todos sus archivos son visibles a través de la red (acceso / actualización instantánea)