# Git Fusion global configuration file.
#
# Contains settings that affect all Git Fusion repos.
#
# Git Fusion creates this file during initialization. Git Fusion reads this
# file once at the start of each Git operation. Git Fusion never writes to
# this file. You can edit this file.
#
#
# [repo-creation]
# Controls how Git Fusion creates new repos.
#
# charset:"[repo-creation]"
# Default charset used for a new repo. Used when working with a Unicode
# enabled Perforce server.
# See 'p4 help charset' for a list of possible values.
#
# git-autopack:
# Configure the git repository pack settings for new repositories.
#
# yes (default)
# Yes, use git's default pack settings for:
# gc.auto
# gc.autopacklimit
# receive.autogc
#
# no
# No, disable all git packing with these settings:
# gc.auto = 0
# gc.autopacklimit = 0
# receive.autogc = false
#
# git-gc-auto:
# Integer value assigned to the `gc.auto` Git configuration setting for
# new repositories. Only applied when git-autopack is enabled. When
# git-autopack is disabled then `gc.auto` is set to 0.
#
# depot-path-repo-creation-enable:
# Allow Git users to create new repos by cloning/pushing/pulling a Git
# URL which specifies a Perforce depot path.
# This is similar to creating a repo from a p4 client.
#
# no (default)
# Automatic repo creation from a depot path is disallowed.
#
# yes
# Automatic repo creation from a depot path is allowed.
#
# Under the following conditions a new repo will be created:
# 1) The repo name is formated as: depotname/reponame/branchname
# 2) depotname is a defined Perforce depot of type='local'
# 3) No p4gf_config nor p4 client exists with the translated name:
# depotname_0xS_reponame_0xS_branchname
#
# If the conditions are not met, the clone/push/pull will fail
# with the expected error message reporting the repo is not defined.
#
# The newly created repo p4gf_config will contain:
# [@repo]
# description = Created from 'depotname_0xS_reponame_0xS_branchname'
#
# [Hzb5rdffTRGEsjotvTLoHg==]
# git-branch-name = master
# view = //depotname/reponame/branchname/... ...
#
# For a clone/pull situation, any files under //depotname/repo/branch
# will be imported into a new Git repo's master branch.
#
# For a push situation, any files in the pushed Git branch will be
# imported into a new Perforce depot path.
#
# depot-path-repo-creation-p4group:
# Restrict which authenticated Git pushers are allowed to create new
# repos when depot-path-repo-creation-enable is enabled.
#
# Set this to the name of an existing Perforce 'p4 group' to restrict
# this feature to members of that group.
#
# Unset/None (default)
# No restriction: all Git pushers can create new repos from
# depot paths if depot-path-repo-creation-enable is enabled.
#
# You can also use 'p4 protect' to grant/deny write permission
# to areas of the Perforce depot.
#
# [git-to-perforce]
# Controls how Git commits are converted to Perforce changes.
#
# change-owner:
# Determines who the Perforce change owner will be.
#
# author (default)
# Assigns the change owner to that of the Git commit author.
#
# pusher
# Assigns the change owner to that of the Git pusher.
#
# enable-git-branch-creation:
# Create branches in Perforce when copying from Git.
#
# yes (default)
# Yes, create a new branch of Perforce depot file hierarchy for each
# copied branch of Git workspace history. This includes task branches
# which become 'anonymous' branches in Perforce.
#
# no
# No, do not create any branches. When copying from Git to Perforce,
# reject any push of a new branch not already described in the
# repo's config file. When copying from Perforce to Git, copy
# Perforce integrations or merges from other file hierarchies as
# edits to files, not Git merge commits.
#
# enable-swarm-reviews:
# Permit branch creation for Swarm reviews.
#
# yes (default)
# Yes, create a new branch of Perforce depot file hierarchy for each
# new Swarm review. Also permit merge commits in the review history
# which become 'anonymous' branches in Perforce.
# This setting overrides enable-git-branch-creation for Swarm reviews.
#
# no
# No, do not create any branches for Swarm reviews.
# This effectually disables pushing Swarm reviews.
#
# enable-git-merge-commits:
# Allow Git merge commits to be pushed to Perforce.
#
# yes (default)
# Yes, Git merge commits may be pushed to Perforce, and will appear
# as integrations between branches in Perforce.
#
# no
# Disallow Git merge commits. Integrations between branches in
# Perforce can still be performed using Perforce clients.
#
# enable-git-submodules:
# Allow Git submodules to be pushed to Perforce.
#
# yes (default)
# Yes, Git submodules may be pushed to Perforce.
#
# no
# Disallow Git submodules from being introduced into Git Fusion.
# If any submodules have already been pushed to Git Fusion, they
# will be left intact and be reproduced via clone/pull.
#
# ignore-author-permissions:
# Consider whose permissions when copying from Git to Perforce.
# Who must have 'write' permission to a file being changed.
#
# yes
# Require only the pusher to have Perforce write permission.
#
# no (default)
# Require both Git author and pusher to have write permission.
#
# preflight-commit:
# Custom 'git push' commit filter.
#
# none (default)
# No filter.
#
# pass <msg>
# Permit all commits (that Git Fusion also permits).
#
# fail <msg>
# Reject all commits.
#
# cmd <args>
# Run cmd. If cmd returns exit code 0, permit commit.
# Exit code non-0: reject commit.
#
# read-permission-check:
# Perform 'p4 protects' permission checks for each
# git clone/pull/fetch.
#
# none (default)
# Use only Git Fusion permissions groups, no 'p4 protect' checks.
#
# user
# Check puller's Perforce user against 'p4 protects' and all
# views within the repo for read permission.
#
# git-merge-avoidance-after-change-num:
# Improve repo rebuild results. Avoid unnecessary merge commits.
# Works for changelists pushed by Git Fusion version 13.3 or later.
# Integer changelist number of last changelist submitted before
# installing Git Fusion 13.3 or later.
#
# 'p4 counter change' (default)
#
# job-lookup:
# One or more expressions to pass to 'p4 jobs -e'. Matching jobs are
# added to submitted changelist as fixes. Multiple values permitted,
# one per line.
#
# {jobval} -- one job ID from Git commit message,
# the "BUG-1234" from "Jobs: BUG-1234"
#
# For example:
# job-lookup: DTG_DTISSUE={jobval}
#
# depot-branch-creation-enable:
# Allow Git users to create new fully populated depot branches within
# Perforce.
#
# no (default)
# Any new branches pushed by Git users go into
# //.git-fusion/branches/... as lightweight depot branches.
#
# explicit
# Push to special remote ref 'depot-branch/{name}'
# creates a new, fully populated, depot branch in Perforce.
# For example:
# git push origin mybranch:depot-branch/research
# creates a new Perforce depot branch under
# //depot/myrepo/research/...
#
# all
# Each new Git branch pushed by Git users goes into a new, fully
# populated, depot branch in Perforce.
# For example:
# git push origin mybranch:research
# creates a new Perforce depot branch under
# //depot/myrepo/research/...
#
# depot-branch-creation-p4group:
# Restrict which authenticated Git pushers are allowed to create new
# fully populated depot branches, if depot-branch-creation-enable
# is enabled.
#
# Set this to the name of an existing Perforce 'p4 group' to restrict
# this feature to only the members of that group.
#
# Unset/None (default)
# No restriction: all Git pushers can create new fully populated
# depot branches if depot-branch-creation-enable is enabled
#
# You can also use 'p4 protect' to grant/deny write permission
# to areas of the Perforce depot.
#
# depot-branch-creation-depot-path:
# Where to create new fully populated depot branches, if depot-branch-
# creation-enable is enabled.
#
# Default: //depot/{repo}/{git_branch_name}
#
# Available string substitutions:
# {repo} : The name of the Git Fusion repo receiving this push.
# {git_branch_name} :
# The name of the pushed branch reference.
# For example, the "myfeature" portion of
# 'git push master:depot-branch/myfeature'
# Perforce path rules apply!
# Prohibited: evil @#%* chars, //, or ...
# Permitted: /
# {user} : The Perforce user ID of the pusher.
#
# {git_branch_name} substitution must be included somewhere in the
# string, or it becomes impossible for Git users to create more than
# one branch to a single repo.
#
# depot-branch-creation-view:
# Which subset of the above depot-path root should appear in Git,
# as which Git paths.
# A Perforce view specification that maps Perforce depot paths (left
# side) to Git work tree paths (right side). Perforce depot paths
# are relative to the above depot-branch-creation-depot-path root.
#
# Default: "... ..."
#
# The default "... ..." maps every
# file under the above depot-branch-creation-depot-path root to Git.
#
# Right side paths must match the right side for every other branch
# within a repo.
#
# enable-git-find-copies:
# When Git reports a "copy" file action, store that action in
# Perforce as a 'p4 integ'. Often set in tandem with
# enable-git-find-renames.
#
# no/off/0% (default)
# Do not use Git's copy detection. Treat all possible file
# copy actions as 'p4 add' actions.
#
# 1%-100%
# Use Git's copy detection.
# Value passed to git diff-tree --find-copies=n.
#
# Git Fusion also adds --find-copies-harder whenever adding
# --find-copies.
#
# enable-git-find-renames:
# When Git reports a "rename" (also called "move") file action,
# store that in Perforce as a 'p4 move'. Often set in tandem
# with enable-git-find-copies.
#
# no/off/0% (default)
# Do not use Git's rename detection. Treat all possible file
# rename actions as independent 'p4 delete' + 'p4 add' actions.
#
# 1%-100%
# Use Git's rename detection.
# Value passed to git diff-tree --find-renames=n
#
# A warning about find-copies and find-renames: Git's copy/rename
# detection is a guess, and not always a correct one. Some Git
# copy/rename actions will be missed and recorded as 'p4 add' and 'p4
# delete'+'p4 add' actions. Some Git actions will be falsely identified
# as copy/rename and recorded in Perforce as such.
#
# enable-fast-push:
# Use new Perforce Server 15.x features to greatly accelerate
# initial 'git push' of new repos.
#
# yes (default)
# Use `p4 unzip` to bulk import multiple changelists into
# Perforce.
#
# no
# Use `p4 submit` to copy each individual commit into
# Perforce.
#
# fast-push-working-storage:
# Where should 'enable-fast-push' store its potentially huge temporary
# working data.
#
# memory
# Consume huge amounts of memory on the Git Fusion server while
# computing Perforce history. 25-50% faster than "disk", but will
# run out of memory and CRASH unless the Git Fusion server has
# ludicrously high amounts of memory.
# (What is "enough memory?" 10x to 100x original repo size.
# The 1GB linux kernel requires 200 GB memory.)
#
# disk (default)
# Store computed history on disk in a database.
# Limits memory growth to a few GB.
#
# [perforce-to-git]
# Controls how Perforce changes are converted to Git commits.
#
# enable-stream-imports:
# Controls the manner in which import paths in streams are handled.
#
# yes
# Any streams that are cloned via Git Fusion which contain
# compatible import type paths will have those import paths
# converted to submodules.
#
# no (default)
# The import paths and their history will be incorporated into
# the Git repository for the stream. This maintains the existing
# behavior.
# enable-clone-to-create-repo:
# Controls whether repos may be created by 'git clone' from p4 clients and streams.
# Note: clone from a depot path is controlled independently by depot-path-repo-creation-enable.
#
# yes (default)
# Git Fusion will create new repos directly from Perforce server clients and streams
# via :
# 'git clone git@server:<p4_client_name>'
# 'git clone git@server:<p4_stream_name>'.
#
# no
# Git Fusion will permit clone of repos only for configured repos for which
# a //.git-fusion/repos/<reponame>/p4gf_config file exists via:
# 'git clone git@server:<reponame>'
#
# Git Fusion will deny repo creation via clone with the '<repo> does not exist' message
# when attempting to create a new repo from Perforce clients and streams
# via :
# 'git clone git@server:<p4_client_name>'
# 'git clone git@server:<p4_stream_name>'.
#
# update-only-on-poll:
# Controls updating the local repository when a pull request is handled.
#
# no (default)
# Any fetch will update the Git repository on the Git Fusion instance
# (i.e. normal operation).
#
# yes
# Only the invocation of p4gf_poll.py will update the repository. All
# fetches will retrieve whatever is available in the Git repository.
#
#http-url:
# The URL used by Git to clone a repository from Git Fusion over HTTP.
# The value may contain {var} placeholders that will be replaced by
# values from the Git Fusion environment. Must end with {repo}.
# These are as follows:
#
# {repo} -- name of the Git Fusion repository being cloned.
# {host} -- fully-qualified name of the Git Fusion host.
#
# For example:
# http://{host}/{repo}
#
#
#ssh-url:
# The "URL" used by Git to clone a repository from Git Fusion via SSH.
# The value may contain {var} placeholders that will be replaced by
# values from the Git Fusion environment. Must end with {repo}.
# These are as follows:
#
# {user} -- name of SSH user on the Git Fusion host.
# (In addition, those described in http-url above.)
#
# For example:
# {user}@{host}:{repo}
#
# enable-add-copied-from-perforce:
# Git Fusion adds the following note to the commit message
# when creating a commit for a Git Fusion repo from a changelist
# in Perforce:
#
# Copied from Perforce
# Change: NNNN
#
#
# yes (default)
# Add "Copied from Perforce" to the message of each commit
# created from changelists in Perforce.
#
# no
# Do not add "Copied from Perforce" to the message of each commit
# created from changelists in Perforce.
#
# git-lfs-enable:
# Use Git LFS to keep large files out of the Git repo. Full file content
# stored in Perforce, but represented within Git as small "text pointer"
# files that Git users fetch and upload via Git LFS.
#
# no (default):
# Git LFS translation not permitted
#
# yes:
# Git LFS translation permitted.
#
# Once a Git repo contains "text pointer" files created by Git LFS,
# it is forever dependent on Git LFS to deliver that file content
# during `git checkout`.
#
# git-lfs-initial-track
# A list of one or more file patterns, one per line, to convert to small
# Git LFS "text pointer" files the first time this Perforce history is
# translated to Git. Only affects the first git fetch/pull/clone of a
# new repo. The patterns in this setting become lines in a .gitattributes
# file that Git Fusion inserts into the new Git repo's history.
#
# Has no effect on existing Git history, or if Perforce history already
# contains a top-level .gitattributes file.
#
# Modifying this setting and recloning a repo from scratch may have
# undesirable effects (i.e. older files will suddently match the new
# pattern and be converted into LFS files, thus altering history) and
# should be avoided.
#
# Example:
# git-lfs-initial-track =
# *.psd
# *.mp4
#
#
# [@features]
# Enable or disable experimental features. This section may also
# appear in per-repo config files. Per-repo values will override
# global values. Features default to disabled unless enabled here.
#
# To see a list of available features use:
# 'git clone git@server:@features'
# To see which features are enabled for a repo use:
# 'git clone git@server:@features@repo'
#
#
# [authentication]
# Global settings for authentication options.
#
# email-case-sensitivity:
# Set the case sensitivity when matching git user email addresses
# with Perforce user account email addresses.
#
# yes
# Use case sensitive email comparisons.
#
# no (default)
# Use case insensitive email comparisons.
#
# author-source:
# Identify the datum from which a Perforce user account should be
# derived for the author of the change. The change-owner option in
# the [git-to-perforce] section overrides this setting, such that
# if change-owner is set to 'pusher' then this setting is irrelevant
# and thus ignored.
#
# It is possible to specify multiple sources in the order of desired
# precedence, simply by separating each of the chosen source names
# with commas. For example: git-user, git-email-account, git-email
#
# git-email (default)
# Search for any Perforce user account whose Perforce "Email" field
# matches the email address of the Git author. First the p4gf_usermap
# file is consulted, and if that fails to produce a match, then the
# Perforce user table is scanned. The first match found wins.
#
# git-user
# Use the Perforce user account whose Perforce "User" field matches
# the "user.name" field in the Git commit. The "user.name" field
# appears in Git commits as the part of the 'author' field before the
# email address.
#
# git-email-account
# Use the Perforce user account whose Perforce "User" (not "Email")
# field matches the account portion of the email address of the Git
# author in the Git commit. For example, for a Git author email value
# that appears as "<samwise@the_shire.com>" the Perforce author will
# be Perforce user account "samwise".
#
#
# [quota]
# Global settings for push limit options.
#
# limit_space_mb:
# Natural number representing the number of megabytes of disk space
# that can be consumed by any single repo. This value does not include
# the spaced consumed on the Perforce server. If the value is zero or
# less, the limit is not enforced. Default value is zero.
#
# limit_commits_received:
# Natural number representing the maximum number of commits allowed in
# a single push. If the value is zero or less, the limit is not enforced.
# Default value is zero.
#
# limit_files_received:
# Natural number representing the maximum number of files allowed in a
# single push. If the value is zero or less, the limit is not enforced.
# Default value is zero.
#
# limit_megabytes_received:
# Natural number representing the maximum number of megabytes allowed in
# a single push. If the value is zero or less, the limit is not enforced.
# Default value is zero.
#
#
[repo-creation]
charset = utf8
git-autopack = yes
git-gc-auto = none
depot-path-repo-creation-enable = no
depot-path-repo-creation-p4group = none
[git-to-perforce]
change-owner = pusher
enable-git-branch-creation = yes
enable-swarm-reviews = yes
enable-git-merge-commits = yes
enable-git-submodules = yes
preflight-commit =
ignore-author-permissions = no
read-permission-check =
git-merge-avoidance-after-change-num = 1
enable-git-find-copies = no
enable-git-find-renames = no
enable-fast-push = yes
job-lookup = none
depot-branch-creation-enable = all
depot-branch-creation-p4group = none
depot-branch-creation-depot-path = //depot/{repo}/{git_branch_name}
depot-branch-creation-view = ... ...
changelist-date-source = perforce-submit-time
gitmirror-max-commits-per-submit = 10000
[perforce-to-git]
enable-stream-imports = no
enable-clone-to-create-repo = yes
update-only-on-poll = no
http-url = https://192.168.2.73/{repo}
ssh-url = none
enable-add-copied-from-perforce = yes
[@features]
[authentication]
email-case-sensitivity = no
author-source = git-email
[quota]
limit_commits_received = 0
limit_files_received = 0
limit_space_mb = 0
limit_megabytes_received = 0
[undoc]
enable_checkpoints = no