[p4] Using current directory as client root?

Jeff A. Bowles jab at pobox.com
Thu Jan 17 12:51:45 PST 2008


One of the particularly lousy choices that I've seen in build systems is
something that VSS seemed to encourage:   "pull down this subtree 'here' and
that subtree 'there' and compile it."
("p4 print" in a loop would be somewhat similar to this strategy.)

VSS would happily dump "the latest subtree" wherever you wanted, leaving its
little messes in each corner like an untrained puppy, and you had to guess
which mess came from which moment and why. (I'll leave the rest of the
metaphor for the idle mind to fill in.)

That is, probably more than anything, why I always suggest "sync to a known
label or changelist or moment, never to 'latest revision', for a build that
is to be reproducible." (I realize you can label your client's "have-list"
after-the-build, but it strikes me as inviting a particularly technical
question from QA: how do you know that you can build from that label? "You
have built and then labeled, so there is no evidence except for your faith
that it can be done in the other order."  Even a tool as reliable as the
Perforce database server still invites such a question.)

I believe in QA people being strong developers who ask pesky questions. (You
might have noticed.)

   -Jeff Bowles


On Jan 17, 2008 8:48 AM, Dave Lewis <dlewis78731 at gmail.com> wrote:

> We generally just create a new client for each build.  If a build was
> certified by qa, you could label it as the release if necessary.  It
> never occurred to me that there was anything undesirable about it.
> Just my point of view.  Its interesting to rethink these sorts of
> things when somebody comes along and says they don't like that.  There
> was the issue of cleaning up the clients at some point afterwards.  I
> think, though, that this is fairly straightforward usage compared to
> various other somewhat crooked approaches.
>
> dave
>
>
> On Jan 16, 2008 9:47 PM, Roy Smith <smith_roy at emc.com> wrote:
> > Yeah, this sounds like mostly what I'm looking for.  It's still
> > annoying that you have to create a transient clientspec, though.
> >
> >
> >
> > On Jan 16, 2008, at 7:06 PM, Robert Cowham wrote:
> >
> > > Sounds like that might be addressed by:
> > >
> > > http://www.perforce.com/perforce/doc.072/user/relnotes.txt
> > >
> > > Release 2007.2.
> > >
> > > Major new functionality in 2007.2
> > >
> > > New 'p4 sync' option bypasses db.have updates - #111247 **
> > >
> > >           'p4 sync' now sports a '-p' option.  This allows the user to
> > >           sync files without the server keeping track of it.  This
> > >           option is very useful when populating  build clients or when
> > >           publishing content when there is no requirement for saving
> > >           the client workspace state.
> > >           (Bug #22857).
> > >
> > > This would require the "create temporary client hack", but perhaps
> > > solve the
> > > problem??
> > >
> > > Robert
> > >
> > >> -----Original Message-----
> > >> From: perforce-user-bounces at perforce.com
> > >> [mailto:perforce-user-bounces at perforce.com] On Behalf Of Roy Smith
> > >> Sent: 16 January 2008 19:58
> > >> To: Perforce User
> > >> Subject: [p4] Using current directory as client root?
> > >>
> > >> I have a requirement (as part of our build system) to be able
> > >> to get a set of files from the repository and have them
> > >> written to any arbitrary directory.  Because the root path is
> > >> embedded in the client spec, there doesn't seem to be any way
> > >> to do this.
> > >>
> > >> We've played with all sorts of hacks.  We can create a
> > >> symlink from the root path embedded in the client to where we
> > >> really want the
> > >> files.  We can create and destroy temporary client specs on
> > >> the fly.
> > >> But all these seem like hacks.  Surely there must be some
> > >> simple way to say, "just put the files HERE".
> > >>
> > >> We don't need the workspace to be managed by perforce.  We'll
> > >> never want to edit the files there, or submit any changes
> > >> from there.  We just want a read-only copy of the source tree
> > >> so we can build it.
> > >
> > >
> >
> > -------------------
> > Roy Smith <smith_roy at emc.com>
> > Software Guy, EMC Common Management Group
> > 44 South Broadway, 7th floor
> > White Plains, NY 10601
> > (914) 580-3427
> > AIM: roysmith649
> > _______________________________________________
> >
> > 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
>



-- 
---
Jeff Bowles - jeff.a.bowles at gmail.com


More information about the perforce-user mailing list