David Ghandehari
David Ghandehari

Reputation: 652

How do I exclude a pattern and then include back a pattern with Perforce Streams?

I have a large depot with large binaries spread throughout in many subdirectories, but following a pattern. Some are only used in some workflows, and some are not used at all. The contents and layout of the repository comes from a third party framework, so moving things around, sadly, isn't an option.

I'm trying to create a client view that filters out most of the binaries, but includes only the ones build machines need for their workflow. I'm finding this difficult with streams.

As an example, let's say my depot looks like this:

//depot/mainline/plugins/rok/...
//depot/mainline/plugins/grok/...

//depot/mainline/dependency/not_used_1/...
//depot/mainline/dependency/not_used_2/...
//depot/mainline/dependency/used_a/...
//depot/mainline/dependency/used_b/...

//depot/mainline/third_party/dependency/not_used_3/...
//depot/mainline/third_party/dependency/used_ c/...

//depot/mainline/tools/gleep/...
//depot/mainline/tools/glorp/...

And say there are many more plugins, dependencies, and tools.

Each of these paths has a bin subdirectory with large binaries. I need some of them, but not all of them.

I want a client view that looks like this:

View:
    //depot/mainline/... //client/mainline
    -//depot/mainline/.../bin/... //client/mainline/.../bin/...
    //depot/mainline/tools/used_a/bin/... //client/mainline/tools/used_b/bin/...
    //depot/mainline/dependency/used_c/bin/... //client/mainline/dependencies/used_d/bin/...

I don't want to enumerate all the things I want to remove because that list might change. I want to enumerate things I need. It's also a shorter list. But, Perforce Streams won't allow embedded wildcards in exclude declarations. It does allow them in Ignore declarations, but then I can't selectively add them back in. The ignores are always added at the end of the view.

This used to be easy when I could specify my client view directly. Is there a way I can achieve what I want using Perforce Streams without explicitly listing every bin path I want to exclude?

Upvotes: 0

Views: 101

Answers (0)

Related Questions