/** * {@inheritDoc} */ public String getRelativePath( ScmProviderRepository ancestor ) { if ( ancestor instanceof GitScmProviderRepository ) { GitScmProviderRepository gitAncestor = (GitScmProviderRepository) ancestor; //X TODO review! String url = getFetchUrl(); String path = url.replaceFirst( gitAncestor.getFetchUrl() + "/", "" ); if ( !path.equals( url ) ) { return path; } } return null; }
@Override protected ScmProviderRepository getScmProviderRepository() throws Exception { return new GitScmProviderRepository( getScmUrl().substring( "scm:git:".length() ) ); }
config.setString( "remote", "origin", "url", repository.getFetchUrl() ); config.setString( "remote", "origin", "pushURL", repository.getPushUrl() ); StringUtils.isNotBlank( repository.getPassword() ) ? repository.getPassword().trim() : "no-pwd-defined"; logger.info( "fetch url: " + repository.getFetchUrl().replace( password, "******" ) ); logger.info( "push url: " + repository.getPushUrl().replace( password, "******" ) ); return getCredentials( repository );
/** * Creates a credentials provider from the information passed in the * repository. Current implementation supports: <br /> * <li>UserName/Password</li> * <p/> * * @param repository the config to get the details from * @return <code>null</code> if there is not enough info to create a * provider with */ public static CredentialsProvider getCredentials( GitScmProviderRepository repository ) { if ( StringUtils.isNotBlank( repository.getUser() ) && StringUtils.isNotBlank( repository.getPassword() ) ) { return new UsernamePasswordCredentialsProvider( repository.getUser().trim(), repository.getPassword().trim() ); } return null; }
public JGitTransportConfigCallback(GitScmProviderRepository repo, ScmLogger logger) { if (repo.getFetchInfo().getProtocol().equals("ssh")) { if (!StringUtils.isEmptyOrNull(repo.getPrivateKey()) && repo.getPassphrase() == null) { logger.debug("using private key with passphrase: " + repo.getPrivateKey()); sshSessionFactory = new UnprotectedPrivateKeySessionFactory(repo); } else if (!StringUtils.isEmptyOrNull(repo.getPrivateKey()) && repo.getPassphrase() != null) { logger.debug("using private key: " + repo.getPrivateKey()); sshSessionFactory = new ProtectedPrivateKeyFileSessionFactory(repo); } else { sshSessionFactory = new SimpleSessionFactory(); } } }
public static Commandline createCommandLine( GitScmProviderRepository repository ) { Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( null, "ls-remote" ); cl.setWorkingDirectory( System.getProperty( "java.io.tmpdir" ) ); String remoteUrl = repository.getPushUrl(); cl.createArg().setValue( remoteUrl ); return cl; }
if ( GitScmProviderRepository.PROTOCOL_FILE.equals( repository.getFetchInfo().getProtocol() ) && repository.getFetchInfo().getPath().indexOf( fileSet.getBasedir().getPath() ) >= 0 ) CloneCommand command = Git.cloneRepository().setURI( repository.getFetchUrl() ); command.setCredentialsProvider( credentials ).setBranch( branch ).setDirectory( fileSet.getBasedir() ); command.setProgressMonitor( monitor );
if ( GitScmProviderRepository.PROTOCOL_FILE.equals( repository.getFetchInfo().getProtocol() ) && repository.getFetchInfo().getPath().indexOf( fileSet.getBasedir().getPath() ) >= 0 )
public static Commandline createCommandLine( GitScmProviderRepository repository ) { Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( null, "ls-remote" ); cl.setWorkingDirectory( System.getProperty( "java.io.tmpdir" ) ); String remoteUrl = repository.getPushUrl(); cl.createArg().setValue( remoteUrl ); return cl; }
if ( GitScmProviderRepository.PROTOCOL_FILE.equals( repository.getFetchInfo().getProtocol() ) && repository.getFetchInfo().getPath().indexOf( fileSet.getBasedir().getPath() ) >= 0 ) CloneCommand command = Git.cloneRepository().setURI( repository.getFetchUrl() );
/** * Creates a credentials provider from the information passed in the * repository. Current implementation supports: <br /> * <li>UserName/Password</li> * <p/> * * @param repository the config to get the details from * @return <code>null</code> if there is not enough info to create a * provider with */ public static CredentialsProvider getCredentials( GitScmProviderRepository repository ) { if ( StringUtils.isNotBlank( repository.getUser() ) && StringUtils.isNotBlank( repository.getPassword() ) ) { return new UsernamePasswordCredentialsProvider( repository.getUser().trim(), repository.getPassword().trim() ); } return null; }
if ( GitScmProviderRepository.PROTOCOL_FILE.equals( repository.getFetchInfo().getProtocol() ) && repository.getFetchInfo().getPath().indexOf( fileSet.getBasedir().getPath() ) >= 0 )
/** * {@inheritDoc} */ public String getRelativePath( ScmProviderRepository ancestor ) { if ( ancestor instanceof GitScmProviderRepository ) { GitScmProviderRepository gitAncestor = (GitScmProviderRepository) ancestor; //X TODO review! String url = getFetchUrl(); String path = url.replaceFirst( gitAncestor.getFetchUrl() + "/", "" ); if ( !path.equals( url ) ) { return path; } } return null; }
config.setString( "remote", "origin", "url", repository.getFetchUrl() ); config.setString( "remote", "origin", "pushURL", repository.getPushUrl() ); StringUtils.isNotBlank( repository.getPassword() ) ? repository.getPassword().trim() : "no-pwd-defined"; logger.info( "fetch url: " + repository.getFetchUrl().replace( password, "******" ) ); logger.info( "push url: " + repository.getPushUrl().replace( password, "******" ) ); return getCredentials( repository );
/** * Create the documentation to provide an developer access with a <code>Git</code> SCM. For example, generate * the following command line: * <p> * git clone repo * </p> * * @param gitRepo */ private void developerAccessGit( GitScmProviderRepository gitRepo ) { sink.paragraph(); linkPatternedText( getI18nString( "devaccess.git.intro" ) ); sink.paragraph_(); gitClone( gitRepo.getPushUrl() ); }
@Override protected ScmProviderRepository getScmProviderRepository() throws Exception { return new GitScmProviderRepository( getScmUrl().substring( "scm:git:".length() ) ); }
if ( getUser() != null && getUser().length() > 0 ) userName = getUser(); if ( getPassword() != null && getPassword().length() > 0 ) password = getPassword();
GitScmProviderRepository repository = (GitScmProviderRepository) repo; if (GitScmProviderRepository.PROTOCOL_FILE.equals(repository.getFetchInfo().getProtocol()) && repository.getFetchInfo().getPath().indexOf(fileSet.getBasedir().getPath()) >= 0) { throw new ScmException("remote repository must not be the working directory");
/** * Create the documentation to provide an anonymous access with a * <code>Git</code> SCM. For example, generate the following command line: * <p> * git clone uri * </p> * * @param gitRepo */ private void anonymousAccessGit(GitScmProviderRepository gitRepo) { sink.paragraph(); linkPatternedText(getI18nString("anonymousaccess.git.intro")); sink.paragraph_(); gitClone(gitRepo.getFetchUrl()); }
public static Commandline createPushCommandLine( GitScmProviderRepository repository, ScmFileSet fileSet, String tag ) throws ScmException { Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( fileSet.getBasedir(), "push" ); cl.createArg().setValue( repository.getPushUrl() ); cl.createArg().setValue( "refs/tags/" + tag ); return cl; }