[DUG] Source Control - Sharing files between projects
David Brennan
dugdavid at dbsolutions.co.nz
Wed Sep 26 15:58:38 NZST 2007
Thanks Paul.
We'll be downloading the Perforce demo and playing with it once we get the
current release out the door ;-)
Cheers,
David.
-----Original Message-----
From: delphi-bounces at delphi.org.nz [mailto:delphi-bounces at delphi.org.nz] On
Behalf Of Paul Heinz
Sent: Wednesday, 26 September 2007 3:50 p.m.
To: NZ Borland Developers Group - Delphi List
Subject: RE: [DUG] Source Control - Sharing files between projects
David wrote:
> Thanks Berend. That clarifies what you were meaning. A large
> part of working out how best to restructure our source
> control is coming to understand what the options are, hence
> my questions ;-).
>
> A couple of little questions for Berend, Paul or anyone else
> using Perforce.
>
> Does Perforce make it fairly easy to see which changes have
> occurred in a branch and have NOT yet been merged back into
> another branch (ie back into the Reference branch)?
Yes, very easily but it's not necessarily organised the way you might
like (i.e. in my case, files grouped into individual changesets, and
sorted by changeset). But Perforce is very automatable/scriptable so I
wrote a Delphi app which did the necessary twiddling. There is an
undocumented command (it's mentioned in the Perforce book) that does
more of what I wanted but having written the tool, it actually does more
heavy lifting than they do so I prefer it.
Since then I've gone even further by scripting Perforce using Python
(there's actually two Python interface libraries for Perforce now).
These scripts handle all my multiple codeline merge tasks relatively
effortlessly which was tedious to do via the GUI or command line. Mind
you, that only gets to be an issue when you're handling 6 code lines at
once (i.e. 3 releases being worked on in parallel (prior, current,
future) x 2 promotion stages).
As a general approach, Perforce focusses on getting the core operations
fast and rock-solid and then allowing you to automate it to meet your
particulat (and peculiar) requirements rather than forcing you to live
within the limits of some pre-supplied GUI and command line tools. I
personally prefer that kind of product (Accredo follows essentially the
same philosophy) but others will have different preferences.
Once Subversion finally gets merge history tracking, it might become
usable for true codeline management but Perforce is also *fast*
especially over a WAN/VPN link, and has earned an enviable reputation
for rock solid reliability. Subversion has a fair ways to go on those
fronts....
> Also, is it fairly easy (in Perforce) to only branch off some
> of the files in the reference subfolder to the project
> subfolder, instead of all of them?
Yes, at it's core, Perforce does file level branch and merging. Folder
level is a client/UI convenience :-)
TTFN,
Paul.
_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: delphi at delphi.org.nz
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to delphi-request at delphi.org.nz with Subject:
unsubscribe
More information about the Delphi
mailing list