git: do not pass --force-with-lease to old git versions

This commit is contained in:
Aleksey Pivovarov
2018-11-19 17:04:15 +03:00
parent a6c93b5903
commit 0901cada42
2 changed files with 16 additions and 7 deletions
@@ -451,13 +451,15 @@ public class GitImpl extends GitImplBase {
if (force) {
h.addParameters("--force");
}
for (GitPushParams.ForceWithLease lease : forceWithLease) {
String parameter = lease.getParameter();
if (parameter != null) {
h.addParameters("--force-with-lease=" + parameter);
}
else {
h.addParameters("--force-with-lease");
if (GitVersionSpecialty.SUPPORTS_FORCE_PUSH_WITH_LEASE.existsIn(repository)) {
for (GitPushParams.ForceWithLease lease : forceWithLease) {
String parameter = lease.getParameter();
if (parameter != null) {
h.addParameters("--force-with-lease=" + parameter);
}
else {
h.addParameters("--force-with-lease");
}
}
}
if (tagMode != null) {
@@ -212,6 +212,13 @@ public enum GitVersionSpecialty {
}
},
SUPPORTS_FORCE_PUSH_WITH_LEASE {
@Override
public boolean existsIn(@NotNull GitVersion version) {
return version.isLaterOrEqual(new GitVersion(1, 8, 5, 0));
}
},
INCOMING_OUTGOING_BRANCH_INFO {
@Override
public boolean existsIn(@NotNull GitVersion version) {