public static PullResult pull(final Git git, final int timeout) throws WrongRepositoryStateException,
InvalidConfigurationException, DetachedHeadException, InvalidRemoteException, CanceledException,
RefNotFoundException, NoHeadException
{
PullCommand pull = git.pull();
if (timeout >= 0)
pull.setTimeout(timeout);
pull.setProgressMonitor(new TextProgressMonitor());
PullResult result = pull.call();
return result;
}