public string PushAllCmd(string remote, ForcePushOptions force, bool track, int recursiveSubmodules)
{
remote = remote.ToPosixPath();
var sforce = GitCommandHelpers.GetForcePushArgument(force);
var strack = "";
if (track)
strack = "-u ";
var srecursiveSubmodules = "";
if (recursiveSubmodules == 1)
srecursiveSubmodules = "--recurse-submodules=check ";
if (recursiveSubmodules == 2)
srecursiveSubmodules = "--recurse-submodules=on-demand ";
var sprogressOption = "";
if (GitCommandHelpers.VersionInUse.PushCanAskForProgress)
sprogressOption = "--progress ";
var options = String.Concat(sforce, strack, srecursiveSubmodules, sprogressOption);
return String.Format("push {0}--all \"{1}\"", options, remote.Trim());
}