[p4] [BULK] Re: How to make a clientspec which syncs only to agiven tag
Martin, Ralf
RMartin at harmanbecker.com
Thu Sep 7 06:55:13 PDT 2006
It is very interesting to read this long thread.
At my company we had the same discussion two years ago.
I wrote a C++ tool using the api (called P4SyncManager) that covers most of the features requested by this thread.
I am sorry that the copyright does not allow me to distribute it.
I hope that Perforce reads this thread and will implement it,
because this all would be very useful to have it inside of Perforce and not at a tool outside.
But let me share the ideas, because we made a lot of good experiences with P4SyncManager.
Here is an excerpt of the documentation:
-------------------------------------------------------------
2 Overview
P4SyncManager is a C++ win32 program that directly uses the P4API. It was developed to provide the fastest method for syncing and to extend the p4 tools with these main features:
* Syncing over multiple servers.
* Referencing components directly from Trunk where they are released with a changelist that corresponds with a released version.
* Ability to import other composition files (like #include)
There are a lot of minor features that make a developer's and release engineer's life easier:
* automated creation/update of a client form out of a composition file
* composition file is under normal source control
* automated usage of Perforce Proxies
* easy usage from P4Win or P4V via customization
* creation of a P4SyncManager.ini file for usage from command line
* creation of P4CONFIG files (see Perforce documentation for more details)
* usage directly from entire depot view (don't need the file on local hard disk)
* logging of all activity to a file named "P4SyncManager_log.txt"
* the format of the composition file is very close to Perforce forms syntax but it is also possible to place comments inside
* syncing to a baseline with automated change to all clients
-----------------------------------------------------------------
Here is an example of a simple composition file:
--------------------------------------------------------------
# A SyncManager Perforce Client Specification.
# ...
Version: 4.3.0
Project: MyProjectReference
Server: 172.16.3.55:1666
Options: noallwrite noclobber compress locked nomodtime rmdir
LineEnd: share
View:
# components from Trunk
//MyProject/Trunk/project/... //<Client>/project/...
# files from component pool
//ComponentPool/Trunk/... //<Client>/pool/... @1973746
------------------------------------------------------------
Ralf
> -----Ursprüngliche Nachricht-----
> Von: perforce-user-bounces at perforce.com
> [mailto:perforce-user-bounces at perforce.com] Im Auftrag von
> Monica Sanchez
> Gesendet: Mittwoch, 23. August 2006 21:32
> An: Ivey, William; Perforce Users
> Betreff: Re: [p4] [BULK] Re: How to make a clientspec which
> syncs only to agiven tag
>
> I think this may be very useful.
> Example:
> - Clientspecs for old releases.
> - Clientspecs using labels when the same source code is used
> on different projects.
> - Clientspecs defining by a label a third party software
> directory version.
>
>
> I'd also love to have #include, and date-time option on the
> clientspec, one example for this will be that one person can
> update and test a third party software, submit it, label it
> and modify the "include" file for third party software, so
> all users will start using this latest code for this specific vendor.
>
> Thanks,
> Monica
>
>
>
> -----Original Message-----
> From: perforce-user-bounces at perforce.com
> [mailto:perforce-user-bounces at perforce.com] On Behalf Of Ivey, William
> Sent: Wednesday, August 23, 2006 2:38 PM
> To: Perforce Users
> Subject: [BULK] Re: [p4] How to make a clientspec which syncs
> only to a given tag
> Importance: Low
>
> > -----Original Message-----
> > From: perforce-user-bounces at perforce.com
> > [mailto:perforce-user-bounces at perforce.com]On Behalf Of
> William Deegan
> >
> > I'd still say ideally perforce would allow the clientspec
> to indicate
> > versions of files, including via labels.
> >
> > Anyone think that's a bad idea, as opposed to itemizing
> ways to work
> > around not having that functionality?
> > -Bill
>
> For my own use, I might find it convenient in a couple of cases.
> But to be honest, I might be the only around here who would
> use it, and if some of the others did try to use it, my
> experience is they'd forget it was set inside the client spec
> and call me to diagnose why their setup is "broken".
>
> So, I don't have a strong feeling one way or the other. It's
> not something I miss having, and I'm kind of partial to
> making the actions explicit on the command line rather than
> hiding them, but for those who do find it useful, lobby for it.
>
> -Wm
>
> _______________________________________________
> 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
>
*******************************************
Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtuemlich erhalten haben, informieren Sie bitte sofort den Absender und loeschen Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet.
This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the contents in this e-mail is strictly forbidden.
*******************************************
More information about the perforce-user
mailing list