11package hudson .plugins .git ;
22
3- import hudson .*;
3+ import static hudson .Util .fixEmptyAndTrim ;
4+ import hudson .EnvVars ;
5+ import hudson .Extension ;
6+ import hudson .FilePath ;
47import hudson .FilePath .FileCallable ;
5- import hudson .matrix .MatrixBuild ;
8+ import hudson .Launcher ;
9+ import hudson .Util ;
610import hudson .matrix .MatrixRun ;
7-
8- import hudson .model .*;
9-
10- import static hudson .Util .fixEmptyAndTrim ;
11+ import hudson .matrix .MatrixBuild ;
12+ import hudson .model .Action ;
13+ import hudson .model .BuildListener ;
1114import hudson .model .Descriptor .FormException ;
12-
15+ import hudson .model .Items ;
16+ import hudson .model .Result ;
17+ import hudson .model .TaskListener ;
18+ import hudson .model .AbstractBuild ;
19+ import hudson .model .AbstractProject ;
20+ import hudson .model .Hudson ;
21+ import hudson .model .Label ;
22+ import hudson .model .Node ;
23+ import hudson .model .ParametersAction ;
24+ import hudson .model .Run ;
1325import hudson .plugins .git .browser .GitRepositoryBrowser ;
1426import hudson .plugins .git .browser .GitWeb ;
1527import hudson .plugins .git .opt .PreBuildMergeOptions ;
16-
17- import hudson .plugins .git .util .*;
1828import hudson .plugins .git .util .Build ;
19-
29+ import hudson .plugins .git .util .BuildChooser ;
30+ import hudson .plugins .git .util .BuildChooserDescriptor ;
31+ import hudson .plugins .git .util .BuildData ;
32+ import hudson .plugins .git .util .DefaultBuildChooser ;
33+ import hudson .plugins .git .util .GitUtils ;
2034import hudson .remoting .VirtualChannel ;
2135import hudson .scm .ChangeLogParser ;
2236import hudson .scm .PollingResult ;
23- import hudson .scm .SCM ;
2437import hudson .scm .SCMDescriptor ;
2538import hudson .scm .SCMRevisionState ;
39+ import hudson .scm .SCM ;
2640import hudson .util .FormValidation ;
2741
2842import java .io .ByteArrayOutputStream ;
2943import java .io .File ;
3044import java .io .FileOutputStream ;
3145import java .io .IOException ;
46+ import java .io .PrintStream ;
3247import java .io .Serializable ;
3348import java .net .MalformedURLException ;
34- import java .util .*;
49+ import java .text .MessageFormat ;
50+ import java .util .ArrayList ;
51+ import java .util .Arrays ;
52+ import java .util .Collection ;
53+ import java .util .Collections ;
54+ import java .util .HashSet ;
55+ import java .util .List ;
56+ import java .util .Set ;
3557import java .util .logging .Level ;
3658import java .util .logging .Logger ;
3759import java .util .regex .Pattern ;
4163import net .sf .json .JSONObject ;
4264
4365import org .eclipse .jgit .lib .Config ;
66+ import org .eclipse .jgit .lib .ObjectId ;
67+ import org .eclipse .jgit .transport .RefSpec ;
68+ import org .eclipse .jgit .transport .RemoteConfig ;
4469import org .kohsuke .stapler .DataBoundConstructor ;
4570import org .kohsuke .stapler .StaplerRequest ;
4671import org .kohsuke .stapler .StaplerResponse ;
4772import org .kohsuke .stapler .export .Exported ;
48- import org .eclipse .jgit .lib .ObjectId ;
49- import org .eclipse .jgit .lib .StoredConfig ;
50- import org .eclipse .jgit .storage .file .FileBasedConfig ;
51- import org .eclipse .jgit .transport .RefSpec ;
52- import org .eclipse .jgit .transport .RemoteConfig ;
53- import org .eclipse .jgit .util .FS ;
5473
5574/**
5675 * Git SCM.
@@ -907,11 +926,12 @@ public boolean checkout(final AbstractBuild build, Launcher launcher,
907926 public Revision invoke (File localWorkspace , VirtualChannel channel )
908927 throws IOException {
909928 FilePath ws = new FilePath (localWorkspace );
910- listener .getLogger ().println ("Checkout:" + ws .getName () + " / " + ws .getRemote () + " - " + ws .getChannel ());
929+ final PrintStream log = listener .getLogger ();
930+ log .println ("Checkout:" + ws .getName () + " / " + ws .getRemote () + " - " + ws .getChannel ());
911931 IGitAPI git = new GitAPI (gitExe , ws , listener , environment );
912932
913933 if (wipeOutWorkspace ) {
914- listener . getLogger () .println ("Wiping out workspace first." );
934+ log .println ("Wiping out workspace first." );
915935 try {
916936 ws .deleteContents ();
917937 } catch (InterruptedException e ) {
@@ -924,13 +944,18 @@ public Revision invoke(File localWorkspace, VirtualChannel channel)
924944
925945 // Do we want to prune first?
926946 if (pruneBranches ) {
927- listener . getLogger () .println ("Pruning obsolete local branches" );
947+ log .println ("Pruning obsolete local branches" );
928948 for (RemoteConfig remoteRepository : paramRepos ) {
929949 git .prune (remoteRepository );
930950 }
931951 }
932952
933- listener .getLogger ().println ("Fetching changes from the remote Git repository" );
953+ if (paramRepos .size () == 1 )
954+ log .println ("Fetching changes from 1 remote Git repository" );
955+ else
956+ log .println (MessageFormat
957+ .format ("Fetching changes from {0} remote Git repositories" ,
958+ paramRepos ));
934959
935960 boolean fetched = false ;
936961
@@ -947,7 +972,7 @@ public Revision invoke(File localWorkspace, VirtualChannel channel)
947972
948973 } else {
949974
950- listener . getLogger () .println ("Cloning the remote Git repository" );
975+ log .println ("Cloning the remote Git repository" );
951976
952977 // Go through the repositories, trying to clone from one
953978 //
@@ -963,7 +988,7 @@ public Revision invoke(File localWorkspace, VirtualChannel channel)
963988 listener .error ("Cause: %s" , ex .getCause ().getMessage ());
964989 }
965990 // Failed. Try the next one
966- listener . getLogger () .println ("Trying next repository" );
991+ log .println ("Trying next repository" );
967992 }
968993 }
969994
@@ -995,7 +1020,7 @@ public Revision invoke(File localWorkspace, VirtualChannel channel)
9951020 }
9961021
9971022 if (getClean ()) {
998- listener . getLogger () .println ("Cleaning workspace" );
1023+ log .println ("Cleaning workspace" );
9991024 git .clean ();
10001025
10011026 if (git .hasGitModules ()) {
0 commit comments