-
Notifications
You must be signed in to change notification settings - Fork 26
Description
Hello,
I have a streams-based repository with branches of the format:
//vehicles/rav4/...
//vehicles/rav4-prime/...
//vehicles/rav4-hybrid/...
//vehicles/corolla/...
//vehicles/corolla-cross/...
//vehicles/corolla-hybrid/...
With the "prime", "hybrid", and "cross" variants child streams of the appropriately-named mainline stream.
I'd like to p4-fusion --branch rav4 --branch rav4-prime --branch rav4-hybrid --path //vehicles/rav*/... to convert these three streams. The client is written to also select only these three.
The internal call to p4 changes -l -s submitted //vehicles/rav*/... will get only the CLs that are associated with the three streams implied by the depot path. This simplifies and shortens the list of CLs requested from the server.
The result of p4-fusion called this way is actually to request the right CLs but they end up skipping because they are determined to be "Not under the depot path" in BranchSet::ParseAffectedFiles due to the prefix strip not matching.
If I use --path //vehicles/... I end up with a lot of zero file CLs (corresponding to the non-rav4 streams) and an eventual segfault whose cause I haven't determined yet.
I can kludge the p4-fusion run to do what I want by manually assigning m_basePath but this is very ugly.