[p4] finding a branch point
jab
jab at pobox.com
Sun Jan 11 08:42:09 PST 2004
On Jan 11, 2004, at 6:12 AM, Noel Yap wrote:
> I was just thinking, my goal is to create a new branch from the branch
> point of an existing branch. Would the following work?
>
> 1. Create a new branch spec that gets its stuff from the older branch
> (eg an older release branch).
> 2. Integrate using this branch spec using #1 (ie the first submit onto
> the older branch).
> 3. Submit the integration.
> 4. Modify the branch spec such that it gets its stuff from the main
> development branch.
I don't think that would do what you want - it's very close to
"reparenting a branch", which some
source librarians support but Perforce stays away from. (Mainly, I
think, because it reflects broken
practices elsewhere and is mainly used as a crutch to patch bad
processes.)
You could, I suppose, run "p4 filelog pathname/...#1" to see where
each individual file was branched
from (tossing out "p4 add" and only keeping branch/integrate) and use
Perl/Python/Ruby/sed to
extract the "from#revision" part.
Make that into a label ("p4 label newlabelname" and then "p4 -x
FILENAME labelsync -l newlabelname"),
and that'll get you the original branch points. It's inexact: further
integrations into your branch aren't
accounted for in this label, and you'll need to eyeball that to see
where it's an issue.
-jab
More information about the perforce-user
mailing list