You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by "Krebs, Steven" <st...@intel.com> on 2004/07/26 18:04:56 UTC

Need help with repos setup using Ignore and Externals

Howdy all,

I posted this last week and didn't get a response (did I do something
wrong or is it my after shave?), so I have changed the subject line
in hopes that it will catch someone's eye this time (sorry about the 
length of the e-mail).

I need a quick sanity check.  I have been reading Ch7 on Ignore 
Patterns and Externals and I am in the process of designing a 
conversion from my PVCS Version Manager regression test repo that 
is a little complex.

My current PVCS setup has tests for iA32 and iA64 processors and 
some shared tests. My PERL script does a check out of the shared 
tests, and then checks out the architecture specific tests to 
the same directory as so (PERL script also creates one log dir 
for each TestSuite):

(PVCS repo)
Shared/         
  TestSuite1/                     
      tst/File01.tst
      tst/File02.tst
  TestSuite2/
      tst/File03.tst
      tst/File04.tst
iA32/
  TestSuite1/
      tst/File05.tst
      tst/File06.tst
  TestSuite2/
      tst/File07.tst
      tst/File08.tst
iA64/
  TestSuite1/
      tst/File09.tst
      tst/File10.tst
  TestSuite2/
      tst/File11.tst
      tst/File12.tst

(PVCS iA32 working copy checkout)
Regress/
  TestSuite1/
      log/(logs from tst files placed here with relative path ../log)

      tst/File01.tst
      tst/File02.tst
      tst/File05.tst
      tst/File06.tst
  TestSuite2/
      log/(logs from tst files placed here with relative path ../log)

      tst/File03.tst
      tst/File04.tst
      tst/File07.tst
      tst/File08.tst

(PVCS iA64 working copy checkout)
Regress/
  TestSuite1/
      log/(logs from tst files placed here with relative path ../log)

      tst/File01.tst
      tst/File02.tst
      tst/File09.tst
      tst/File10.tst
  TestSuite2/
      log/(logs from tst files placed here with relative path ../log)

      tst/File03.tst
      tst/File04.tst
      tst/File11.tst
      tst/File12.tst


Here is the repo I want to create in svn:

(svn repro)
Shared/         
  TestSuite1/
      tst/File01.tst
      tst/File02.tst
  TestSuite2/
      tst/File03.tst
      tst/File04.tst
iA32/
  TestSuite1/
      log/ (ignore all files *.*)                     
      sh_tst/ (external to shared/TestSuite1/tst/ )
      tst/File05.tst
      tst/File06.tst
  TestSuite2/
      log/ (ignore all files *.*)                     
      sh_tst/ (external to shared/TestSuite2/tst/ )
      tst/File07.tst
      tst/File08.tst
iA64/
  TestSuite1/
      log/ (ignore all files *.*)                     
      sh_tst/ (external to shared/TestSuite1/tst/ )
      tst/File09.tst
      tst/File10.tst
  TestSuite2/
      log/ (ignore all files *.*)                     
      sh_tst/ (external to shared/TestSuite2/tst/ )
      tst/File11.tst
      tst/File12.tst


So that I can check out something like:

Regress/>svn checkout svn:<path>/iA32/* 
Regress/
  TestSuite1/
      log/ (log dir created by svn co, however,
            svn status never reports ? For files created here)

      sh_tst/File01.tst
      sh_tst/File02.tst
      tst/File05.tst
      tst/File06.tst
  TestSuite2/
      log/ (log dir created by svn co, however,
            svn status never reports ? For files created here)

      sh_tst/File03.tst
      sh_tst/File04.tst
      tst/File07.tst
      tst/File08.tst

Regress/>svn checkout svn:<path>/iA64/*
Regress/
  TestSuite1/
      log/ (log dir created by svn co, however,
            svn status never reports ? For files created here)

      sh_tst/File01.tst
      sh_tst/File02.tst
      tst/File09.tst
      tst/File10.tst
  TestSuite2/
      log/ (log dir created by svn co, however,
            svn status never reports ? For files created here)

      sh_tst/File03.tst
      sh_tst/File04.tst
      tst/File11.tst
      tst/File12.tst

I think that explains it correctly.  Is this doable? Are there 
suggestions for better ways of doing this.

The main constraint I have is that the existing tst 
files (100's of them) expect to output their log files to a 
relative directory to the tst directory (../log/<file>.log) and 
analysis tools expect to find the log files there.  

I would like to keep the shared test files in the tst dir, however 
I don't think that is a good idea (or possible) with svn (our 
wrappers for PVCS used the $Header$ keyword to correctly figure 
out where the archive for each file was for diffing and 
checkin), however, I think it would not require too many changes 
to the existing tests to move the shared tests to a sister 
directory (sh_tst/).

Thanks much for your valuable input.

Steve Krebs

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org