Install-BigGit
SYNOPSIS
A convenience function for the initial setup of BigGit on a machine that creates all TFS workspaces, installs dependencies and creates git repositories.
SYNTAX
Install-BigGit [[-tfsUrl] <String>] [[-serverPathToBranch] <String>] [[-partialBranchPath] <String>] [[-localPath] <String>] [[-NonVolatileMappings] <String[]>] [[-VolatileMappings] <String[]>] [[-remoteOrigin] <String>] [<CommonParameters>]
DESCRIPTION
This wraps the Add-NonVolitileEnlistment, Add-VolitileEnlistmentm, Add-PartialBranch, Add-PartialBranchGitClone and Install-Git functions to perform all necesary setup of a BigGit setup. When done, there will be a NonVolatile, Volatile, Branch and Git subdirectory under LocalPath containing each workspace/repo.
PARAMETERS
TfsUrl
The TFS Collection URL to use for connecting to TFS
ServerPathToBranch
Server path of the TFS directory being branched
PartialBranchPath
Server path of destination branch
LocalPath
Local path where the workspaces and repositories will be rooted
NonVolatileMappings (optional)
List of mappings to to be passed to the Add-NonVolatileEnlistment function
VolatileMappings
List of mappings to to be passed to the Add-VolatileEnlistment function
RemoteOrigin (optional)
Path where a bare git repository will be cloned to and added as the origin Remote of the git repo
EXAMPLE
$tfsMinimal = "myWorkspace;Matt Wrock"
$tfsUrl = "http://server:8080/tfs"
$NonVolatileMappings = Invoke-TF workfold /collection:$tfsUrl /workspace:$tfsMinimal | ?{ $_.ToLower() -match "(/externalLibs(/|:))|(/drops(/|:))"}
$VolatileMappings = Invoke-TF workfold /collection:$tfsUrl /workspace:$tfsMinimal | ?{ $_.ToLower() -notmatch "(/externalLibs(/|:))|(/drops(/|:))"}
Install-BigGit -tfsUrl $tfsUrl -serverPathToBranch $/my/branch -partialBranchPath $/my/partial/branch -localPath c:\dev -remoteOrigin \\server\share -NonVolatileMappings $NonVolatileMappings -VolatileMappings $VolatileMappings