Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,55 @@ These execution times are expected to scale as expected with larger depots (mill

--user [Required]
Specify which P4USER to use. Please ensure that the user is logged in.

--config [Optional, Default is empty]
Path to a file that can contain additional command line arguments.

--exclude [Optional, Default is empty]
A regex used to exclude files from the conversion. Can be specified more than once.
Examples:
Exclude all files in Tools/Development, except AModule.ini and files in AModule, AModuleTest: --exclude "//Tools/Development/(?!AModule/.*|AModuleTest/.*|AModule\.ini).*"
Exclude all .pyc files: --exclude ".*\.pyc"
Exclude a specific file: --exclude "//Tools/Development/BModule/OpenCppCoverageSetup-x64-0.9.9.0.exe"

--excludeLogPath [Optional, Default is empty string]
Path to a file where the excluded files will be logged. If not provided, logging to file will not occur.

--lfsSpec [Optional, Default is empty]
Path spec for files to be handled by Git LFS. Can be specified more than once.

--lfsServerUrl [Optional, Default is empty string]
URL of the Git LFS server to use for uploading files with basic transfer.

--lfsUsername [Optional, Default is empty string]
Git LFS username for basic access authentication.

--lfsPassword [Optional, Default is empty string]
Git LFS password for basic access authentication.

--lfsToken [Optional, Default is empty string]
Git LFS token for authentication.

--lfsAPI [Optional, Default is lfs]
Specify the type of the used LFS server API. The types currently supported are 'lfs' (the default) and 's3'.

--lfsS3Bucket [Optional, Default is empty string]
Specify the name of the S3 bucket to use for LFS storage.

--lfsS3Repository [Optional, Default is empty string]
Specify the name of the repository used to store LFS files in S3 bucket.

--overrideToBinary [Optional, Default is empty]
Path spec for files to be handled as binary, even when their P4 type is something else.
Normally this results in them being ignored instead of committed.
In includeBinaries+LFS mode, the LFS pathspecs control where to commit what;
in that case this does nothing.Can be specified more than once.

--overrideToText [Optional, Default is empty]
Path spec for files to be handled as text, even when their P4 type is binary or something else.
Normally this results in them being committed to the Git repo instead of ignored.
In includeBinaries+LFS mode, the LFS pathspecs control where to commit what;
in that case this only serves to silence a warning.Can be specified more than once.
```

## Notes On Branches
Expand Down
8 changes: 6 additions & 2 deletions p4-fusion/main.cc
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,12 @@ int Main(int argc, char** argv)
Arguments::GetSingleton()->OptionalParameter("--includeBinaries", "false", "Do not discard binary files while downloading changelists.");
Arguments::GetSingleton()->OptionalParameter("--flushRate", "1000", "Rate at which profiling data is flushed on the disk.");
Arguments::GetSingleton()->OptionalParameter("--noColor", "false", "Disable colored output.");
Arguments::GetSingleton()->OptionalParameterList("--exclude", "A regex used to exclude files from the conversion. Can be specified more than once.");
Arguments::GetSingleton()->OptionalParameter("--excludeLogPath", "", "Path to a file where the excluded files will be logged.");
Arguments::GetSingleton()->OptionalParameterList("--exclude", "A regex used to exclude files from the conversion. Can be specified more than once.\n"
"\tExamples:\n"
"\t\tExclude all files in Tools/Development, except AModule.ini and files in AModule, AModuleTest: --exclude \"//Tools/Development/(?!AModule/.*|AModuleTest/.*|AModule\\.ini).*\"\n"
"\t\tExclude all .pyc files: --exclude \".*\\.pyc\"\n"
"\t\tExclude a specific file: --exclude \"//Tools/Development/BModule/OpenCppCoverageSetup-x64-0.9.9.0.exe\"\n");
Arguments::GetSingleton()->OptionalParameter("--excludeLogPath", "", "Path to a file where the excluded files will be logged. If not provided, logging to file will not occur.");
Arguments::GetSingleton()->OptionalParameter("--streamMappings", "false", "Use Mappings defined by Perforce Stream Spec for a given stream");
Arguments::GetSingleton()->OptionalParameterList("--lfsSpec", "Path spec for files to be handled by Git LFS. Can be specified more than once.");
Arguments::GetSingleton()->OptionalParameter("--lfsServerUrl", "", "URL of the Git LFS server to use for uploading files with basic transfer.");
Expand Down
6 changes: 5 additions & 1 deletion p4-fusion/utils/arguments.cc
Original file line number Diff line number Diff line change
Expand Up @@ -252,8 +252,12 @@ std::string Arguments::Help()
}
else
{
text += "\033[93m[Optional, Default is " + (paramData.valueList.empty() ? "empty" : paramData.valueList.back()) + "]\033[0m";
//clang-format off
text += "\033[93m[Optional, Default is " + (paramData.valueList.empty() ? "empty" : paramData.valueList.back().empty() ? "empty string"
: paramData.valueList.back())
+ "]\033[0m";
}
//clang-format on
text += "\n " + paramData.helpText + "\n\n";
}

Expand Down