JoinCheck

About This Project
JoinCheck is a simple command-line tool that displays information about joined mappings in a Perforce server.

Usage: joincheck [ -b branch -c client -C charset -p port -u user -d -v ] [ path ]

By default, output is given for the current user and client, and no branch view is included. Specifying a different user requires use of the p4 protects -u command and therefore super access. If a path is specified, it must be fully qualified in either //depot or //client syntax.

The default output contains a simple count of the number of lines in the joined mapping, and the greatest number of wildcards found in any one line.

If -v is specified, the full joined mapping is displayed as well. e.g. C:\> joincheck.exe -v Joined map size: 19 lines Most wild line: 1 wildcards Joined map: //public/perforce/utils/reviewd/... //pub_ws/reviewd/...  //public/perforce/p4jsapi/examples/... //pub_ws/JavaScript/...   //public/perforce/p4java/samples/... //pub_ws/javaSamples/...   //guest/stephen_moon/... //pub_ws/stephen_moon/...  -//guest/stephen_moon/scripts/... //pub_ws/stephen_moon/scripts/...  -//guest/stephen_moon/conv/... //pub_ws/stephen_moon/conv/...   //guest/stephen_moon/scripts/... //pub_ws/scripts/...   //guest/dan_steele/... //pub_ws/AD/...   //guest/sam_stafford/... //pub_ws/sam/...   //guest/sven_erik_knop/java/... //pub_ws/sven_java/...   //guest/stewart_lord/track2sql/... //pub_ws/track2sql/...   //guest/tony_smith/... //pub_ws/tony_smith/...   //guest/shawn_hladky/P4.Net/... //pub_ws/P4.NET/...   //guest/jason_gibson/... //pub_ws/jason_gibson/...   //guest/richard_geiger/utils/cvs2p4/... //pub_ws/stephen_moon/conv/...   //guest/stephen_moon/... //pub_ws/stephen_moon/...  -//guest/stephen_moon/scripts/... //pub_ws/stephen_moon/scripts/...  -//guest/stephen_moon/conv/... //pub_ws/stephen_moon/conv/...   //guest/stephen_moon/scripts/... //pub_ws/scripts/...

If -d is specified, a debug output is displayed:

e.g. C:\> joincheck.exe -d User: stephen_moon Client: pub_ws Port: public.perforce.com:1666 Charset: Joined map size: 19 lines Most wild line: 1 wildcards

Note that the number of lines permitted in a map join is constrained by the following limits:

map.joinmax1      10K     Produce at most map1+map2+joinmax1 map.joinmax2      1M      Produce at most joinmax2