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 71 |
# 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 |