config #8

  • //
  • guest/
  • richard_geiger/
  • utils/
  • cvs2p4/
  • test/
  • config
  • View
  • Commits
  • Open Download .zip Download (5 KB)
#
#  Config file for cvs2p4
#

# $Id: //guest/richard_geiger/utils/cvs2p4/test/config#8 $

# p4 command location (If other than "/usr/local/bin/p4")
#
$P4		= "/usr/local/bin/p4";

# path to the RCS "co" command
#
$CO		= "/usr/bin/co";

# Perforce server we're using.
#
$P4PORT = "localhost:1678";

# Perforce client name for the conversion client.
# I can't imagine why you'd want to change this, but maybe you can!
# (The client is created automatically by bin/dochanges)
#
$P4CLIENT = "cvs2p4";

# Perforce user name to use during the conversion.
# This code defaults it to the user name of the user running
# the conversion, but you can override that here if you want.
#
#
(@pwent) = getpwuid($<);
if ($#pwent < 7)
  {
    print STDERR "$Myname: can't get your passwd file entry.\n";
    exit 1;
  }
$P4USER = $pwent[0];

# Top of the module in the p4 depot namespace
#
$P4_DEPOT     	= "//depot/Test";

# Top of the CVS module repository to convert
#
# (Typically, you'll use an absolute path, but it can also be relative
# to where you execute the conversion commands from.)
#
$CVS_MODULE	= "test";

# Allow symlinks to directories in the top level of the RCS module.
# Useful for partial converts of CVS modules, where you only want
# certain subtrees, e.g., you have a cvs module "d" with:
#
#   $CVSROOT/d/x
#   $CVSROOT/d/y
#   $CVSROOT/d/z
#
# ...and you only want to import d/x & d/z; you create
#
#   $CVSROOT/D
#   $CVSROOT/D/x -> $CVSROOT/d/x
#   $CVSROOT/D/z -> /d/z
#
# set CVS_MODULE to "D", and set this:
#
$SYM_SPECIAL    = 1;

# Files you don't want.
# (Any files matching this regular expression will not be imported).
#
$IGNOREFILES	= "^(.cvsignore)\$";

# Name of the "head" codeline (which will become the "main" branch in
# Perforce). Use "head" to get the cvs trunk, or another branch tag
# name if you want that branch to become the "main" branch in
# Perforce... This needs to be "shemp" to work for the test cases, and
# "shemp" should actuall be OK as long as you don't have a branch
# named "shemp" in CVS - i.e., the trunk will end up as "main/..." in
# Perforce. But if that makes you nervous, you can set this to
# "trunk".
#
$TRUNKLINE    	= "shemp";

# Conventional branch tag name suffix to remove when importing to
# Perforce. (This is a netapp specific thing; our branch tags are
# named <name>_BRANCH, but we want the "branches" in the Perforce
# depot to be "$P4_DEPOT/<name>").
#
$BRANCH_FLASH   = "_BRANCH";

# How often (if > 0) to checkpoint.
#
# (I.e., "1000" means every 1000 change groups, as numbered in the
# generated "changes" file)
#
# Note: this uses the NetApp-local tool "p4d_admin", which, if you're
# not at NetApp (and you probably are not, otherwise you'd be me, and
# would not bother to read this, right?). Anyway, this will only kick
# in when you runs this in the "netapp.com" domain... so you can
# probably ignore this entriely.
#
if ($CVS_MODULE eq "test" && $P4_DEPOT eq "//depot/Test")
  { $CHECKPOINT_INTERVAL = 10; }
else
  { $CHECKPOINT_INTERVAL = 0; }

# Whether to go all the way back to the first rev on the trunk.
# (Otherwise, we just go back to the oldest ancestor rev of any
# converted branch).
#
$ALLTHEWAYBACK=1;

# Whether to treat CVS tags on 1.1.1.1 revisions in CVS as if they
# actually name revision "1.1".
#
# In some archives initialized with "cvs import", and subsequently
# tagged, the tags for files which have not been revised since the
# import will point at the 1.1.1.1 revision (which is on the "import"
# branch).  normally (without this) cvs2p4 will model this, i.e., the
# tag for such files will appear in the "import" branch. However, some
# users may want to consider the file as having been tagged in the
# "main" branch. Setting this option will make cvs2p4 treat the tag as
# if it had named the 1.1 revision (which is, presumably, always
# identical to the 1.1.1.1 revision after a "cvs import". Note that
# repositories which have had several vendor drops could have tags
# pointing to other revisions 1.1.1.{n>1}, and this will not help in
# such situations!
# 
$IMPORTTAGSPOOF=0;

# Whether we're doing selected lines only...
# 
# Typically, you might run "genmetadata" once with this set to 0,
# which will print a list of all branch tag names encountered in the
# repository. Then, you might want to fill in the <<LINES here file to
# specify the list of lines you want to import into Perforce, set
# WANTLINES to 1, and rerun "genmetadata".
#
$WANTLINES = 0;

# If WANTLINES != 0, %WANTLINES contains a member for each line
# wanted...
#
if ($WANTLINES)
  {
    $wantlines = <<LINES;
shemp
curly
chupa
LINES
    @wantlines = split(/\n/, $wantlines);
    foreach $wantline (@wantlines)
      { $WANTLINES{$wantline} = 1; }
  }

1;

# Change User Description Committed
#31 5575 Richard Geiger split config file.
#30 5571 Richard Geiger Fix the "NOKEYEXP_PATHNAME" mechanism...
so that it works :-)
#29 5570 Richard Geiger decruftification.
#28 5569 Richard Geiger Just a variable name change:
NOEXC_PATHNAME in config is now NOKEYEXP_PATHNAME.
#27 5555 Richard Geiger NOEXC_PATHNAME
#26 5545 Richard Geiger nit checkpoint.
#25 5542 Richard Geiger checkpointing progress.
#24 5531 Richard Geiger A significant checkpoint commit, with new improved handling
of import vendor branches, and revisions present in main
by virtue of multiple vendor drops to a file with no local mods.

test/runtest works, with new refernece results pretty well
scrutinized.
#23 5490 Richard Geiger $Depotmap implemented.
#22 5489 Richard Geiger New checkpoint; now has multi-mod exclude_* files.
#21 5483 Richard Geiger The latest formula...
...and a typo.
#20 5467 Richard Geiger checkpoint.
Need to update the docs prior to release!
#19 5442 Richard Geiger A checkpoint commit on the way to a 2.6.0 release with the
new IronPort inspired improvements.
#18 5430 Richard Geiger This is another "checkpoint" commit.
 It significantly
rearranges how labels are done, so as to use a hueristic to
divine label<->branch identifications. Not intended for
release without further testing and tweakage!
#17 4914 Richard Geiger Adds PureRCS switch.
#16 4885 Richard Geiger Allow using a name other than "main" for the TRUNKLINE branch.
#15 3594 Richard Geiger Changes for 2.3.5
#14 2586 Richard Geiger Update the README to reflect my wandering ways.
Lord I was born a travellin man
Also, fix a few typos in the config file.
Not planning on releasing just for these.
#13 2061 Richard Geiger changes for 2.3.2:
  - can adjust db hash bucket size;
  - Add $DEPOT config variable
  - Handle labels with '#' or '@'
#12 1987 Richard Geiger Changes for 2.3.1
#11 1967 Richard Geiger Add new config item "DEADSTATE".
#10 1964 Richard Geiger Add $TEXTTYPE and surrounding accoutrements.
#9 1781 Richard Geiger This change reintegrates cvs2p4 2.0 developement work (through
2.0b6) back into my mainline development.
#8 1329 Richard Geiger Fix the dochanges example in README to say "convdir" like the
other examples;
Remove extraneous ALLTHEWAYBACK=1; the slipped into the config file.
Probably from listening to the WayBacks too much.
http://www.waybacks.com
#7 1206 Richard Geiger Genericize the "p4 labels" test case, and beef up the comments
describing $TRUNKLINE in the config file a bit.
#6 1203 Richard Geiger Fix bug where dolables couldn't cope with tag in which
the revision for a file was a delete

Add the IMPORTTAGSPOOF switch.
#5 1054 Richard Geiger Tweak a note in the config template.
#4 985 Richard Geiger Fix a couple of typos.
#3 791 Richard Geiger Update for a new release; my change-of-venue noted;
desensitized to conflicting P4CONFIG.
#2 179 Richard Geiger CHanges for 1.2.3
#1 130 Richard Geiger CVS-to-Perforce converter.
This is release 1.2.2
(first submit to the Perforce Public Depot)