[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