improve readme
|
1 |
# GitPrep - Portable GitHub system into your own server |
improved README
|
2 | |
improve readme
|
3 |
GitPrep is **portable Github system**. You can install portable GitHub system into **your own Unix/Linux server**.</span> |
add exmplae site link
|
4 | |
add border
|
5 |
<img src="gitprep_01.png" width="870" border="1"> |
add gitprep image to reposit...
|
6 | |
improve readme
|
7 |
At first, Let's try **[GitPrep example](https://perlcodesample.sakura.ne.jp/gitprep/gitprep.cgi/kimoto/gitprep)**. |
imrpove readme
|
8 |
You will find GitPrep is real portable GitHub system. |
9 | ||
imrpvoe readme for CGI insta...
|
10 |
## Features |
improved README
|
11 | |
Update README.md
|
12 |
* Github clone: GitPrep has the same interface as GitHub. |
imrpove readme
|
13 |
* Support issue system |
Update README.md
|
14 |
* Portable: You can install GitPrep on your own Unix/Linux server. |
do success xt tests
|
15 |
* Only needs Perl 5.10.1+. |
imrpove readme
|
16 |
* Smart HTTP support: you can pull and push repository via HTTP. |
imrpove README
|
17 |
* Built-in web server, and reverse proxy support. |
18 |
* CGI support. |
|
improve readme
|
19 |
* SSL support. |
improve readme
|
20 |
* Public key authentication support |
improved README
|
21 | |
imrpvoe readme
|
22 |
**Installation** is very **easy**. You run only two commands. |
23 |
Difficult settings is unnecessary. |
|
24 | ||
25 |
Even if you have troubles by your mistake, for example "git push -f origin master", |
|
26 |
you can access all of your git repositories **directory** and fix them. |
|
27 | ||
28 |
All reporitories are yours. All repositories exists on **your own server**. |
|
29 | ||
30 |
Open source. **All free**. |
|
31 | ||
improve readme
|
32 |
Let's try GitPrep. If you like GitPrep, please share and talk about GitPrep in your community or your company. |
imrpvoe readme
|
33 | |
34 |
## A. Install and run GitPrep by embdded web server |
|
drop cygwin support
|
35 | |
imrpove README
|
36 |
GitPrep has its own web server. You can start GitPrep easily. |
drop cygwin support
|
37 | |
38 |
### Create gitprep user |
|
39 | ||
40 |
Create a **gitprep** user. This is not necessary, but recommended: |
|
41 | ||
42 |
useradd gitprep |
|
43 |
su - gitprep |
|
44 |
cd ~ |
|
Fix typos in README
|
45 | |
Fix typos....
|
46 |
### Check if git is installed |
improve README
|
47 | |
48 |
git --version |
|
49 | ||
50 |
## Check Perl Version |
|
51 | ||
52 |
Check Perl version. You can use GitPrep if the Perl version is 5.10.1+; |
|
53 | ||
54 |
perl -v |
|
55 | ||
Fix typos....
|
56 |
If you don't have Perl 5.10.1+, you need to install a newer perl version with perlbrew. |
improve README
|
57 | |
58 |
curl -L http://install.perlbrew.pl | bash |
|
59 |
echo "source ~/perl5/perlbrew/etc/bashrc" >> ~/.bash_profile |
|
60 |
source ~/.bash_profile |
|
61 |
|
|
fix perlbrew perl version
|
62 |
perlbrew install perl-5.16.3 |
63 |
perlbrew switch perl-5.16.3 |
|
improve README
|
64 |
perl -v |
65 |
|
|
Fix typos....
|
66 |
Download GitPrep .tar.gz archive, expand it and change directory: |
improved install process
|
67 | |
imrpvoe readme for CGI insta...
|
68 |
curl -kL https://github.com/yuki-kimoto/gitprep/archive/latest.tar.gz > gitprep-latest.tar.gz |
69 |
tar xf gitprep-latest.tar.gz |
|
70 |
mv gitprep-latest gitprep |
|
71 |
cd gitprep |
|
improved install process
|
72 | |
add empty password to _start...
|
73 |
Setup. Needed modules are installed. |
improved install process
|
74 | |
separete database creating l...
|
75 |
./setup_module |
76 | ||
Fix typos....
|
77 |
If this fails and extlib directory already exists, try to remove "extlib" and run "./setup_module" again. |
improve README
|
78 | |
79 |
rm -rf extlib |
|
80 |
./setup_module |
|
81 | ||
Fix typos....
|
82 |
Check if module setup successes. Run the following command. |
add empty password to _start...
|
83 | |
84 |
prove t |
|
85 | ||
Fix typos....
|
86 |
If "syntax OK" is displayed, setup was successful. |
add empty password to _start...
|
87 | |
separete database creating l...
|
88 |
Setup database. |
89 | ||
90 |
./setup_database |
|
improved install process
|
91 | |
Fix typos....
|
92 |
If you used Gitprep version 1 and upgrade it to version 2, you need to upgrade database |
93 |
with the following command |
|
create version 2.0 setup scr...
|
94 | |
add backup way to README
|
95 |
# Backup gitprep directory for safety |
96 |
cd .. |
|
97 |
cp -rp gitprep gitprep.bak |
|
98 |
|
|
99 |
# Upgrade database |
|
100 |
cd gitprep |
|
create version 2.0 setup scr...
|
101 |
mv data/gitprep.db data/gitprep_v1bak.db |
102 |
./setup_database |
|
fix setup_database
|
103 |
old/copy_database_v1_to_v2 data/gitprep_v1bak.db data/gitprep.db |
create version 2.0 setup scr...
|
104 | |
Fix typos....
|
105 |
If you install git in your local directory, |
106 |
you have to add the correct git command path to the **gitprep.conf** config file. |
|
imrpove readme
|
107 | |
108 |
[basic] |
|
109 |
;;; Git command path |
|
110 |
git_bin=/home/yourname/local/bin/git |
|
111 | ||
drop cygwin support
|
112 |
### Start gitprep server |
113 | ||
114 |
You can start the application by running the provided gitprep script. |
|
115 |
The application is run in the background and the port is **10020** by default. |
|
116 | ||
117 |
./gitprep |
|
118 | ||
Fix typos....
|
119 |
(If you run this command again, gitprep server restarts.) |
drop cygwin support
|
120 | |
121 |
Then access the following URL. |
|
122 | ||
123 |
http://localhost:10020 |
|
124 | ||
125 |
If you want to change the port, edit gitprep.conf. |
|
126 |
If you cannot access this port, you might change the firewall settings. |
|
127 | ||
128 |
### Stop gitprep server |
|
129 | ||
130 |
You can stop the application by adding the **--stop** option. |
|
131 | ||
132 |
./gitprep --stop |
|
133 | ||
imrpove README
|
134 |
## B. Run GitPrep as CGI script |
135 | ||
136 |
You can run GitPrep as CGI script as the following site. |
|
137 | ||
improve readme
|
138 |
[GitPrep example site](https://perlcodesample.sakura.ne.jp/gitprep/gitprep.cgi/kimoto/gitprep) |
imrpove README
|
139 | |
Fix typos....
|
140 |
This is shared server. I assume you can connect the server via SSH and login with your own user. |
imrpove README
|
141 | |
142 |
Installation process is same as above except for create user. |
|
drop cygwin support
|
143 | |
Fix typos....
|
144 |
If you finish installation, you can access the following URL. |
improve document
|
145 | |
imrpvoe readme for CGI insta...
|
146 |
http://yourhost/somepath/gitprep/gitprep.cgi |
improve document
|
147 | |
imrpvoe readme for CGI insta...
|
148 |
### If you see Internal Server Error |
improve document
|
149 | |
imrpvoe readme for CGI insta...
|
150 |
If you see an internal server error, look at the log file (gitprep/log/production.log) |
151 |
to see what problem has occurred. |
|
improve document
|
152 | |
imrpvoe readme for CGI insta...
|
153 |
## FAQ |
add faq
|
154 | |
Fix typos....
|
155 |
## I can't install Gitprep on CentOS |
add FAQ about CentOS core mo...
|
156 | |
157 |
After CentOS 6, some perl core modules are not installed by default. |
|
158 |
You can install Perl core modules by the following command. |
|
159 | ||
160 |
yum -y install perl-core |
|
161 | ||
Spelling fix.
|
162 |
## Can't find git command from GitPrep |
imrpove readme
|
163 | |
Fix typos....
|
164 |
If you install git into your local directory, |
improve readme
|
165 |
you must add the correct git command path to the config file **gitprep.conf** . |
imrpove readme
|
166 | |
167 |
[basic] |
|
168 |
;;; Git command path |
|
169 |
git_bin=/home/yourname/local/bin/git |
|
170 | ||
Fix typos....
|
171 |
### blame doesn't work |
add faq
|
172 | |
Fix typos....
|
173 |
In Gitprep, blame page uses "git blame --line-porcelain". In old git, there is no --line-porcelain option. |
improve readme
|
174 |
We don't know when --line-porcelain was added to git. |
add faq
|
175 |
At least, blame page work well in git 1.8.2.1. |
176 | ||
177 |
### How to upgrade GitPrep |
|
178 | ||
add a little info to reduce ...
|
179 |
It is very easy. you only overwrite all files except for "gitprep.conf". |
add faq
|
180 | |
181 |
If you want to upgrade by "git pull", you can do it. |
|
182 |
you create "gitprep.my.conf" copied from "gitprep.my.conf", |
|
183 |
and do "git pull" |
|
184 | ||
add a little info to reduce ...
|
185 |
If you get a rainbow unicorn t-rex error after upgrading, you might be missing |
improve readme
|
186 |
a new CPAN dependency. Run again "setup.sh". |
add a little info to reduce ...
|
187 | |
improve pod
|
188 |
### I can't push large repository by http protocol |
add FAQ large repository can...
|
189 | |
improve faq of pushing lerge...
|
190 |
There are some reasons. |
add FAQ large repository can...
|
191 | |
fix readme
|
192 |
**1. Git version is old** |
improve faq of pushing lerge...
|
193 | |
194 |
If you see "error: RPC failed; result=56, HTTP code = 200" , your git maybe old. |
|
195 |
Please upgrade to latest git. I checked git version 1.8.5.5. |
|
196 | ||
197 |
**2. GitPrep restriction** |
|
198 | ||
199 |
GitPrep restrict max post message size 10MB(This is default of Mojolicious) |
|
200 | ||
201 |
You maybe see the following error |
|
202 | ||
203 |
Delta compression using up to 4 threads. |
|
204 |
Compressing objects: 100% (17830/17830), done. |
|
205 |
Writing objects: 100% (18281/18281), 687.05 MiB | 129.92 MiB/s, done. |
|
206 |
Total 18281 (delta 295), reused 18281 (delta 295) |
|
207 |
error: RPC failed; result=22, HTTP code = 413 |
|
208 |
fatal: The remote end hung up unexpectedly |
|
209 |
fatal: The remote end hung up unexpectedly |
|
210 | ||
211 |
Please increase increase the value of MOJO_MAX_MESSAGE_SIZE |
|
212 |
|
|
213 |
# 1GB |
|
214 |
export MOJO_MAX_MESSAGE_SIZE=1024000000 |
|
215 | ||
216 |
**3. git restriction** |
|
217 | ||
218 |
git restrict post max size via http protocol. |
|
219 |
http.postBuffer value of git config is maybe small. |
|
220 | ||
221 |
You maybe see the following error message. |
|
222 | ||
223 |
error: RPC failed; result=56, HTTP code = 200 |
|
224 |
fatal: The remote end hung up unexpectedly |
|
225 |
Counting objects: 18281, done. |
|
226 |
Delta compression using up to 4 threads. |
|
227 |
Compressing objects: 100% (17830/17830), done. |
|
228 |
Writing objects: 100% (18281/18281), 687.05 MiB | 133.23 MiB/s, done. |
|
229 |
Total 18281 (delta 295), reused 18281 (delta 295) |
|
230 |
fatal: The remote end hung up unexpectedly |
|
231 |
Everything up-to-date |
|
232 | ||
233 |
Please increase the value of http.postBuffer. |
|
234 |
|
|
235 |
# 1GB |
|
236 |
git config http.postBuffer 1024000000 |
|
add FAQ large repository can...
|
237 | |
fix pod
|
238 |
### How to use reverse proxy? |
improve readme
|
239 | |
240 |
You can use GitPrep via reverse proxy access |
|
241 | ||
242 |
---------------------------- ------------ |
|
243 |
---->| Web Server(Reverse proxy)|---->|GitPrep | |
|
244 |
<----| (Apache, etc) |<----| | |
|
245 |
---------------------------- ------------ |
|
246 | ||
247 |
I show apache config example. |
|
248 |
You can use Name virtual host. |
|
249 |
|
|
250 |
# HTTP |
|
251 |
<VirtualHost *:80> |
|
252 | ||
253 |
ServerName myhost.com |
|
254 |
<Proxy *> |
|
255 |
Order deny,allow |
|
256 |
Allow from all |
|
257 |
</Proxy> |
|
258 |
|
|
259 |
ProxyRequests Off |
|
260 |
ProxyPreserveHost On |
|
261 |
ProxyPass / http://localhost:10020/ keepalive=On |
|
262 |
ProxyPassReverse / http://localhost:10020/ |
|
X-Forwarded-HTTPS header is ...
|
263 |
RequestHeader set X-Forwarded-Proto "https" |
improve readme
|
264 |
|
265 |
</VirtualHost> |
|
266 | ||
Fix typos....
|
267 |
If you use GitPrep via https, you should set X-Forwarded-HTTPS Request Header. |
improve readme
|
268 | |
269 |
# HTTPS |
|
270 |
<VirtualHost *:443> |
|
271 | ||
272 |
ServerName myhost.com |
|
273 |
<Proxy *> |
|
274 |
Order deny,allow |
|
275 |
Allow from all |
|
276 |
</Proxy> |
|
277 |
|
|
278 |
ProxyRequests Off |
|
279 |
ProxyPreserveHost On |
|
280 |
ProxyPass / http://localhost:10020/ keepalive=On |
|
281 |
ProxyPassReverse / http://localhost:10020/ |
|
X-Forwarded-HTTPS header is ...
|
282 |
RequestHeader set X-Forwarded-Proto "https" |
improve readme
|
283 |
</VirtualHost> |
284 | ||
add How to use reverse proxy...
|
285 |
### How to use reverse proxy with sub directory? |
286 | ||
287 |
GitPrep support reverse proxy with sub directory. |
|
288 | ||
289 |
At first, set [reverse_proxy]path_depth option. |
|
290 | ||
291 |
[reverse_proxy] |
|
292 | ||
293 |
;;; Reverse proxy path depth (default: none) |
|
294 |
;;; If proxy path is http://somehost.com/foo, you set path_depth to 1. |
|
295 |
;;; If proxy path is http://somehost.com/foo/bar, you set path_depth to 2. |
|
296 |
path_depth=1 |
|
297 | ||
298 |
Next you set http server config file. The following is apache example. |
|
299 | ||
300 |
<VirtualHost *:80> |
|
301 |
ServerName perlcodesample.com |
|
302 |
<Proxy *> |
|
303 |
Order deny,allow |
|
304 |
Allow from all |
|
305 |
</Proxy> |
|
306 |
ProxyRequests Off |
|
307 |
ProxyPreserveHost On |
|
308 | ||
309 |
ProxyPass /app1 http://localhost:10020/app1 keepalive=On |
|
310 |
ProxyPassReverse /app1 http://localhost:3000/app1 |
|
311 | ||
312 |
ProxyPass /app2 http://localhost:10021/app2 keepalive=On |
|
313 |
ProxyPassReverse /app2 http://localhost:3001/app2 |
|
X-Forwarded-HTTPS header is ...
|
314 |
|
315 |
RequestHeader set X-Forwarded-Proto "https" |
|
add How to use reverse proxy...
|
316 |
</VirtualHost> |
317 | ||
add document about importing...
|
318 |
### How to import already existing repositories? |
319 | ||
320 |
You can import already existing repositories by **script/import_rep** script. |
|
321 | ||
322 |
cd script |
|
323 |
./import_rep -u kimoto rep_dir |
|
324 | ||
325 |
**-u** is user name. rep_dir must contains git respoitories like the following. |
|
326 | ||
fix pod
|
327 |
rep_dir/project1.git |
328 |
/project2.git |
|
329 |
/project3.git |
|
330 |
/project3.git |
|
add document about importing...
|
331 | |
fix pod
|
332 |
If **description** file exists in git repository, it is copied. |
add document about importing...
|
333 | |
Fix typos....
|
334 |
### I can't add more than one collaborator |
fix bug that can't create co...
|
335 | |
Fix typos....
|
336 |
This is a GitPrep bug before version 1.5.1. |
fix bug that can't create co...
|
337 |
Please use after version 1.5.2. |
338 | ||
improve readme
|
339 |
If you continue to use GitPrep before version 1.5.1, |
fix bug that can't create co...
|
340 |
collaboration table is broken. |
Fix typos....
|
341 |
Please fix it the following way. |
fix bug that can't create co...
|
342 | |
343 |
# Run SQLite client |
|
344 |
sqlite3 data/gitprep.db |
|
345 |
|
|
346 |
# drop collaboration table |
|
347 |
drop table collaboration; |
|
348 |
|
|
349 |
# Restart |
|
350 |
./gitprep |
|
351 | ||
add How to hide user home di...
|
352 |
### I want to set time zone. |
support time zone
|
353 | |
Fix typos....
|
354 |
OK. GitPrep supports time zones. You can set time_zone option in conig file. |
support time zone
|
355 | |
356 |
[basic] |
|
357 |
;;; Time Zone |
|
358 |
;;; GitPrep time zone is GMT by default |
|
359 |
;;; You can set your local time zone. |
|
360 |
time_zone=+9:00 |
|
361 | ||
add How to hide user home di...
|
362 |
### How to hide user home directory in ssh repository URL? |
363 | ||
support atom feed of commits...
|
364 |
**1. Use symbolic link and ssh_rep_url_base option** |
add How to hide user home di...
|
365 | |
improve the way to hide user...
|
366 |
At first, set [basic]ssh_rep_url_base option to /~/git |
add How to hide user home di...
|
367 | |
368 |
;;; SSH repository url base |
|
improve the way to hide user...
|
369 |
; For exampke, If you set this value to /~/git, SSH repository url become |
370 |
; ssh://gitprep@59.106.185.196/~/git/kimoto/gitprep.git |
|
371 |
; ~ is exapned to user home directory automatically |
|
372 |
ssh_rep_url_base=/~/git |
|
add How to hide user home di...
|
373 | |
improve the way to hide user...
|
374 |
Next, you create symbolic link to /home/gitprep/gitprep/data/rep |
add How to hide user home di...
|
375 |
|
improve the way to hide user...
|
376 |
cd ~ |
377 |
ln -s ~/gitprep/data/rep ~/git |
|
add How to hide user home di...
|
378 | |
support atom feed of commits...
|
379 |
**2. Use only public key authentication and set [basic]ssh_rep_url_base to empty** |
add How to hide user home di...
|
380 | |
381 |
If you use only public key authentication, you can access ssh repository |
|
382 |
using the following url. |
|
383 | ||
384 |
ssh://kimoto@59.106.185.196/kimoto/gitprep.git |
|
385 | ||
rename ssh_repo_url_base opt...
|
386 |
If you set [basic]ssh_rep_url_base to empty string, this URL is shown on Browser. |
add How to hide user home di...
|
387 | |
388 |
;;; SSH repository url base |
|
389 |
; For exampke, If you set this value to /git, SSH repository url become |
|
390 |
; ssh://kimoto@59.106.185.196/git/kimoto/gitprep.git |
|
rename ssh_repo_url_base opt...
|
391 |
ssh_rep_url_base= |
add How to hide user home di...
|
392 | |
support atom feed of commits...
|
393 |
### How to get atom feed of commits page |
394 | ||
395 |
You can get atom feed of commits page by the following URL |
|
396 | ||
397 |
http://somehost.com/kimoto/gitprep/commits/master.atom |
|
398 | ||
imrpvoe readme for CGI insta...
|
399 |
### How to run GitPrep from root user |
400 | ||
401 |
You can manage the application from the root user. |
|
402 | ||
403 |
Start the application |
|
404 | ||
405 |
sudo -u gitprep /home/gitprep/gitprep/gitprep |
|
406 | ||
407 |
Stop the application |
|
408 | ||
409 |
sudo -u gitprep /home/gitprep/gitprep/gitprep --stop |
|
410 | ||
411 |
If you want to start the application when the OS starts, |
|
412 |
add the start application command to **rc.local**(Linux). |
|
413 | ||
414 |
If you want to make it easy to manage gitprep, |
|
415 |
then create a run script. |
|
416 | ||
417 |
mkdir -p /webapp |
|
418 |
echo '#!/bin/sh' > /webapp/gitprep |
|
419 |
echo 'su - gitprep -c "/home/gitprep/gitprep/gitprep $*"' >> /webapp/gitprep |
|
420 |
chmod 755 /webapp/gitprep |
|
421 | ||
422 |
You can start and stop the application with the following command. |
|
423 | ||
424 |
# Start or Restart |
|
425 |
/webapp/gitprep |
|
426 | ||
427 |
# Stop |
|
428 |
/webapp/gitprep --stop |
|
429 | ||
do success xt tests
|
430 |
### I want to use GitPrep on Perl 5.8.7 system |
431 | ||
Fix typos....
|
432 |
GitPrep 2.0 dropped support for Perl 5.8.7 because latest Mojolicious doesn't support Perl 5.8. |
do success xt tests
|
433 | |
Fix typos....
|
434 |
You can choose between those options: |
do success xt tests
|
435 | |
436 |
**1. use GitPrep 1.xx** |
|
437 | ||
438 |
GitPrep 1.xx support Perl 5.8.7+. You can use GitPrep v1.12. |
|
439 | ||
440 |
https://github.com/yuki-kimoto/gitprep/archive/v1.12.tar.gz |
|
441 | ||
add the document link of ver...
|
442 |
You can see version 1.12 document. |
443 | ||
444 |
[GitPrep version 1 Document](old/README_v1.md) |
|
445 | ||
do success xt tests
|
446 |
**2. You can install your local perl by perlbrew.** |
447 | ||
448 |
http://perlbrew.pl/ |
|
449 | ||
Fix typos....
|
450 |
perlbrew is a very useful perl installation tool without breaking your system perl. |
do success xt tests
|
451 | |
Fix typos....
|
452 |
If you install perl 5.10.1+ with perlbrew, you can install latest GitPrep. |
do success xt tests
|
453 | |
X-Forwarded-HTTPS header is ...
|
454 |
### I know information about GitPrep 2.0 upgrading. |
455 | ||
Fix typos....
|
456 |
If you use GitPrep on Perl 5.8 and install newer perl with perlbrew, |
457 |
you must remove extlib directory before running the "./setup_module" command. |
|
improve README
|
458 | |
459 |
rm -rf extlib |
|
460 | ||
imrpove README
|
461 |
You should know the following small changes. |
add name and mail column to ...
|
462 | |
remove [basic]show_ignore_sp...
|
463 |
**1. X-Forwarded-HTTPS header is deprecated. use X-Forwarded-Proto header.** |
X-Forwarded-HTTPS header is ...
|
464 |
|
465 |
# This is deprecated in GitPrep 2.0 |
|
466 |
RequestHeader set X-Forwarded-HTTPS "1" |
|
467 |
|
|
468 |
# Use X-Forwarded-Proto instead |
|
469 |
RequestHeader set X-Forwarded-Proto "https" |
|
470 | ||
remove [basic]show_ignore_sp...
|
471 |
**2. remove [basic]show_ignore_space_change_link option** |
472 | ||
remove [basic]encoding_suspe...
|
473 |
remove [basic]show_ignore_space_change_link option. |
474 |
and move this feature to project settings page. |
|
475 | ||
476 |
# Go to settings page in your project |
|
477 |
/kimoto/gitprep/settings |
|
478 | ||
add name and mail column to ...
|
479 |
**3. remove [basic]show_ignore_space_change_link option** |
remove [basic]encoding_suspe...
|
480 | |
remove [basic]show_ignore_sp...
|
481 |
remove [basic]show_ignore_space_change_link option. |
482 |
but enable this feature on in project settings page. |
|
483 | ||
484 |
# Go to settings page in your project |
|
485 |
/kimoto/gitprep/settings |
|
remove [basic]encoding_suspe...
|
486 | |
add name and mail column to ...
|
487 |
**4. remove [basic]encoding_suspects option** |
remove [basic]encoding_suspe...
|
488 | |
489 |
remove [basic]encoding_suspects option |
|
490 |
and move this feature to project settings page. |
|
491 | ||
492 |
# Go to settings page in your project |
|
493 |
/kimoto/gitprep/settings |
|
remove [basic]show_ignore_sp...
|
494 | |
add name and mail column to ...
|
495 |
**5. mail is required for user registration. |
496 | ||
497 |
mail address is require for user registration. |
|
498 | ||
Sorry, I found critical data...
|
499 |
### Pull requests is removed when GitPrep upgrade |
500 | ||
501 |
Sorry, I found critical database specification mistake in GitPrep from v2.0 to v2.2, |
|
502 |
and fix it in v2.3. |
|
503 |
All your pull requests is removed when upgrading from v2.0-v2.2 to v2.3+. |
|
504 |
Please create Pull request again by the following command. |
|
505 |
|
|
506 |
old/fix_v2_pull_request data/gitprep.db |
|
507 | ||
improve sparrow section
|
508 |
### Are there other ways to install GitPrep? |
moved sparrow gitprep plugin...
|
509 | |
improve sparrow section
|
510 |
**Use sparrow** |
511 | ||
512 |
You may install and install, run GitPrep via sparrow plugin. |
|
513 | ||
514 |
$ cpanm Sparrow |
|
515 |
$ sparrow index update |
|
516 |
$ sparrow plg install gitprep |
|
517 | ||
518 |
Please follow [gitprep plugin documentation](https://sparrowhub.org/info/gitprep) for details. |
|
moved sparrow gitprep plugin...
|
519 | |
Fix typos....
|
520 |
## For Developers |
imrpvoe readme for CGI insta...
|
521 | |
improve README
|
522 |
### Run GitPrep in development mode |
523 | ||
imrpvoe readme for CGI insta...
|
524 |
If you are a developer, you can start the application in development mode. |
525 | ||
526 |
./morbo |
|
527 | ||
528 |
Then access the following URL. |
|
529 | ||
530 |
http://localhost:3000 |
|
531 | ||
532 |
If you have git, it is easy to install from git. |
|
533 | ||
534 |
git clone git://github.com/yuki-kimoto/gitprep.git |
|
535 | ||
536 |
It is useful to write configuration in ***gitprep.my.conf***, not gitprep.conf. |
|
537 | ||
improve readme
|
538 |
## The way to create installable Mojolicious application |
improve README
|
539 | |
540 |
GitPrep is the best example for developers who want to create installabel Mojolicious application. |
|
541 | ||
542 |
Even if shared hosting server, you can install Mojolicious application as CGI. |
|
543 | ||
improve readme
|
544 |
###1. cpanm and cpanfile, module installation and version controll### |
improve README
|
545 | |
improve README
|
546 |
[Tatsuhiko Miyagawa](http://weblog.bulknews.net/)'s cpanm and cpanfile is the tool which install CPAN module easily. |
547 | ||
548 |
**cpanm** is a command. It is **one file**. you can download cpanm easily and put it in your directory. |
|
549 | ||
550 |
**cpanfile** is **a definition** of module name and version. you create the following file which name is "cpanfile". |
|
551 | ||
552 |
requires 'Time::HiRes', '== 1.9732'; |
|
553 |
requires 'DBD::SQLite', '== 1.50'; |
|
554 |
requires 'DBI', '== 1.634'; |
|
555 |
requires 'DBIx::Connector', '== 0.53'; |
|
556 |
requires 'Object::Simple', '== 3.14'; |
|
557 |
requires 'DBIx::Custom', '== 0.36'; |
|
558 |
requires 'Validator::Custom', '== 1.01'; |
|
559 |
requires 'Config::Tiny', '== 2.23'; |
|
560 |
requires 'Data::Page', '== 2.02'; |
|
561 |
requires 'Data::Page::Navigation', '== 0.06'; |
|
562 |
requires 'Mojolicious', '== 6.57'; |
|
563 |
requires 'Mojolicious::Plugin::BasicAuth', '== 0.08'; |
|
564 |
requires 'Mojolicious::Plugin::AutoRoute', '== 0.19'; |
|
565 |
requires 'Mojolicious::Plugin::INIConfig', '== 0.03'; |
|
566 |
requires 'Mojolicious::Plugin::DBViewer', '== 0.28'; |
|
567 |
requires 'Text::Markdown::Hoedown', '== 1.01'; |
|
568 |
requires 'Time::Moment', '== 0.38'; |
|
569 | ||
570 |
If you want to install all defined modules, you only run the following command. |
|
571 | ||
572 |
perl -Iextlib/lib/perl5 cpanm -L extlib --installdeps . |
|
573 | ||
574 |
It's ok. but in some environment Module::CoreList is not installed, and latest ExtUtils::MakeMaker is needed for module installation. |
|
575 | ||
576 |
I write the following way in "setup_module" |
|
577 | ||
578 |
perl cpanm -n -l extlib Module::CoreList |
|
579 |
perl -Iextlib/lib/perl5 cpanm -f -L extlib ExtUtils::MakeMaker |
|
580 |
perl -Iextlib/lib/perl5 cpanm -L extlib --installdeps . |
|
581 | ||
improve readme
|
582 |
###2. CGI is supported in Mojolicious |
improve README
|
583 | |
584 |
It is good luck for us that Mojolicious author [Sebastian Riedel](https://twitter.com/kraih) decided to **support CGI** in Mojolicious. |
|
improve README
|
585 | |
586 |
We can create web application which support CGI with a little effort. |
|
587 | ||
588 |
All you do is always using **url_for** method or **url_with** method in your templates when you write URL. |
|
589 | ||
590 |
<a href="<%= url_for('/foo') %>">Bar</a> |
|
591 |
|
|
592 |
<a href="<%= url_with('/foo') %>">Bar</a> |
|
593 | ||
594 |
Mojolicious automatically resolve URL for both embded server and CGI. |
|
595 | ||
596 |
After that, you only prepare CGI script to call Mojolicious application in **production** mode. |
|
597 | ||
598 |
#!/usr/bin/env perl |
|
599 |
use FindBin; |
|
600 |
use lib "$FindBin::Bin/extlib/lib/perl5"; |
|
601 | ||
602 |
$ENV{MOJO_MODE} = 'production'; |
|
603 |
require "$FindBin::Bin/script/gitprep"; |
|
604 | ||
add web site link
|
605 |
## Web Site |
606 | ||
fix gitprep web site URL
|
607 |
[GitPrep Web Site](http://gitprep.yukikimoto.com/) |
add web site link
|
608 | |
add Time::Moment to cpanfil
|
609 |
## Internally Using Modules |
add internally using project
|
610 | |
improve readme
|
611 |
GitPrep depends on the following modules, especially Mojolicious is the base of GitPrep. |
612 |
Thanks to Mojolicious author,[Sebastian riedel](https://twitter.com/kraih). |
|
613 | ||
Fixed link to Mojolicious
|
614 |
* [Mojolicious](http://search.cpan.org/~sri/Mojolicious/lib/Mojolicious.pm) |
add internally using project
|
615 |
* [Mojolicious::Plugin::INIConfig](http://search.cpan.org/dist/Mojolicious-Plugin-INIConfig/lib/Mojolicious/Plugin/INIConfig.pm) |
do success xt tests
|
616 |
* [Mojolicious::Plugin::AutoRoute](http://search.cpan.org/dist/Mojolicious-Plugin-AutoRoute/lib/Mojolicious/Plugin/AutoRoute.pm) |
617 |
* [Mojolicious::Plugin::BasicAuth](http://search.cpan.org/dist/Mojolicious-Plugin-BasicAuth/README.pod) |
|
add Mojolicious::Plugin::DBV...
|
618 |
* [Mojolicious::Plugin::DBViewer](http://search.cpan.org/dist/Mojolicious-Plugin-DBViewer/lib/Mojolicious/Plugin/DBViewer.pm) |
add internally using project
|
619 |
* [Object::Simple](http://search.cpan.org/dist/Object-Simple/lib/Object/Simple.pm) |
use hoedown for fenced code ...
|
620 |
* [Text::Markdown::Hoedown](http://search.cpan.org/~tokuhirom/Text-Markdown-Hoedown-1.01/lib/Text/Markdown/Hoedown.pm) |
add internally using project
|
621 |
* [Validator::Custom](http://search.cpan.org/dist/Validator-Custom/lib/Validator/Custom.pm) |
imrpove readme
|
622 |
* [Time::Moment](http://search.cpan.org/dist/Time-Moment/lib/Time/Moment.pod) |
improve readme
|
623 |
* [Config::Tiny](http://search.cpan.org/dist/Config-Tiny/lib/Config/Tiny.pm) |
624 |
* [DBD::SQLite](http://search.cpan.org/dist/DBD-SQLite/lib/DBD/SQLite.pm) |
|
625 |
* [DBI](http://search.cpan.org/dist/DBI/DBI.pm) |
|
626 |
* [DBIx::Connector](http://search.cpan.org/dist/DBIx-Connector/lib/DBIx/Connector.pm) |
|
627 |
* [DBIx::Custom](http://search.cpan.org/dist/DBIx-Custom/lib/DBIx/Custom.pm) |
|
imrpvoe readme for CGI insta...
|
628 | |
add WebDBViewer link
|
629 |
## Sister project |
630 | ||
add Text::Markdown::Discount...
|
631 |
These are my Perl web application projects. |
632 | ||
fix WebDBVeiwer link
|
633 |
* [WebDBViewer](https://github.com/yuki-kimoto/webdbviewer) - Database viewer to see database information on web browser. |
add WebDBViewer link
|
634 | |
add support and bug and requ...
|
635 |
## Bug |
636 | ||
add message for bug report
|
637 |
If you find bug, plese tell me on GitHub issue. Small bugs is OK! I'm pleasure if you report anything bugs. |
add support and bug and requ...
|
638 | |
add attention of feature req...
|
639 |
Please post only bug information. |
add support and bug and requ...
|
640 | |
add attention of feature req...
|
641 |
* [Github Issue](https://github.com/yuki-kimoto/gitprep/issues?state=open) |
add support and bug and requ...
|
642 | |
add attention of feature req...
|
643 |
## Mailing list (Asking questions and feature requests) |
add support and bug and requ...
|
644 | |
add attention of feature req...
|
645 |
* [Google GitPrep Group](https://groups.google.com/forum/#!forum/gitprep) |
add support and bug and requ...
|
646 | |
add attention of feature req...
|
647 |
You can ask questions about usage of GitPrep in this mailing list. |
add support and bug and requ...
|
648 | |
add attention of feature req...
|
649 |
If you want new features, please post the request to this mailing list. |
add support and bug and requ...
|
650 | |
add author and contributers
|
651 |
## Author |
652 | ||
653 |
Yuki Kimoto |
|
654 | ||
655 |
[Yuki Kimoto Perl Blog](http://blogs.perl.org/users/yuki_kimoto/) |
|
656 | ||
657 |
[Yuki Kimoto Twitter](https://twitter.com/yukikimoto2) |
|
658 | ||
659 |
If you are interested in my project and activity, Please follow me on Twitter. |
|
660 | ||
661 |
## Contributers |
|
662 | ||
663 |
Thanks for helping my GitPrep project. |
|
664 | ||
fix contributers
|
665 |
* [maspalio](https://github.com/maspalio) |
666 |
* [djzort](https://github.com/djzort) |
|
667 |
* [SvenDowideit](https://github.com/SvenDowideit) |
|
668 |
* [melezhik](https://github.com/melezhik) |
|
669 |
* [spatil47](https://github.com/spatil47) |
|
670 |
* [reneeb](https://github.com/reneeb) |
|
671 |
* [tetsuh](https://github.com/tetsuh) |
|
672 |
* [flixh](https://github.com/flixh) |
|
673 |
* [kopytov](https://github.com/kopytov) |
|
674 |
* [kberov](https://github.com/kberov) |
|
675 |
* [deavmi](https://github.com/deavmi) |
|
676 |
* [jackivan88](https://github.com/jackivan88) |
|
677 |
* [mrmuskrat](https://github.com/mrmuskrat) |
|
678 |
* [knittl](https://github.com/knittl) |
|
679 |
* [programmerMOT](https://github.com/programmerMOT) |
|
add contributer
|
680 |
* [sn0](https://github.com/sn0) |
fix issue page bug
|
681 |
* [socialmedialabs](https://github.com/socialmedialabs) |
add author and contributers
|
682 | |
improved install process
|
683 |
## Copyright & license |
684 | ||
imrpove README
|
685 |
Copyright 2012-2016 Yuki Kimoto. All rights reserved. |
improved install process
|
686 | |
687 |
This program is free software; you can redistribute it and/or modify it |
|
688 |
under the same terms as Perl itself. |