[p4] Who deleted a client
Jeff A. Bowles
jab at piccoloeng.com
Wed Oct 3 11:36:30 PDT 2001
At 09:18 AM 10/3/2001 -0700, Russell C. Jackson wrote:
>1. Create the clientspec
>2. Run p4 client -o > clientname.txt
>3. Check in clientname.txt into the source area for the product it belongs
>4. Modify the build script to first sync out clientname.txt
>5. Then the build script runs p4 client -i < clientname.txt
>6. Then it does a full sync against that client to setup for the build.
Rusty mentioned something in this checklist that is
a "stealth" item, something that should be really
emphasized for all build scripts.
Don't ever assume that your build script contents,
the ones sitting in your workspace, are the current
revision. They should be, they better be, they must be.
But they might not be. Someone might've made a mod
to the script and checked it in; will your overnight or
product builds use the new functionality?
Also, is your build script checked into the area that's
specific to a particular release, or is it the same build
script for EVERY release? Odds are good that the
set of things to build for 1.0 aren't going to be the same
as for 5.0, and you don't want the headache of trying to
have your 5.0 script support older (1.0) builds. It's no fun.
1. Rusty's point #4 ("sync out the client spec") is actually
dancing near my point. Always pull the things you'll need
for the build from the most recent (or explicitly labeled)
copy [in the appropriate place] from the depot.
2. There's a command, "p4 print filename", that pulls a
copy from the depot without going through the client spec
and without changing the database information about which
revisions/files you "have". So
"p4 sync //depot/main/buildscript.pl > /tmp/build.pl"
might be a sequence you want. (You might end up with
two build scripts, one that's three lines long that just pulls
down the REAL script, sets some env variables or arguments,
and runs it.)
I'm still not sold on the "recreate the client on the fly
for the builds" strategy, since I prefer to just empty the
existing client and resync, but there's room on the bus
for all sorts of riders...
More information about the perforce-user