public void PushCmd() { using (_executable.StageOutput("rev-parse \"refs/heads/from-branch~0\"", null)) { Assert.AreEqual( "push --progress \"remote\" from-branch", _gitModule.PushCmd("remote", "from-branch", null, ForcePushOptions.DoNotForce, track: false, recursiveSubmodules: 0).Arguments); } using (_executable.StageOutput("rev-parse \"refs/heads/from-branch~0\"", null)) { Assert.AreEqual( "push --progress \"remote\" from-branch:refs/heads/to-branch", _gitModule.PushCmd("remote", "from-branch", "to-branch", ForcePushOptions.DoNotForce, track: false, recursiveSubmodules: 0).Arguments); } using (_executable.StageOutput("rev-parse \"refs/heads/from-branch~0\"", null)) { Assert.AreEqual( "push -f --progress \"remote\" from-branch:refs/heads/to-branch", _gitModule.PushCmd("remote", "from-branch", "to-branch", ForcePushOptions.Force, track: false, recursiveSubmodules: 0).Arguments); } using (_executable.StageOutput("rev-parse \"refs/heads/from-branch~0\"", null)) { Assert.AreEqual( "push --force-with-lease --progress \"remote\" from-branch:refs/heads/to-branch", _gitModule.PushCmd("remote", "from-branch", "to-branch", ForcePushOptions.ForceWithLease, track: false, recursiveSubmodules: 0).Arguments); } using (_executable.StageOutput("rev-parse \"refs/heads/from-branch~0\"", null)) { Assert.AreEqual( "push -u --progress \"remote\" from-branch:refs/heads/to-branch", _gitModule.PushCmd("remote", "from-branch", "to-branch", ForcePushOptions.DoNotForce, track: true, recursiveSubmodules: 0).Arguments); } using (_executable.StageOutput("rev-parse \"refs/heads/from-branch~0\"", null)) { Assert.AreEqual( "push --recurse-submodules=check --progress \"remote\" from-branch:refs/heads/to-branch", _gitModule.PushCmd("remote", "from-branch", "to-branch", ForcePushOptions.DoNotForce, track: false, recursiveSubmodules: 1).Arguments); } using (_executable.StageOutput("rev-parse \"refs/heads/from-branch~0\"", null)) { Assert.AreEqual( "push --recurse-submodules=on-demand --progress \"remote\" from-branch:refs/heads/to-branch", _gitModule.PushCmd("remote", "from-branch", "to-branch", ForcePushOptions.DoNotForce, track: false, recursiveSubmodules: 2).Arguments); } }