[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