diff --git a/plugin/src/main/java/git4idea/repo/GitConfig.java b/plugin/src/main/java/git4idea/repo/GitConfig.java index 3cfd2ae..b8023d2 100644 --- a/plugin/src/main/java/git4idea/repo/GitConfig.java +++ b/plugin/src/main/java/git4idea/repo/GitConfig.java @@ -25,7 +25,6 @@ import git4idea.branch.GitBranchUtil; import jakarta.annotation.Nonnull; import jakarta.annotation.Nullable; -import org.ini4j.Ini; import org.ini4j.Profile; import java.io.File; @@ -58,7 +57,6 @@ public class GitConfig { @Nonnull private final Collection myTrackedInfos; - private GitConfig(@Nonnull Collection remotes, @Nonnull Collection urls, @Nonnull Collection trackedInfos) { myRemotes = remotes; myUrls = urls; @@ -81,10 +79,7 @@ Collection parseRemotes() { // populate GitRemotes with substituting urls when needed return ContainerUtil.map( myRemotes, - remote -> { - assert remote != null; - return convertRemoteToGitRemote(myUrls, remote); - } + remote -> convertRemoteToGitRemote(myUrls, Objects.requireNonNull(remote)) ); } @@ -134,9 +129,9 @@ static GitConfig read(@Nonnull File configFile) { return emptyConfig; } - Ini ini; + SortedMap ini; try { - ini = GitConfigHelper.loadIniFile(configFile); + ini = new TreeMap<>(GitConfigHelper.loadIniFile(configFile)); } catch (IOException e) { return emptyConfig; @@ -149,7 +144,10 @@ static GitConfig read(@Nonnull File configFile) { } @Nonnull - private static Collection parseTrackedInfos(@Nonnull Ini ini, @Nonnull ClassLoader classLoader) { + private static Collection parseTrackedInfos( + @Nonnull SortedMap ini, + @Nonnull ClassLoader classLoader + ) { Collection configs = new ArrayList<>(); for (Map.Entry stringSectionEntry : ini.entrySet()) { String sectionName = stringSectionEntry.getKey(); @@ -242,7 +240,10 @@ private static BranchConfig parseBranchSection(String sectionName, Profile.Secti } @Nonnull - private static Pair, Collection> parseRemotes(@Nonnull Ini ini, @Nonnull ClassLoader classLoader) { + private static Pair, Collection> parseRemotes( + @Nonnull SortedMap ini, + @Nonnull ClassLoader classLoader + ) { Collection remotes = new ArrayList<>(); Collection urls = new ArrayList<>(); for (Map.Entry stringSectionEntry : ini.entrySet()) {