Restricting users from creating branches...
Brad_Appleton-GBDA001 at email.mot.comBrad_Appleton-GBDA001
Brad_Appleton-GBDA001 at email.mot.comBrad_Appleton-GBDA001
Wed Jun 24 07:43:46 PDT 1998
Richard Brooksby writes:
> I'm curious. Why do you want to stop developers creating branches?
I've seem some commonly recurring situations for this.
1. Advance Branch Assignments
- -----------------------------
Some shops insist that anyone working on a codeline have a corresponding
change-request (and its ticket number/ID) for their change-task. This
isn't just restricted to bugfixes and enhancements. The "request" might
be any development issue including initial requirements/features,
integration/building, etc. Often they have a contractual obligation to
show complete traceability (from stimulus through to response and
resolution) for all work (ongoing as well as completed). Hence no
"branch" or "checkout" is allowed to take place without a corresponding
ticket-number. There may even be further "checking" to see if the work for
the ticket was targeted for on-line (codeline) or off-line (a branch).
Its a pretty heavyweight/bureaucratic model, but unavoidable from time
to time.
2. Retirement
- -------------
The codeline is dead, long live the codeline :-) You don't want any work
of any kind to happen on it anymore (neither branches nor checkouts).
3. Low-Maintenance Line
- ------------------------
The codeline isn't dead, just in a coma ;-) Nothing but the most minor
(low impact, low risk, trivial complexity) tweaks should take
place and those should be done "on-line", anything else should
happen on a different codeline that already exists.
4. Branch Mastership
- --------------------
You may want to force developers at remote sites to work on a different
branch/codeline than the main site. So you might want to lock the main
codeline from checkouts and branches by the remote developers. Instead,
you create a child codeline for the remote site and they do all their
work on that (branching as necessary from there). The remote site
regularly syncs it codeline with the main line at periodic intervals,
and the main site periodically imports changes from the remote-line
at their discretion. This is particularly useful when you have
distributed or mirrored repositories that are "synced" say nightly
or N times/day (or less frequently).
Cheers!
- --
Brad Appleton <bradapp at enteract.com> | http://www.enteract.com/~bradapp/
"And miles to go before I sleep." | 3700+ WWW links on CS & Sw-Eng
More information about the perforce-user
mailing list