Showing 9 changed files with 22 additions and 35 deletions
-1
lib/Gitprep.pm
... ...
@@ -124,7 +124,6 @@ sub startup {
124 124
   
125 125
   # Repository home
126 126
   my $rep_home = $ENV{GITPREP_REP_HOME} || $self->home->rel_file('data/rep');
127
-  $git->rep_home($rep_home);
128 127
   unless (-d $rep_home) {
129 128
     mkdir $rep_home
130 129
       or croak "Can't create directory $rep_home: $!";
+2 -14
lib/Gitprep/Git.pm
... ...
@@ -15,7 +15,6 @@ use Gitprep::Util;
15 15
 # Attributes
16 16
 has 'bin';
17 17
 has default_encoding => 'UTF-8';
18
-has 'rep_home';
19 18
 has text_exts => sub { ['txt'] };
20 19
 has 'time_zone_second';
21 20
 has 'app';
... ...
@@ -126,8 +125,7 @@ sub cmd_clone {
126 125
   my ($self, $user, $project) = @_;
127 126
 
128 127
   # Repository
129
-  my $home = $self->rep_home;
130
-  my $rep = "$home/$user/$project.git";
128
+  my $rep = $self->app->rep_path($user, $project);
131 129
   
132 130
   # Working directory
133 131
   my $working_dir = $self->app->home->rel_file("/data/work/$user/$project");
... ...
@@ -138,8 +136,7 @@ sub cmd {
138 136
   my ($self, $user, $project, @cmd) = @_;
139 137
   
140 138
   # Git command
141
-  my $home = $self->rep_home;
142
-  my $rep = "$home/$user/$project.git";
139
+  my $rep = $self->app->rep_path($user, $project);
143 140
   
144 141
   return $self->cmd_dir($rep, @cmd);
145 142
 }
... ...
@@ -568,7 +565,6 @@ sub exists_branch {
568 565
   my ($self, $user, $project) = @_;
569 566
   
570 567
   # Exists branch
571
-  my $home = $self->rep_home;
572 568
   my @cmd = $self->cmd($user, $project, 'branch');
573 569
   open my $fh, "-|", @cmd
574 570
     or croak 'git branch failed';
... ...
@@ -991,14 +987,6 @@ sub references {
991 987
   return \%refs;
992 988
 }
993 989
 
994
-sub rep {
995
-  my ($self, $user, $project) = @_;
996
-  
997
-  my $home = $self->rep_home;
998
-  
999
-  return "$home/$user/$project.git";
1000
-}
1001
-
1002 990
 sub short_id {
1003 991
   my ($self, $project) = (shift, shift);
1004 992
   
+9 -9
lib/Gitprep/Manager.pm
... ...
@@ -657,7 +657,7 @@ sub _create_rep {
657 657
   
658 658
   # Create repository directory
659 659
   my $git = $self->app->git;
660
-  my $rep = $git->rep($user, $project);
660
+  my $rep = $self->app->rep_path($user, $project);
661 661
   mkdir $rep
662 662
     or croak "Can't create directory $rep: $!";
663 663
   
... ...
@@ -794,7 +794,7 @@ sub _create_user_dir {
794 794
   my ($self, $user) = @_;
795 795
   
796 796
   # Create user directory
797
-  my $rep_home = $self->app->git->rep_home;
797
+  my $rep_home = $self->app->rep_home;
798 798
   my $user_dir = "$rep_home/$user";
799 799
   mkpath $user_dir;
800 800
 }
... ...
@@ -812,7 +812,7 @@ sub _delete_user_dir {
812 812
   my ($self, $user) = @_;
813 813
   
814 814
   # Delete user directory
815
-  my $rep_home = $self->app->git->rep_home;
815
+  my $rep_home = $self->app->rep_home;
816 816
   my $user_dir = "$rep_home/$user";
817 817
   rmtree $user_dir;
818 818
 }
... ...
@@ -829,7 +829,7 @@ sub _delete_rep {
829 829
   my ($self, $user, $project) = @_;
830 830
 
831 831
   # Delete repository
832
-  my $rep_home = $self->app->git->rep_home;
832
+  my $rep_home = $self->app->rep_home;
833 833
   croak "Can't remove repository. repository home is empty"
834 834
     if !defined $rep_home || $rep_home eq '';
835 835
   my $rep = "$rep_home/$user/$project.git";
... ...
@@ -861,7 +861,7 @@ sub _exists_rep {
861 861
   my ($self, $user, $project) = @_;
862 862
   
863 863
   # Exists repository
864
-  my $rep = $self->app->git->rep($user, $project);
864
+  my $rep = $self->app->rep_path($user, $project);
865 865
   
866 866
   return -e $rep;
867 867
 }
... ...
@@ -871,8 +871,8 @@ sub _fork_rep {
871 871
   
872 872
   # Fork repository
873 873
   my $git = $self->app->git;
874
-  my $rep = $git->rep($user, $project);
875
-  my $to_rep = $git->rep($to_user, $to_project);
874
+  my $rep = $self->app->rep_path($user, $project);
875
+  my $to_rep = $self->app->rep_path($to_user, $to_project);
876 876
   my @cmd = (
877 877
     $git->bin,
878 878
     'clone',
... ...
@@ -912,8 +912,8 @@ sub _rename_rep {
912 912
     unless defined $user && defined $project && defined $renamed_project;
913 913
 
914 914
   # Rename repository
915
-  my $rep = $self->app->git->rep($user, $project);
916
-  my $renamed_rep = $self->app->git->rep($user, $renamed_project);
915
+  my $rep = $self->app->rep_path($user, $project);
916
+  my $renamed_rep = $self->app->rep_path($user, $renamed_project);
917 917
   move($rep, $renamed_rep)
918 918
     or croak "Can't move $rep to $renamed_rep: $!";
919 919
 }
+3 -3
script/gitprep-shell
... ...
@@ -18,7 +18,7 @@ my $session_user = shift;
18 18
 die "User not specifed" unless defined $session_user;
19 19
 
20 20
 # Application
21
-my $app = Gitprep->new;
21
+my $app = Mojo::Server->new->load_app("$FindBin::Bin/gitprep");
22 22
 
23 23
 # Git
24 24
 my $git = $app->git;
... ...
@@ -66,8 +66,8 @@ die qq|User "$session_user" can't access repository "$user/$project.git"\n|
66 66
   unless $can_access; 
67 67
 
68 68
 # Command
69
-my $rep_home = $git->rep_home;
70
-my $repository = "'$rep_home/$user/$project.git'";
69
+my $rep = $app->rep_path($user, $project);
70
+my $repository = "'$rep'";
71 71
 my @git_shell_cmd = ("git", "shell", "-c", "$verb $repository");
72 72
 warn "@git_shell_cmd" if $debug;
73 73
 unless ($debug) {
+1 -1
script/import_rep
... ...
@@ -90,7 +90,7 @@ for my $rep (glob "$rep_dir/*") {
90 90
     # Push repository
91 91
     chdir $rep
92 92
       or warn "Can't change directory $rep: $!\n";
93
-    my $remote_rep = $git->rep($user, $project);
93
+    my $remote_rep = $app->rep_path($user, $project);
94 94
     
95 95
     # push branches
96 96
     {
+3 -3
templates/smart-http/info-refs.html.ep
... ...
@@ -14,7 +14,7 @@
14 14
     my $service_cmd = $service;
15 15
     substr($service_cmd, 0, 4, '');
16 16
     
17
-    my $rep = $git->rep($user, $project);
17
+    my $rep = app->rep_path($user, $project);
18 18
     my @cmd = $git->cmd($user, $project, $service_cmd, '--stateless-rpc', '--advertise-refs', $rep);
19 19
     
20 20
     my ($cout, $cerr) = (Symbol::gensym, Symbol::gensym);
... ...
@@ -65,8 +65,8 @@
65 65
       or die "Can't close pipe for @cmd:$!";
66 66
     
67 67
     my $content_type = 'text/plain; charset=UTF-8';
68
-    my $rep_home = app->git->rep_home;
69
-    my $file = "$rep_home/$user/$project.git/info/refs";
68
+    my $rep = app->rep_path($user, $project);
69
+    my $file = "$rep/info/refs";
70 70
     if (-f $file) {
71 71
       my $asset = Mojo::Asset::File->new(path => $file);
72 72
       my $content = $asset->slurp;
+1 -1
templates/smart-http/service.html.ep
... ...
@@ -9,7 +9,7 @@
9 9
   
10 10
   my $git = app->git;
11 11
   
12
-  my $rep_dir = $git->rep($user, $project);
12
+  my $rep_dir = app->rep_path($user, $project);
13 13
   my @cmd = $git->cmd($user, $project, $service, '--stateless-rpc', $rep_dir);
14 14
   
15 15
   # Command
+2 -2
templates/smart-http/static.html.ep
... ...
@@ -31,8 +31,8 @@
31 31
     $content_type = 'application/x-git-packed-objects-toc';
32 32
   }
33 33
   
34
-  my $rep_home = app->git->rep_home;
35
-  my $file = "$rep_home/$user/$project.git/$path";
34
+  my $rep = app->rep_path($user, $project);
35
+  my $file = "$rep/$path";
36 36
   if (-f $file) {
37 37
     my $asset = Mojo::Asset::File->new(path => $file);
38 38
     my $content = $asset->slurp;
+1 -1
templates/tree.html.ep
... ...
@@ -63,7 +63,7 @@
63 63
   my $url = url_for->to_abs;
64 64
   $url->base(undef);
65 65
   my $ssh_port = config->{basic}{ssh_port};
66
-  my $rep_home = app->git->rep_home;
66
+  my $rep_home = app->rep_home;
67 67
   my $execute_user = getpwuid($>);
68 68
   my $ssh_rep_url_base = defined app->config->{basic}{'ssh_rep_url_base'}
69 69
     ? app->config->{basic}{'ssh_rep_url_base'} : $rep_home;