gitprep / README.md /
Newer Older
688 lines | 21.268kb
improve readme
Yuki Kimoto authored on 2016-08-03
1
# GitPrep - Portable GitHub system into your own server
improved README
Yuki Kimoto authored on 2013-03-29
2

            
improve readme
Yuki Kimoto authored on 2016-08-03
3
GitPrep is **portable Github system**. You can install portable GitHub system into **your own Unix/Linux server**.</span>
add exmplae site link
Yuki Kimoto authored on 2016-02-12
4

            
add border
Yuki Kimoto authored on 2016-08-03
5
<img src="gitprep_01.png" width="870" border="1">
add gitprep image to reposit...
Yuki Kimoto authored on 2015-11-12
6

            
improve readme
Yuki Kimoto authored on 2016-08-03
7
At first, Let's try **[GitPrep example](https://perlcodesample.sakura.ne.jp/gitprep/gitprep.cgi/kimoto/gitprep)**.
imrpove readme
Yuki Kimoto authored on 2016-08-03
8
You will find GitPrep is real portable GitHub system.
9

            
imrpvoe readme for CGI insta...
Yuki Kimoto authored on 2015-06-27
10
## Features
improved README
Yuki Kimoto authored on 2013-03-29
11

            
Update README.md
John Olinda authored on 2014-05-21
12
* Github clone: GitPrep has the same interface as GitHub.
imrpove readme
Yuki Kimoto authored on 2016-08-03
13
* Support issue system
Update README.md
John Olinda authored on 2014-05-21
14
* Portable: You can install GitPrep on your own Unix/Linux server.
do success xt tests
Yuki Kimoto authored on 2016-03-25
15
* Only needs Perl 5.10.1+.
imrpove readme
Yuki Kimoto authored on 2016-08-03
16
* Smart HTTP support: you can pull and push repository via HTTP.
imrpove README
Yuki Kimoto authored on 2016-04-28
17
* Built-in web server, and reverse proxy support.
18
* CGI support.
improve readme
Yuki Kimoto authored on 2013-08-28
19
* SSL support.
improve readme
Yuki Kimoto authored on 2016-05-04
20
* Public key authentication support
improved README
Yuki Kimoto authored on 2013-03-29
21

            
imrpvoe readme
Yuki Kimoto authored on 2016-08-04
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
Yuki Kimoto authored on 2016-08-04
32
Let's try GitPrep. If you like GitPrep, please share and talk about GitPrep in your community or your company.
imrpvoe readme
Yuki Kimoto authored on 2016-08-04
33

            
34
## A. Install and run GitPrep by embdded web server
drop cygwin support
Yuki Kimoto authored on 2016-04-28
35

            
imrpove README
Yuki Kimoto authored on 2016-04-28
36
GitPrep has its own web server. You can start GitPrep easily.
drop cygwin support
Yuki Kimoto authored on 2016-04-28
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
Daniel Knittl-Frank authored on 2013-07-07
45

            
Fix typos....
Renee authored on 2016-04-29
46
### Check if git is installed
improve README
Yuki Kimoto authored on 2016-04-29
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....
Renee authored on 2016-04-29
56
If you don't have Perl 5.10.1+, you need to install a newer perl version with perlbrew.
improve README
Yuki Kimoto authored on 2016-04-29
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
Yuki Kimoto authored on 2016-05-07
62
    perlbrew install perl-5.16.3
63
    perlbrew switch perl-5.16.3
improve README
Yuki Kimoto authored on 2016-04-29
64
    perl -v
65
    
Fix typos....
Renee authored on 2016-04-29
66
Download GitPrep .tar.gz archive, expand it and change directory:
improved install process
Yuki Kimoto authored on 2013-04-09
67

            
imrpvoe readme for CGI insta...
Yuki Kimoto authored on 2015-06-27
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
Yuki Kimoto authored on 2013-04-09
72

            
add empty password to _start...
Yuki Kimoto authored on 2016-04-29
73
Setup. Needed modules are installed.
improved install process
Yuki Kimoto authored on 2013-04-09
74

            
separete database creating l...
Yuki Kimoto authored on 2016-04-06
75
    ./setup_module
76

            
Fix typos....
Renee authored on 2016-04-29
77
If this fails and extlib directory already exists, try to remove "extlib" and run "./setup_module" again.
improve README
Yuki Kimoto authored on 2016-04-29
78

            
79
    rm -rf extlib
80
    ./setup_module
81

            
Fix typos....
Renee authored on 2016-04-29
82
Check if module setup successes. Run the following command.
add empty password to _start...
Yuki Kimoto authored on 2016-04-29
83

            
84
    prove t
85

            
Fix typos....
Renee authored on 2016-04-29
86
If "syntax OK" is displayed, setup was successful. 
add empty password to _start...
Yuki Kimoto authored on 2016-04-29
87

            
separete database creating l...
Yuki Kimoto authored on 2016-04-06
88
Setup database.
89

            
90
    ./setup_database
improved install process
Yuki Kimoto authored on 2013-04-09
91

            
Fix typos....
Renee authored on 2016-04-29
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...
Yuki Kimoto authored on 2016-04-21
94

            
add backup way to README
Yuki Kimoto authored on 2016-04-28
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...
Yuki Kimoto authored on 2016-04-21
101
    mv data/gitprep.db data/gitprep_v1bak.db
102
    ./setup_database
fix setup_database
Yuki Kimoto authored on 2016-04-21
103
    old/copy_database_v1_to_v2 data/gitprep_v1bak.db data/gitprep.db
create version 2.0 setup scr...
Yuki Kimoto authored on 2016-04-21
104

            
Fix typos....
Renee authored on 2016-04-29
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
Yuki Kimoto authored on 2015-06-27
107

            
108
    [basic]
109
    ;;; Git command path
110
    git_bin=/home/yourname/local/bin/git
111

            
drop cygwin support
Yuki Kimoto authored on 2016-04-28
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....
Renee authored on 2016-04-29
119
(If you run this command again, gitprep server restarts.)
drop cygwin support
Yuki Kimoto authored on 2016-04-28
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
Yuki Kimoto authored on 2016-04-28
134
## B. Run GitPrep as CGI script
135

            
136
You can run GitPrep as CGI script as the following site.
137

            
improve readme
Yuki Kimoto authored on 2016-05-04
138
[GitPrep example site](https://perlcodesample.sakura.ne.jp/gitprep/gitprep.cgi/kimoto/gitprep)
imrpove README
Yuki Kimoto authored on 2016-04-28
139

            
Fix typos....
Renee authored on 2016-04-29
140
This is shared server. I assume you can connect the server via SSH and login with your own user.
imrpove README
Yuki Kimoto authored on 2016-04-28
141

            
142
Installation process is same as above except for create user.
drop cygwin support
Yuki Kimoto authored on 2016-04-28
143

            
Fix typos....
Renee authored on 2016-04-29
144
If you finish installation, you can access the following URL.
improve document
Yuki Kimoto authored on 2015-01-17
145

            
imrpvoe readme for CGI insta...
Yuki Kimoto authored on 2015-06-27
146
    http://yourhost/somepath/gitprep/gitprep.cgi
improve document
Yuki Kimoto authored on 2015-01-17
147

            
imrpvoe readme for CGI insta...
Yuki Kimoto authored on 2015-06-27
148
### If you see Internal Server Error
improve document
Yuki Kimoto authored on 2015-01-17
149

            
imrpvoe readme for CGI insta...
Yuki Kimoto authored on 2015-06-27
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
Yuki Kimoto authored on 2015-01-17
152

            
imrpvoe readme for CGI insta...
Yuki Kimoto authored on 2015-06-27
153
## FAQ
add faq
Yuki Kimoto authored on 2013-09-04
154

            
Fix typos....
Renee authored on 2016-04-29
155
## I can't install Gitprep on CentOS
add FAQ about CentOS core mo...
Yuki Kimoto authored on 2016-04-29
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.
Tristan B. Kildaire authored on 2015-10-04
162
## Can't find git command from GitPrep
imrpove readme
Yuki Kimoto authored on 2015-06-27
163

            
Fix typos....
Renee authored on 2016-04-29
164
If you install git into your local directory,
improve readme
Yuki Kimoto authored on 2015-11-05
165
you must add the correct git command path to the config file **gitprep.conf** .
imrpove readme
Yuki Kimoto authored on 2015-06-27
166

            
167
    [basic]
168
    ;;; Git command path
169
    git_bin=/home/yourname/local/bin/git
170

            
Fix typos....
Renee authored on 2016-04-29
171
### blame doesn't work
add faq
Yuki Kimoto authored on 2013-09-04
172

            
Fix typos....
Renee authored on 2016-04-29
173
In Gitprep, blame page uses "git blame --line-porcelain". In old git, there is no --line-porcelain option.
improve readme
Yuki Kimoto authored on 2013-10-08
174
We don't know when --line-porcelain was added to git.
add faq
Yuki Kimoto authored on 2013-09-04
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 ...
Sven Dowideit authored on 2013-11-23
179
It is very easy. you only overwrite all files except for "gitprep.conf".
add faq
Yuki Kimoto authored on 2013-09-04
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 ...
Sven Dowideit authored on 2013-11-23
185
If you get a rainbow unicorn t-rex error after upgrading, you might be missing
improve readme
Yuki Kimoto authored on 2015-11-05
186
a new CPAN dependency. Run again "setup.sh".
add a little info to reduce ...
Sven Dowideit authored on 2013-11-23
187

            
improve pod
Yuki Kimoto authored on 2013-11-23
188
### I can't push large repository by http protocol
add FAQ large repository can...
Yuki Kimoto authored on 2013-10-07
189

            
improve faq of pushing lerge...
Yuki Kimoto authored on 2014-02-17
190
There are some reasons.
add FAQ large repository can...
Yuki Kimoto authored on 2013-10-07
191

            
fix readme
Yuki Kimoto authored on 2014-02-17
192
**1. Git version is old**
improve faq of pushing lerge...
Yuki Kimoto authored on 2014-02-17
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...
Yuki Kimoto authored on 2013-10-07
237

            
fix pod
Yuki Kimoto authored on 2014-02-28
238
### How to use reverse proxy?
improve readme
Yuki Kimoto authored on 2014-02-26
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 ...
Yuki Kimoto authored on 2016-03-28
263
      RequestHeader set X-Forwarded-Proto "https"
improve readme
Yuki Kimoto authored on 2014-02-26
264
        
265
    </VirtualHost>
266

            
Fix typos....
Renee authored on 2016-04-29
267
If you use GitPrep via https, you should set X-Forwarded-HTTPS Request Header.
improve readme
Yuki Kimoto authored on 2014-02-26
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 ...
Yuki Kimoto authored on 2016-03-28
282
      RequestHeader set X-Forwarded-Proto "https"
improve readme
Yuki Kimoto authored on 2014-02-26
283
    </VirtualHost>
284

            
add How to use reverse proxy...
Yuki Kimoto authored on 2014-09-24
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 ...
Yuki Kimoto authored on 2016-03-28
314
      
315
      RequestHeader set X-Forwarded-Proto "https"
add How to use reverse proxy...
Yuki Kimoto authored on 2014-09-24
316
    </VirtualHost>
317

            
add document about importing...
Yuki Kimoto authored on 2014-02-28
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
Yuki Kimoto authored on 2014-02-28
327
    rep_dir/project1.git
328
           /project2.git
329
           /project3.git
330
           /project3.git
add document about importing...
Yuki Kimoto authored on 2014-02-28
331

            
fix pod
Yuki Kimoto authored on 2014-02-28
332
If **description** file exists in git repository, it is copied.
add document about importing...
Yuki Kimoto authored on 2014-02-28
333

            
Fix typos....
Renee authored on 2016-04-29
334
### I can't add more than one collaborator
fix bug that can't create co...
Yuki Kimoto authored on 2014-03-08
335

            
Fix typos....
Renee authored on 2016-04-29
336
This is a GitPrep bug before version 1.5.1.
fix bug that can't create co...
Yuki Kimoto authored on 2014-03-08
337
Please use after version 1.5.2.
338

            
improve readme
Yuki Kimoto authored on 2015-11-05
339
If you continue to use GitPrep before version 1.5.1,
fix bug that can't create co...
Yuki Kimoto authored on 2014-03-08
340
collaboration table is broken.
Fix typos....
Renee authored on 2016-04-29
341
Please fix it the following way.
fix bug that can't create co...
Yuki Kimoto authored on 2014-03-08
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...
Yuki Kimoto authored on 2014-09-24
352
### I want to set time zone.
support time zone
Yuki Kimoto authored on 2014-03-08
353

            
Fix typos....
Renee authored on 2016-04-29
354
OK. GitPrep supports time zones. You can set time_zone option in conig file.
support time zone
Yuki Kimoto authored on 2014-03-08
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...
Yuki Kimoto authored on 2014-09-24
362
### How to hide user home directory in ssh repository URL?
363

            
support atom feed of commits...
Yuki Kimoto authored on 2014-10-03
364
**1. Use symbolic link and ssh_rep_url_base option**
add How to hide user home di...
Yuki Kimoto authored on 2014-09-24
365

            
improve the way to hide user...
Yuki Kimoto authored on 2016-09-08
366
At first, set [basic]ssh_rep_url_base option to /~/git
add How to hide user home di...
Yuki Kimoto authored on 2014-09-24
367

            
368
    ;;; SSH repository url base
improve the way to hide user...
Yuki Kimoto authored on 2016-09-08
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...
Yuki Kimoto authored on 2014-09-24
373

            
improve the way to hide user...
Yuki Kimoto authored on 2016-09-08
374
Next, you create symbolic link to /home/gitprep/gitprep/data/rep
add How to hide user home di...
Yuki Kimoto authored on 2014-09-24
375
    
improve the way to hide user...
Yuki Kimoto authored on 2016-09-08
376
    cd ~
377
    ln -s ~/gitprep/data/rep ~/git
add How to hide user home di...
Yuki Kimoto authored on 2014-09-24
378

            
support atom feed of commits...
Yuki Kimoto authored on 2014-10-03
379
**2. Use only public key authentication and set [basic]ssh_rep_url_base to empty**
add How to hide user home di...
Yuki Kimoto authored on 2014-09-24
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...
Yuki Kimoto authored on 2014-09-24
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...
Yuki Kimoto authored on 2014-09-24
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...
Yuki Kimoto authored on 2014-09-24
391
    ssh_rep_url_base=
add How to hide user home di...
Yuki Kimoto authored on 2014-09-24
392

            
support atom feed of commits...
Yuki Kimoto authored on 2014-10-03
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...
Yuki Kimoto authored on 2015-06-27
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
Yuki Kimoto authored on 2016-03-25
430
### I want to use GitPrep on Perl 5.8.7 system
431

            
Fix typos....
Renee authored on 2016-04-29
432
GitPrep 2.0 dropped support for Perl 5.8.7 because latest Mojolicious doesn't support Perl 5.8.
do success xt tests
Yuki Kimoto authored on 2016-03-25
433

            
Fix typos....
Renee authored on 2016-04-29
434
You can choose between those options:
do success xt tests
Yuki Kimoto authored on 2016-03-25
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...
Yuki Kimoto authored on 2016-04-12
442
You can see version 1.12 document.
443

            
444
[GitPrep version 1 Document](old/README_v1.md)
445

            
do success xt tests
Yuki Kimoto authored on 2016-03-25
446
**2. You can install your local perl by perlbrew.**
447

            
448
http://perlbrew.pl/
449

            
Fix typos....
Renee authored on 2016-04-29
450
perlbrew is a very useful perl installation tool without breaking your system perl.
do success xt tests
Yuki Kimoto authored on 2016-03-25
451

            
Fix typos....
Renee authored on 2016-04-29
452
If you install perl 5.10.1+ with perlbrew, you can install latest GitPrep.
do success xt tests
Yuki Kimoto authored on 2016-03-25
453

            
X-Forwarded-HTTPS header is ...
Yuki Kimoto authored on 2016-03-28
454
### I know information about GitPrep 2.0 upgrading.
455

            
Fix typos....
Renee authored on 2016-04-29
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
Yuki Kimoto authored on 2016-04-29
458

            
459
  rm -rf extlib
460

            
imrpove README
Yuki Kimoto authored on 2016-04-28
461
You should know the following small changes.
add name and mail column to ...
Yuki Kimoto authored on 2016-04-06
462

            
remove [basic]show_ignore_sp...
Yuki Kimoto authored on 2016-04-02
463
**1. X-Forwarded-HTTPS header is deprecated. use  X-Forwarded-Proto header.**
X-Forwarded-HTTPS header is ...
Yuki Kimoto authored on 2016-03-28
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...
Yuki Kimoto authored on 2016-04-02
471
**2. remove [basic]show_ignore_space_change_link option**
472

            
remove [basic]encoding_suspe...
Yuki Kimoto authored on 2016-04-06
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 ...
Yuki Kimoto authored on 2016-04-06
479
**3. remove [basic]show_ignore_space_change_link option**
remove [basic]encoding_suspe...
Yuki Kimoto authored on 2016-04-06
480

            
remove [basic]show_ignore_sp...
Yuki Kimoto authored on 2016-04-02
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...
Yuki Kimoto authored on 2016-04-06
486

            
add name and mail column to ...
Yuki Kimoto authored on 2016-04-06
487
**4. remove [basic]encoding_suspects option**
remove [basic]encoding_suspe...
Yuki Kimoto authored on 2016-04-06
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...
Yuki Kimoto authored on 2016-04-02
494

            
add name and mail column to ...
Yuki Kimoto authored on 2016-04-06
495
**5. mail is required for user registration.
496

            
497
mail address is require for user registration.
498

            
Sorry, I found critical data...
Yuki Kimoto authored on 2016-06-09
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
Yuki Kimoto authored on 2016-05-11
508
### Are there other ways to install GitPrep?
moved sparrow gitprep plugin...
melezhik authored on 2016-05-10
509

            
improve sparrow section
Yuki Kimoto authored on 2016-05-11
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...
melezhik authored on 2016-05-10
519

            
Fix typos....
Renee authored on 2016-04-29
520
## For Developers
imrpvoe readme for CGI insta...
Yuki Kimoto authored on 2015-06-27
521

            
improve README
Yuki Kimoto authored on 2016-08-12
522
### Run GitPrep in development mode
523

            
imrpvoe readme for CGI insta...
Yuki Kimoto authored on 2015-06-27
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
Yuki Kimoto authored on 2016-08-12
538
## The way to create installable Mojolicious application
improve README
Yuki Kimoto authored on 2016-08-12
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
Yuki Kimoto authored on 2016-08-12
544
###1. cpanm and cpanfile, module installation and version controll###
improve README
Yuki Kimoto authored on 2016-08-12
545

            
improve README
Yuki Kimoto authored on 2016-08-12
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
Yuki Kimoto authored on 2016-08-12
582
###2. CGI is supported in Mojolicious
improve README
Yuki Kimoto authored on 2016-08-12
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
Yuki Kimoto authored on 2016-08-12
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
Yuki Kimoto authored on 2013-06-12
605
## Web Site
606

            
fix gitprep web site URL
Yuki Kimoto authored on 2015-11-06
607
[GitPrep Web Site](http://gitprep.yukikimoto.com/)
add web site link
Yuki Kimoto authored on 2013-06-12
608

            
add Time::Moment to cpanfil
Yuki Kimoto authored on 2016-04-20
609
## Internally Using Modules
add internally using project
Yuki Kimoto authored on 2013-06-16
610

            
improve readme
Yuki Kimoto authored on 2016-08-04
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
kberov authored on 2015-12-09
614
* [Mojolicious](http://search.cpan.org/~sri/Mojolicious/lib/Mojolicious.pm)
add internally using project
Yuki Kimoto authored on 2013-06-16
615
* [Mojolicious::Plugin::INIConfig](http://search.cpan.org/dist/Mojolicious-Plugin-INIConfig/lib/Mojolicious/Plugin/INIConfig.pm)
do success xt tests
Yuki Kimoto authored on 2016-03-25
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...
Yuki Kimoto authored on 2016-03-26
618
* [Mojolicious::Plugin::DBViewer](http://search.cpan.org/dist/Mojolicious-Plugin-DBViewer/lib/Mojolicious/Plugin/DBViewer.pm)
add internally using project
Yuki Kimoto authored on 2013-06-16
619
* [Object::Simple](http://search.cpan.org/dist/Object-Simple/lib/Object/Simple.pm)
use hoedown for fenced code ...
Qinhu Wang authored on 2014-03-11
620
* [Text::Markdown::Hoedown](http://search.cpan.org/~tokuhirom/Text-Markdown-Hoedown-1.01/lib/Text/Markdown/Hoedown.pm)
add internally using project
Yuki Kimoto authored on 2013-06-16
621
* [Validator::Custom](http://search.cpan.org/dist/Validator-Custom/lib/Validator/Custom.pm)
imrpove readme
Yuki Kimoto authored on 2016-08-03
622
* [Time::Moment](http://search.cpan.org/dist/Time-Moment/lib/Time/Moment.pod)
improve readme
Yuki Kimoto authored on 2016-08-04
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...
Yuki Kimoto authored on 2015-06-27
628

            
add WebDBViewer link
Yuki Kimoto authored on 2013-06-30
629
## Sister project
630

            
add Text::Markdown::Discount...
Yuki Kimoto authored on 2013-11-18
631
These are my Perl web application projects.
632

            
fix WebDBVeiwer link
Yuki Kimoto authored on 2015-11-07
633
* [WebDBViewer](https://github.com/yuki-kimoto/webdbviewer) - Database viewer to see database information on web browser.
add WebDBViewer link
Yuki Kimoto authored on 2013-06-30
634

            
add support and bug and requ...
Yuki Kimoto authored on 2014-05-21
635
## Bug
636

            
add message for bug report
Yuki Kimoto authored on 2016-08-22
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...
Yuki Kimoto authored on 2014-05-21
638

            
add attention of feature req...
Yuki Kimoto authored on 2016-01-23
639
Please post only bug information.
add support and bug and requ...
Yuki Kimoto authored on 2014-05-21
640

            
add attention of feature req...
Yuki Kimoto authored on 2016-01-23
641
* [Github Issue](https://github.com/yuki-kimoto/gitprep/issues?state=open)
add support and bug and requ...
Yuki Kimoto authored on 2014-05-21
642

            
add attention of feature req...
Yuki Kimoto authored on 2016-01-23
643
## Mailing list (Asking questions and feature requests)
add support and bug and requ...
Yuki Kimoto authored on 2014-05-21
644

            
add attention of feature req...
Yuki Kimoto authored on 2016-01-23
645
* [Google GitPrep Group](https://groups.google.com/forum/#!forum/gitprep)
add support and bug and requ...
Yuki Kimoto authored on 2014-05-21
646

            
add attention of feature req...
Yuki Kimoto authored on 2016-01-23
647
You can ask questions about usage of GitPrep in this mailing list.
add support and bug and requ...
Yuki Kimoto authored on 2014-05-21
648

            
add attention of feature req...
Yuki Kimoto authored on 2016-01-23
649
If you want new features, please post the request to this mailing list.
add support and bug and requ...
Yuki Kimoto authored on 2014-05-21
650

            
add author and contributers
Yuki Kimoto authored on 2016-06-06
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
Yuki Kimoto authored on 2016-06-06
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
Yuki Kimoto authored on 2016-08-16
680
* [sn0](https://github.com/sn0)
fix issue page bug
Yuki Kimoto authored on 2016-09-29
681
* [socialmedialabs](https://github.com/socialmedialabs)
add author and contributers
Yuki Kimoto authored on 2016-06-06
682

            
improved install process
Yuki Kimoto authored on 2013-04-09
683
## Copyright & license
684

            
imrpove README
Yuki Kimoto authored on 2016-04-28
685
Copyright 2012-2016 Yuki Kimoto. All rights reserved.
improved install process
Yuki Kimoto authored on 2013-04-09
686

            
687
This program is free software; you can redistribute it and/or modify it
688
under the same terms as Perl itself.