Mercurial > hg > mercurial
view mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/ChangeSetRevision.java @ 1124:a14a2f7e74d8 development/2024.03.x tip
2024.03.x branch is created
author | Nadia Burnasheva <nadezhda.burnasheva@jetbrains.com> |
---|---|
date | Thu, 15 Feb 2024 11:33:35 +0100 |
parents | 7bf4d943d5bb |
children |
line wrap: on
line source
/* * Copyright 2000-2018 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package jetbrains.buildServer.buildTriggers.vcs.mercurial.command; import org.jetbrains.annotations.NotNull; /** * @author Pavel.Sher */ public class ChangeSetRevision { private final int myRevNumber; @NotNull private final String myId; public ChangeSetRevision(final int revNumber, @NotNull final String id) { myRevNumber = revNumber; myId = id; } /** * Constructor for version in the form revnum:changeset_id or just changeset_id (in this case rev number is set to -1) * @param fullVersion full changeset version as reported by hg log command */ public ChangeSetRevision(@NotNull final String fullVersion) { try { int colon = fullVersion.indexOf(":"); if (colon != -1) { myRevNumber = Integer.parseInt(fullVersion.substring(0, colon)); myId = fullVersion.substring(colon+1); } else { myRevNumber = -1; myId = fullVersion; } } catch (Throwable e) { throw new IllegalArgumentException(e); } } /** * Returns changeset revision id * @return changeset revision id */ @NotNull public String getId() { return myId; } /** * Returns changeset revision number * @return changeset revision number */ public int getRevNumber() { return myRevNumber; } /** * Returns full changeset version as reported by hg log command: revnum:revid * @return full changeset version as reported by hg log */ @NotNull public String getFullVersion() { return myRevNumber + ":" + myId; } @Override public boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; final ChangeSetRevision that = (ChangeSetRevision) o; return myRevNumber == that.myRevNumber && myId.equals(that.myId); } @Override public int hashCode() { int result = myRevNumber; result = 31 * result + myId.hashCode(); return result; } @Override public String toString() { return "change:" + myId; } }