You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
224
-
{/* Last updated: 2025-07-10T00:07:36Z via sourcegraph/[email protected]*/}
225
223
```json
226
224
{
227
-
// If non-null, enforces Perforce depot permissions.
228
-
"authorization": {
229
-
"ignoreRulesWithHost": false,
230
-
"subRepoPermissions": false
231
-
},
232
-
233
-
// Depots can have arbitrary paths, e.g. a path to depot root or a subdirectory.
234
-
// Other example values:
235
-
// - [
236
-
// "//Sourcegraph/",
237
-
// "//Engineering/Cloud/"
238
-
// ]
239
-
"depots": null,
240
-
241
-
// Configuration for the experimental p4-fusion client
242
-
"fusionClient": {
243
-
"cacheLabels": false,
244
-
"enabled": false,
245
-
"fsyncEnable": false,
246
-
"includeBinaries": false,
247
-
"lookAhead": 2000,
248
-
"maxChanges": -1,
249
-
"networkThreads": 12,
250
-
"networkThreadsFetch": 12,
251
-
"noConvertLabels": false,
252
-
"printBatch": 100,
253
-
"refresh": 1000,
254
-
"retries": 10
255
-
},
256
-
257
-
// Client specified as an option for p4 CLI (P4CLIENT, also enables '--use-client-spec')
258
-
"p4.client": null,
259
-
260
-
// REQUIRED:
261
-
// The ticket value for the user (P4PASSWD). You can get this by running `p4 login -p` or `p4 login -pa`. It should look like `6211C5E719EDE6925855039E8F5CC3D2`.
262
-
"p4.passwd": null,
263
-
264
-
// REQUIRED:
265
-
// The Perforce Server address to be used for p4 CLI (P4PORT). It's recommended to specify the protocol prefix (e.g. tcp: or ssl:) as part of the address.
266
-
// Other example values:
267
-
// - "ssl:111.222.333.444:1666"
268
-
// - "tcp:111.222.333.444:1666"
269
-
"p4.port": null,
270
-
271
-
// REQUIRED:
272
-
// The user to be authenticated for p4 CLI (P4USER).
273
-
// Other example values:
274
-
// - "admin"
275
-
"p4.user": null,
276
-
277
-
// The pattern used to generate the corresponding Sourcegraph repository name for a Perforce depot. In the pattern, the variable "{depot}" is replaced with the Perforce depot's path.
278
-
// For example, if your Perforce depot path is "//Sourcegraph/" and your Sourcegraph URL is https://src.example.com, then a repositoryPathPattern of "perforce/{depot}" would mean that the Perforce depot is available on Sourcegraph at https://src.example.com/perforce/Sourcegraph.
279
-
// It is important that the Sourcegraph repository name generated with this pattern be unique to this Perforce Server. If different Perforce Servers generate repository names that collide, Sourcegraph's behavior is undefined.
"description": "Configuration for a connection to Perforce Server.",
229
+
"allowComments": true,
230
+
"type": "object",
231
+
"additionalProperties": false,
232
+
"required": ["p4.port", "p4.user", "p4.passwd"],
233
+
"properties": {
234
+
"p4.port": {
235
+
"description": "The Perforce Server address to be used for p4 CLI (P4PORT). It's recommended to specify the protocol prefix (e.g. tcp: or ssl:) as part of the address.",
"description": "The user to be authenticated for p4 CLI (P4USER).",
241
+
"type": "string",
242
+
"examples": ["admin"]
243
+
},
244
+
"p4.passwd": {
245
+
"description": "The ticket value for the user (P4PASSWD). You can get this by running `p4 login -p` or `p4 login -pa`. It should look like `6211C5E719EDE6925855039E8F5CC3D2`.",
246
+
"type": "string"
247
+
},
248
+
"p4.client": {
249
+
"description": "Client specified as an option for p4 CLI (P4CLIENT, also enables '--use-client-spec')",
250
+
"type": "string"
251
+
},
252
+
"depots": {
253
+
"description": "Depots can have arbitrary paths, e.g. a path to depot root or a subdirectory.",
"description": "Experimental: infer sub-repository permissions from protection rules.",
268
+
"type": "boolean",
269
+
"default": false
270
+
},
271
+
"ignoreRulesWithHost": {
272
+
"description": "Ignore host-based protection rules (any rule with something other than a wildcard in the Host field).",
273
+
"type": "boolean",
274
+
"default": false
275
+
}
276
+
}
277
+
},
278
+
"repositoryPathPattern": {
279
+
"description": "The pattern used to generate the corresponding Sourcegraph repository name for a Perforce depot. In the pattern, the variable \"{depot}\" is replaced with the Perforce depot's path.\n\nFor example, if your Perforce depot path is \"//Sourcegraph/\" and your Sourcegraph URL is https://src.example.com, then a repositoryPathPattern of \"perforce/{depot}\" would mean that the Perforce depot is available on Sourcegraph at https://src.example.com/perforce/Sourcegraph.\n\nIt is important that the Sourcegraph repository name generated with this pattern be unique to this Perforce Server. If different Perforce Servers generate repository names that collide, Sourcegraph's behavior is undefined.",
280
+
"type": "string",
281
+
"default": "{depot}"
282
+
},
283
+
"fusionClient": {
284
+
"type": "object",
285
+
"description": "Configuration for the experimental p4-fusion client",
286
+
"additionalProperties": false,
287
+
"properties": {
288
+
"enabled": {
289
+
"description": "DEPRECATED. p4-fusion is always enabled.",
290
+
"type": "boolean",
291
+
"default": false
292
+
},
293
+
"networkThreads": {
294
+
"description": "The number of threads in the threadpool for running network calls. Defaults to the number of logical CPUs.",
295
+
"type": "integer",
296
+
"default": 12,
297
+
"minimum": 1
298
+
},
299
+
"networkThreadsFetch": {
300
+
"description": "The number of threads in the threadpool for running network calls when performing fetches. Defaults to the number of logical CPUs.",
301
+
"type": "integer",
302
+
"default": 12,
303
+
"minimum": 1
304
+
},
305
+
"printBatch": {
306
+
"description": "The p4 print batch size",
307
+
"type": "integer",
308
+
"default": 100,
309
+
"minimum": 1
310
+
},
311
+
"retries": {
312
+
"description": "How many times a command should be retried before the process exits in a failure",
313
+
"type": "integer",
314
+
"default": 10,
315
+
"minimum": 1
316
+
},
317
+
"refresh": {
318
+
"description": "How many times a connection should be reused before it is refreshed",
319
+
"type": "integer",
320
+
"default": 1000,
321
+
"minimum": 1
322
+
},
323
+
"lookAhead": {
324
+
"description": "How many CLs in the future, at most, shall we keep downloaded by the time it is to commit them",
325
+
"type": "integer",
326
+
"default": 2000,
327
+
"minimum": 1
328
+
},
329
+
"maxChanges": {
330
+
"description": "How many changes to fetch during initial clone. The default of -1 will fetch all known changes",
331
+
"type": "integer",
332
+
"default": -1
333
+
},
334
+
"includeBinaries": {
335
+
"description": "Whether to include binary files",
336
+
"type": "boolean",
337
+
"default": false
338
+
},
339
+
"fsyncEnable": {
340
+
"description": " Enable fsync() while writing objects to disk to ensure they get written to permanent storage immediately instead of being cached. This is to mitigate data loss in events of hardware failure.",
341
+
"type": "boolean",
342
+
"default": false
343
+
},
344
+
"noConvertLabels": {
345
+
"description": "Disable Perforce label to git tag conversion.",
346
+
"type": "boolean",
347
+
"default": false
348
+
},
349
+
"cacheLabels": {
350
+
"description": "Whether to cache Perforce labels on disk to avoid unnecessary roundtrips to the Perforce server.",
0 commit comments