[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jgit-dev] Issue in Using JGit PullCommand

2012/11/15 Isuru Haththotuwa <isurulucky@xxxxxxxxx>
Hi All,

I'm trying to use jgit PullCommand to get the functionality equal to svn update. When I use CloneCommand
, a clone of the remote repository is made in the local host. However, when I use the PullCommand, I noticed that the changes in the remote repository are not merged in to the local repository. Is there a proper java sample which shows how to use this command? I could not find such a sample in the jgit documentation as well. I have included the code sample that I used below:


private String localPath;
private Repository localRepo;
private Git git;

localPath = "/home/test/git_repo_test";
remotePath = "https://github.com/test/repo_1.git";

try {
    localRepo = new FileRepository(localPath + "/.git");
} catch (IOException e) {
    e.printStackTrace();  
}
git = new Git(localRepo);

PullCommand pullCmd = git.pull();
try {
    pullCmd.call();
} catch (GitAPIException e) {
    e.printStackTrace();  
}

I use this code after the initial cloning, but any additional files added after the initial clone are not updated in the local repository. Please let me know what is the issue here.

have a look at jgit's PullCommandTest [1] or egit's PullOperation [2] which is using PullCommand.

You should check the result returned by the command in order to get more details about
what's going on. From the PullResult you can obtain the FetchResult which should explain
if you got anything new from the other repository. If the receiving repository has no HEAD or
is in detached HEAD state an exception is thrown. If the current branch in the receiving repository
doesn't track a branch of the upstream repository the current branch will not be changed (see
git branch -- track in [3]).

[1]Âhttps://git.eclipse.org/c/jgit/jgit.git/tree/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/PullCommandTest.java
[2]Âhttps://git.eclipse.org/c/egit/egit.git/tree/org.eclipse.egit.core/src/org/eclipse/egit/core/op/PushOperation.java
[3]Âhttp://www.kernel.org/pub/software/scm/git/docs/git-branch.html

--
Matthias