@@ -304,32 +304,11 @@ func createRun(opts *CreateOptions) error {
304304 }
305305 if createLocalDirectory {
306306 path := repo .Name
307-
308- gitInit , err := git .GitCommand ("init" , path )
309- if err != nil {
310- return err
311- }
312- isTTY := opts .IO .IsStdoutTTY ()
313- if isTTY {
314- gitInit .Stdout = stdout
315- }
316- gitInit .Stderr = stderr
317- err = run .PrepareCmd (gitInit ).Run ()
318- if err != nil {
319- return err
320- }
321- gitRemoteAdd , err := git .GitCommand ("-C" , path , "remote" , "add" , "origin" , remoteURL )
322- if err != nil {
323- return err
324- }
325- gitRemoteAdd .Stdout = stdout
326- gitRemoteAdd .Stderr = stderr
327- err = run .PrepareCmd (gitRemoteAdd ).Run ()
328- if err != nil {
307+ if err := localInit (opts .IO , remoteURL , path , opts .Template != "" ); err != nil {
329308 return err
330309 }
331310 if isTTY {
332- fmt .Fprintf (stderr , "%s Initialized repository in './%s/' \n " , cs .SuccessIcon (), path )
311+ fmt .Fprintf (stderr , "%s Initialized repository in \" %s \" \n " , cs .SuccessIcon (), path )
333312 }
334313 }
335314 }
@@ -340,6 +319,40 @@ func createRun(opts *CreateOptions) error {
340319 return nil
341320}
342321
322+ func localInit (io * iostreams.IOStreams , remoteURL , path string , isTemplate bool ) error {
323+ if isTemplate {
324+ cloneCmd , err := git .GitCommand ("clone" , remoteURL , path )
325+ if err != nil {
326+ return err
327+ }
328+ cloneCmd .Stdout = io .Out
329+ cloneCmd .Stderr = io .ErrOut
330+ return run .PrepareCmd (cloneCmd ).Run ()
331+ }
332+
333+ gitInit , err := git .GitCommand ("init" , path )
334+ if err != nil {
335+ return err
336+ }
337+ isTTY := io .IsStdoutTTY ()
338+ if isTTY {
339+ gitInit .Stdout = io .Out
340+ }
341+ gitInit .Stderr = io .ErrOut
342+ err = run .PrepareCmd (gitInit ).Run ()
343+ if err != nil {
344+ return err
345+ }
346+
347+ gitRemoteAdd , err := git .GitCommand ("-C" , path , "remote" , "add" , "origin" , remoteURL )
348+ if err != nil {
349+ return err
350+ }
351+ gitRemoteAdd .Stdout = io .Out
352+ gitRemoteAdd .Stderr = io .ErrOut
353+ return run .PrepareCmd (gitRemoteAdd ).Run ()
354+ }
355+
343356func interactiveRepoCreate (isDescEmpty bool , isVisibilityPassed bool , repoName string ) (string , string , string , error ) {
344357 qs := []* survey.Question {}
345358
0 commit comments