private static void RunLockRequest(string[] args, bool unattended, LockRequestDelegate requestToRun) { try { if (ShouldLock(args)) { using (NamedPipeClient pipeClient = new NamedPipeClient(enlistmentPipename)) { if (!pipeClient.Connect()) { ExitWithError("The repo does not appear to be mounted. Use 'gvfs status' to check."); } int pid = GetParentPid(args); if (pid == Program.InvalidProcessId || !GVFSHooksPlatform.IsProcessActive(pid)) { ExitWithError("GVFS.Hooks: Unable to find parent git.exe process " + "(PID: " + pid + ")."); } requestToRun(unattended, args, pid, pipeClient); } } } catch (Exception exc) { ExitWithError( "Unable to initialize Git command.", "Ensure that GVFS is running.", exc.ToString()); } }
private static void RunLockRequest(string[] args, LockRequestDelegate requestToRun) { try { if (ShouldLock(args)) { using (NamedPipeClient pipeClient = new NamedPipeClient(enlistmentPipename)) { if (!pipeClient.Connect()) { ExitWithError("The repo does not appear to be mounted. Use 'gvfs status' to check."); } string fullCommand = "git " + string.Join(" ", args.Skip(1).Where(arg => !arg.StartsWith(GitPidArg))); int pid = GetParentPid(args); Process parentProcess = null; if (pid == Program.InvalidProcessId || !ProcessHelper.TryGetProcess(pid, out parentProcess)) { ExitWithError("GVFS.Hooks: Unable to find parent git.exe process " + "(PID: " + pid + ")."); } requestToRun(fullCommand, pid, parentProcess, pipeClient); } } } catch (Exception exc) { ExitWithError( "Unable to initialize Git command.", "Ensure that GVFS is running.", exc.ToString()); } }