Stupid win32 perforce tricks
MarcP.Kwiatkowskimarc at mpath.com
MarcP.Kwiatkowskimarc at mpath.com
Thu Apr 2 23:03:15 PST 1998
If you want to create a client that is capable of mapping
files to different FAT or NTFS drives, just export the
drives of interest, and use the UNCs in your perforce client.
For example suppose I want to map a bunch of perl modules
to d:/perl/lib/, gnumake and some other scripts to c:/local/bin,
and a bunch of source to e:/. Using the win32 explorer,
I share c:/local as //thelonious/local, d:/perl as
//thelonious/perl, and e: as //thelonious/home. Now I can map
gnumake and other script to c:/local/bin, various perl modules
to d:/perl/lib/.../*.pm, and my current project to e:/project using
the client below:
Client: //thelonious-client
Date: 1998/04/02 18:12:45
Owner: marc
Description:
Created by marc.
Root: //thelonious
Options: nomodtime noclobber
View:
//depot/thirdparty/gnu/make-3.76.1/WinRel/make.exe //thelonious-client/local/bin/make.exe
//depot/build-tools/bin/... //thelonious-client/local/bin/...
//depot/build-tools/lib/... //thelonious-client/local/lib/...
//depot/build-tools/lib/.../*.pm //thelonious-client/perl/lib/.../*.pm
//depot/project/develop/... //thelonious-client/home/project/...
Note how I map most of /build-tools/lib to c:/local/lib, but stick the
perl-modules where my installation of perl expects them.
Forgive me if this is old hat. I haven't seen it
before, and it is so simple but so cool. I felt I had to share it.
As a side note. I find it simpler to make a separate client for utilities
and third party stuff than to include it in every project client. For
both thirdparty and in-house utilities the client mappings tend to be
non-trivial. For my home machine I want only the bare minimum I need
to pull over a modem and when architecture matters I need win32. For
my work machine I mostly want a full copy of things and typically need
solaris versions of binaries. I find it preferable to get the mappings
right once and be done with it, since these clients change rarely.
For builds, I create labels that are rooted at //depot, so I can add
all the files from all the clients involved in a build, including the
third-party/in-house-utilities client.
- --
marc at mpath.com
More information about the perforce-user
mailing list