... | ... |
@@ -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, |