forked from dahlbyk/posh-git
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TortoiseGit.ps1
70 lines (61 loc) · 1.29 KB
/
TortoiseGit.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# TortoiseGit
function private:Get-TortoiseGitPath {
if ((Test-Path "C:\Program Files\TortoiseGit\bin\TortoiseGitProc.exe") -eq $true) {
# TortoiseGit 1.8.0 renamed TortoiseProc to TortoiseGitProc.
return "C:\Program Files\TortoiseGit\bin\TortoiseGitProc.exe"
}
return "C:\Program Files\TortoiseGit\bin\TortoiseProc.exe"
}
$Global:TortoiseGitSettings = new-object PSObject -Property @{
TortoiseGitPath = (Get-TortoiseGitPath)
}
function tgit {
if($args) {
if($args[0] -eq "help") {
# Replace the built-in help behaviour with just a list of commands
$tortoiseGitCommands
return
}
$newArgs = @()
$newArgs += "/command:" + $args[0]
$cmd = $args[0]
if($args.length -gt 1) {
$args[1..$args.length] | % { $newArgs += $_ }
}
& $Global:TortoiseGitSettings.TortoiseGitPath $newArgs
}
}
$tortoiseGitCommands = @(
"about",
"log",
"commit",
"add",
"revert",
"cleanup" ,
"resolve",
"switch",
"export",
"merge",
"settings",
"remove",
"rename",
"diff",
"conflicteditor",
"help",
"ignore",
"blame",
"cat",
"createpatch",
"pull",
"push",
"rebase",
"stashsave",
"stashapply",
"subadd",
"subupdate",
"subsync",
"reflog",
"refbrowse",
"sync",
"repostatus"
) | sort