简体   繁体   中英

Getting InvalidConfigurationException in JGit while pulling remote branch

I'm trying to pull the remote master branch in my currently checked out local branch. Here's the code for it

checkout.setName(branchName).call();
PullCommand pullCommand = git.pull();
System.out.println("Pulling master into " + branchName + "...");
StoredConfig config = git.getRepository().getConfig();
config.setString("branch", "master", "merge", "refs/heads/master");
pullCommand.setRemote("https://github.com/blackblood/TattooShop.git");
pullCommand.setRemoteBranchName("master");
pullResult = pullCommand.setCredentialsProvider(credentialsProvider).call();

When I run the code I get the following error on this line pullCommand.setRemote("https://github.com/blackblood/TattooShop.git");

Error :

org.eclipse.jgit.api.errors.InvalidConfigurationException: 
No value for key remote.https://github.com/blackblood/TattooShop.git.url found in configurationCouldn't pull from remote. Terminating...
at org.eclipse.jgit.api.PullCommand.call(PullCommand.java:247)
at upload_gen.Launcher.updateFromRemote(Launcher.java:179)
at upload_gen.Launcher.main(Launcher.java:62)

Following are the contents of my .git/config file

[core]
  repositoryformatversion = 0
  filemode = false
  bare = false
  logallrefupdates = true
  symlinks = false
  ignorecase = true
  hideDotFiles = dotGitOnly
[remote "origin"]
  url = https://github.com/blackblood/TattooShop.git
  fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
  remote = origin
  merge = refs/heads/master
[remote "heroku"]
  url = git@heroku.com:tattooshop.git
  fetch = +refs/heads/*:refs/remotes/heroku/*

This seems to be a bug in JGit. According to the JavaDoc of setRemote() , it sets the remote ( uri or name ) to be used for the pull operation but apparently only the remote name works.

Given your configuration you can work around the issue by using the remote name like this:

pullCommand.setRemote( "origin" );

I recommend to open a bug report in the JGit bugzilla so that this gets fixed in future versions of JGit.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM