# PVCS to Perforce Converter Configuration File. # # Keywords in this file must start at the left column and end with a colon. # Values must be on the same line as the keyword or on subsequent lines # starting with a tab. # root of tree of archives to be converted # root: \\server\vmarchives\archives root: J:\PVCS-Projecte\WinSPS # Projects underneath root. # More than one allowed if seperated by "|", e.g. (Note no spaces after "|") # projects: /proj1|/proj2 projects: # Perforce Environment settings p4port: 3333 p4user: sknop p4client: pvcs # PVCS login info - required for PCLI usage pvcs_user: roeckerju pvcs_passwd: # Depot to import into e.g. //ourdepot specified as # depot: ourdepot depot: import # Depot root to use (defaults to main) # depot_root: import/proj with depot: ourdepot => //ourdepot/import/proj/... depot_root: pvcs # Files or folders to be excluded (comment out if not used) # Multiple files or folders can be excluded if seperated by '|'. # Notes: # - pattern matching is used at the start of the string, so "/Proj1/folder1/" will match # anything from that folder downwards. # - "/Proj1/folder" will match "/Proj1/folder1" and "/Proj1/folder2" etc (so be careful!!) # - special reg exp characters are turned off in the match string (quotemeta is used) so don't use * # etc and expect it to work. # exclude: /Proj1/Some folder/|/Proj2/some other folder/file # name to give directory in Perforce holding PVCS trunk revisions trunk_dir: main # whether to ignore branches in PVCS (treat all revisions as if they are # "on the trunk") - you may want to set this to "yes" if most branches # in PVCS are not labelled and/or you don't want to keep this information ignore_branches: no # element of depot filename to put branch name. Must be either 0, 1 or 2 # If 0: pvcs_root/foo/bar rev 1.0 -> //depot/foo/bar # pvcs_root/foo/bar rev 126.96.36.199 labelled X -> //depot/foo/bar # pvcs_root/foo/bar rev 188.8.131.52 unlabelled -> //depot/foo/bar # If 1: pvcs_root/foo/bar rev 1.0 -> //depot/T/foo/bar # pvcs_root/foo/bar rev 184.108.40.206 labelled X -> //depot/X/foo/bar # pvcs_root/foo/bar rev 220.127.116.11 unlabelled -> //depot/Y/foo/bar # If 2: pvcs_root/foo/bar rev 1.0 -> //depot/foo/T/bar # pvcs_root/foo/bar rev 18.104.22.168 labelled X -> //depot/foo/X/bar # pvcs_root/foo/bar rev 22.214.171.124 unlabelled -> //depot/foo/Y/bar # where T is the value of "trunk_dir" (set above) # X is the PVCS floating label # and Y is the value of "branch_prefix" (set below) plus a unique integer # # Note that if "ignore_branches" is set to yes then the above table should # be changed to show T in place of X and Y (i.e. everything is on the trunk) # If "ignore_branches" is set to no then branch_level 0 is not allowed. # # The default is 1. # branch_level 2 may be useful if you have a number of projects which are # independently released. In this case you should not have any archive files # in your pvcs root directory; there should only be directories # branch_level 0 is in general not recommended since you should have some # directory component indicating branching branch_level: 2 # prefix of name to give to unlabeled branches # (not relevant if branch_level set to 0) branch_prefix: dead # time interval (in seconds) between two checkins which can be considered # part of the same change time_interval: 600 # - whether to convert all filenames to lowercase. The default is no. lowercase_filenames: no # - whether to convert all paths (excluding filename) to lowercase. Note # that branch names are not lowercased. The default is no. lowercase_pathnames: no # - whether to convert all branch names to lowercase. The default is no. lowercase_branchnames: no # - whether to convert all user names to lowercase. The default is no. lowercase_usernames: no # Whether to convert all extensions to lowercase lowercase_extensions: yes # - whether to list all files in the tree rooted at pvcs_root, regardless # of whether the filename ends in .??v (where ? is a one character wildcard). # You only want to set this to yes if you have archives with filenames # that do not end in .??v (although it doesn't hurt setting it to yes if your # archive directories are clean and only contain archives!). The default is no. list_all_files: no # - regular expression specifying labels which indicate a (branch of a) file # is to be deleted. The regex is case sensitive. Recall that regex's in Perl # (and grep and awk..) are different than filename wildcards. # If you're not sure about this or you don't have a consistent way of # marking branches as being deleted, just leave the line commented out. #delete_label_regex: DELETE.* # Prefix to prepend to labels - makes importing nicer and avoids name conflicts label_prefix: # - debugging level - set to zero to speed things up, > 0 to track down # problems debug_level: 1 # - regular expression specifying which files are archive files. # As above, remember that regex's in Perl are different than filename wildcards. # By default the converter grabs all files ending in ".??v", where ? can be any # character except ".", and "v" can be either upper or lower case. arc_file_regex: -arc$ # - filename "extensions" which signify various file types - these overrule # the default determination of file type based on the PVCS GenerateDelta # and ExpandKeywords attributes in the archive file. The file extensions # are taken to be case insensitive. # THESE ARE JUST SENSIBLE DEFAULT VALUES. It's up to you whether you want # (e.g.) C source files (.c) to have keyword expansion or not. If not, # they should be of type text, otherwise of type ktext. type_binary: exe obj doc xls bin dms lha lzh pdf zip gz tar jar ear wav au snd jpg gif png tif tiff dll lib pdb ini type_text: ps eps pm env properties mdl sql paramdesc jpr jpx type_ktext: c h cc cpp html xml css type_xtext: pl sh csh # Whether to do a verify or not perform_verify=no
This is a modification of the public depot version of pvcsToP4.
This version requires the official P4Perl release from the Perforce ftp site.
The main change compared to the public depot release of pvcsToP4 is that this version supports branching - as far as I have been able to test - completely.
Please see CHANGELOG and README for some details.