Showing 1 changed files with 24 additions and 15 deletions
+24 -15
lib/Gitprep/Manager.pm
... ...
@@ -728,26 +728,35 @@ sub _create_rep {
728 728
       # Create working directory
729 729
       my $home_tmp_dir = $self->app->home->rel_file('tmp');
730 730
       
731
+      # Temp directory
731 732
       my $temp_dir =  File::Temp->newdir(DIR => $home_tmp_dir);
732
-      my $temp_work = "$temp_dir/work";
733
-      mkdir $temp_work
734
-        or croak "Can't create directory $temp_work: $!";
733
+      
734
+      # Working repository
735
+      my $work_rep_work_tree = "$temp_dir/work";
736
+      my $work_rep_git_dir = "$work_rep_work_tree/.git";
737
+      my $work_rep_info = {
738
+        work_tree => $work_rep_work_tree,
739
+        git_dir => $work_rep_git_dir
740
+      };
741
+      
742
+      mkdir $work_rep_work_tree
743
+        or croak "Can't create directory $work_rep_work_tree: $!";
735 744
       
736 745
       # Git init
737
-      my @git_init_cmd = $git->cmd_work_dir($temp_work, 'init', '-q');
746
+      my @git_init_cmd = $git->cmd($work_rep_info, 'init', '-q');
738 747
       Gitprep::Util::run_command(@git_init_cmd)
739 748
         or croak "Can't execute git init: @git_init_cmd";
740 749
       
741 750
       # Add README
742
-      my $file = "$temp_work/README.md";
751
+      my $file = "$work_rep_work_tree/README.md";
743 752
       open my $readme_fh, '>', $file
744 753
         or croak "Can't create $file: $!";
745 754
       print $readme_fh "# $project\n";
746 755
       print $readme_fh "\n" . encode('UTF-8', $description) . "\n";
747 756
       close $readme_fh;
748 757
       
749
-      my @git_add_cmd = $git->cmd_work_dir(
750
-        $temp_work,
758
+      my @git_add_cmd = $git->cmd(
759
+        $work_rep_info,
751 760
         'add',
752 761
         'README.md'
753 762
       );
... ...
@@ -756,8 +765,8 @@ sub _create_rep {
756 765
         or croak "Can't execute git add: @git_add_cmd";
757 766
       
758 767
       # Set user name
759
-      my @git_config_user_name = $git->cmd_work_dir(
760
-        $temp_work,
768
+      my @git_config_user_name = $git->cmd(
769
+        $work_rep_info,
761 770
         'config',
762 771
         'user.name',
763 772
         $user
... ...
@@ -767,8 +776,8 @@ sub _create_rep {
767 776
       
768 777
       # Set user mail
769 778
       my $user_mail = $self->app->dbi->model('user')->select('mail', where => {id => $user})->value;
770
-      my @git_config_user_mail = $git->cmd_work_dir(
771
-        $temp_work,
779
+      my @git_config_user_mail = $git->cmd(
780
+        $work_rep_info,
772 781
         'config',
773 782
         'user.email',
774 783
         "$user_mail"
... ...
@@ -777,8 +786,8 @@ sub _create_rep {
777 786
         or croak "Can't execute git config: @git_config_user_mail";
778 787
       
779 788
       # Commit
780
-      my @git_commit_cmd = $git->cmd_work_dir(
781
-        $temp_work,
789
+      my @git_commit_cmd = $git->cmd(
790
+        $work_rep_info,
782 791
         'commit',
783 792
         '-q',
784 793
         '-m',
... ...
@@ -789,8 +798,8 @@ sub _create_rep {
789 798
       
790 799
       # Push
791 800
       {
792
-        my @git_push_cmd = $git->cmd_work_dir(
793
-          $temp_work,
801
+        my @git_push_cmd = $git->cmd(
802
+          $work_rep_info,
794 803
           'push',
795 804
           '-q',
796 805
           $rep_git_dir,