[p4] Obtain a clean workspace [Re: Is there a way to auditaworkspace?]

Peter Buckley buckmeisterq at gmail.com
Tue Aug 18 10:54:01 PDT 2009


I don't think it is a distrust of perforce, but rather a distrust of their own poor dependency checking and "make clean" not being maintained in build scripts. 

People would rather use the band-aid of having perforce give them a clean workspace every time rather than fix the disease of an inadequate build system. 

And as I'm throwing this first stone, I would be the first to admit that it is SOP at my shop to fix the symptom over and over and over, working late nights at the drop of a hat, rather than fix the underlying cause of the issue. It is a systemic way of working that infects most areas of life, not just the office. 

Thanks,
Peter

-----Original Message-----
From: Matt Janulewicz <matt.janulewicz at lucasfilm.com>

Date: Tue, 18 Aug 2009 10:16:12 
To: Paul-Marc Bougharios<paulmarc.bougharios at gmail.com>
Cc: Slava Imeshev<imeshev at yahoo.com>; <perforce-user at perforce.com>
Subject: Re: [p4] Obtain a clean workspace [Re: Is there a way to audit
	aworkspace?]


I'm still wondering why people 'distrust' Perforce so much and want 
clean workspaces so often. The tool was obviously purchased to feel a 
need and I still think there are enough facilities built in to Perforce 
to not *have* to do clean syncs all the time.

Our build processes rarely do clean syncs for day-to-day continuous 
builds. In the games industry, for instance, you might be talking about 
dozens of gigs of syncing for a build. Why bother? Leverage the tool, 
re-educate, play to the strengths of Perforce instead of working around 
perceived weaknesses.


-Matt


Paul-Marc Bougharios wrote:
>
> Another way of having a "clean" workspace is to delete and recreate it 
> from
> Perforce side only.
> It can be done by doing:
> p4 have > have.log
> p4 client -o > client.log
> p4 client -d
> p4 client -i < client.log
> p4 -x have.log flush
>
> If there is a portion not needed, one would "un-sync" the path concerned
> before executing the above commands.
> As a reminder, "un-syncing" can be done by:
> p4 sync //PATH/...#0
>
> Cheers,
> Paul-Marc Bougharios
>
>
> On Tue, Aug 18, 2009 at 6:53 PM, Richard Kistruck 
> <rhsk at ravenbrook.com>wrote:
>
> > (Note change of topic, from auditing an existing workspace, to 
> obtaining a
> > new clean one).
> >
> > On 2009-08-18Tue, at 04:31, Slava Imeshev wrote:
> >
> >> p4 sync -f a bullet-proof way of having a clean build
> >>> workspace, which is a good idea for release/QA builds.
> >>>
> >>
> >> I should have mentioned that "bullet-proof" implied emptying
> >> the build workspace before running p4 sync -f.
> >>
> >
> > "sync -f" DOES NOT overwrite open files.  If you want to obtain a clean
> > workspace, you must revert all open files first, or no amount of syncing
> > will help you.
> >
> >  <
> > 
> http://www.perforce.com/perforce/doc.091/manuals/cmdref/sync.html#1040665>
> >
> > (And, even worse, when you have an open file, "p4 sync -f" gives a
> > potentially misleading report of "myfile.txt - file(s) up-to-date." 
> -- try
> > it!  Your p4 version may differ...)
> >
> >
> >
> > To obtain a clean workspace, starting from nothing, one suitable 
> procedure
> > is:
> >
> >  1.  p4 revert mywork/...
> >  2.  rm -rf mywork
> >  3.  p4 sync -f mywork/... at NNN
> >
> > Discussion: The "revert" is necessary to close any p4-opened files.  You
> > probably want to check for them with "p4 opened mywork/..." before 
> blindly
> > reverting them all!  For anyone who doesn't speak Unix, the "rm -rf" 
> removes
> > the "mywork" directory and everything it contains.
> >
> > (One more note: If you are doing this from a script, and relying on 
> it for
> > a product that carries your reputation, then you had better also 
> make sure
> > your script checks for and halts if there are any errors from the p4
> > commands, such as from the network going down!)
> >
> > Again: this is the procedure I use, to obtain a small clean 
> workspace from
> > scratch; corrections or improvements are welcomed.
> >
> > Richard Kistruck
> > Ravenbrook Limited
> > _______________________________________________
> > perforce-user mailing list  -  perforce-user at perforce.com
> > http://maillist.perforce.com/mailman/listinfo/perforce-user
> >
> _______________________________________________
> perforce-user mailing list  -  perforce-user at perforce.com
> http://maillist.perforce.com/mailman/listinfo/perforce-user
>
_______________________________________________
perforce-user mailing list  -  perforce-user at perforce.com
http://maillist.perforce.com/mailman/listinfo/perforce-user




More information about the perforce-user mailing list