git-lighttp 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/LICENSE.txt +21 -0
- data/README.md +90 -0
- data/README.pt-BR.md +96 -0
- data/doc/releases/{v0.1.0.rdoc → v0.1.0.md} +4 -4
- data/doc/releases/{v0.2.0.rdoc → v0.2.0.md} +3 -5
- data/doc/releases/{v0.3.0.rdoc → v0.3.0.md} +3 -3
- data/doc/releases/v0.3.1.md +12 -0
- data/git-lighttp.gemspec +34 -21
- data/lib/git/lighttp.rb +100 -97
- data/lib/git/lighttp/extensions.rb +26 -30
- data/lib/git/lighttp/http_backend.rb +20 -20
- data/lib/git/lighttp/treeish.rb +2 -2
- data/lib/git/lighttp/version.rb +3 -3
- metadata +79 -71
- data/Gemfile +0 -11
- data/Makefile +0 -41
- data/README.pt-BR.rdoc +0 -81
- data/README.rdoc +0 -75
- data/Rakefile +0 -50
- data/test/all.rb +0 -12
- data/test/config_test.rb +0 -43
- data/test/fixtures/config.yml +0 -13
- data/test/fixtures/htgroup +0 -3
- data/test/fixtures/htpasswd +0 -4
- data/test/fixtures/mycode.git/HEAD +0 -1
- data/test/fixtures/mycode.git/config +0 -4
- data/test/fixtures/mycode.git/description +0 -1
- data/test/fixtures/mycode.git/hooks/applypatch-msg.sample +0 -15
- data/test/fixtures/mycode.git/hooks/commit-msg.sample +0 -24
- data/test/fixtures/mycode.git/hooks/post-commit.sample +0 -8
- data/test/fixtures/mycode.git/hooks/post-receive.sample +0 -15
- data/test/fixtures/mycode.git/hooks/post-update.sample +0 -8
- data/test/fixtures/mycode.git/hooks/pre-applypatch.sample +0 -14
- data/test/fixtures/mycode.git/hooks/pre-commit.sample +0 -46
- data/test/fixtures/mycode.git/hooks/pre-rebase.sample +0 -169
- data/test/fixtures/mycode.git/hooks/prepare-commit-msg.sample +0 -36
- data/test/fixtures/mycode.git/hooks/update.sample +0 -128
- data/test/fixtures/mycode.git/info/exclude +0 -6
- data/test/fixtures/mycode.git/info/refs +0 -3
- data/test/fixtures/mycode.git/objects/02/83eb96425444e17b97182e1ba9f216cc67c132 +0 -0
- data/test/fixtures/mycode.git/objects/03/9927042df267a1bc606fc4485b7a79b6a9e3cd +0 -1
- data/test/fixtures/mycode.git/objects/0d/eed0a56fa8f5f2a788d58b3ea235afd547b828 +0 -2
- data/test/fixtures/mycode.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 +0 -0
- data/test/fixtures/mycode.git/objects/5e/54a0767e0c380f3baab17938d68c7f464cf171 +0 -1
- data/test/fixtures/mycode.git/objects/63/9b96262e7e19ca2169575e797b234098b8a72e +0 -0
- data/test/fixtures/mycode.git/objects/71/6e9568eed27d5ee4378b3ecf6dd095a547bde9 +0 -1
- data/test/fixtures/mycode.git/objects/b6/f3f0fabeaaaaf2db22b8ef98f59115baec7ef9 +0 -0
- data/test/fixtures/mycode.git/objects/be/118435b9d908fd4a689cd8b0cc98059911a31a +0 -0
- data/test/fixtures/mycode.git/objects/db/aefcb5bde664671c73b99515c386dcbc7f22b6 +0 -0
- data/test/fixtures/mycode.git/objects/eb/669b878d2013ac70aa5dee75e6357ea81d16ea +0 -0
- data/test/fixtures/mycode.git/objects/ed/10cfcf72862e140c97fe899cba2a55f4cb4c20 +0 -0
- data/test/fixtures/mycode.git/objects/ed/1c3a255ab3fce056dc31cd82df9f61a4d9fa22 +0 -0
- data/test/fixtures/mycode.git/objects/info/alternates +0 -0
- data/test/fixtures/mycode.git/objects/info/http-alternates +0 -0
- data/test/fixtures/mycode.git/objects/info/packs +0 -2
- data/test/fixtures/mycode.git/objects/pack/pack-40a8636b62258fffd78ec1e8d254116e72d385a9.idx +0 -0
- data/test/fixtures/mycode.git/objects/pack/pack-40a8636b62258fffd78ec1e8d254116e72d385a9.pack +0 -0
- data/test/fixtures/mycode.git/packed-refs +0 -4
- data/test/fixtures/mycode.git/refs/heads/master +0 -1
- data/test/fixtures/mycode.git/refs/tags/v0.1.0 +0 -1
- data/test/helpers.rb +0 -53
- data/test/htgroup_test.rb +0 -29
- data/test/htpasswd_test.rb +0 -63
- data/test/http_backend_authentication_test.rb +0 -61
- data/test/http_backend_test.rb +0 -123
- data/test/project_handler_test.rb +0 -45
- data/test/treeish_test.rb +0 -33
data/README.pt-BR.rdoc
DELETED
@@ -1,81 +0,0 @@
|
|
1
|
-
= Git-Lighttp - Web mais esperta para o Git
|
2
|
-
|
3
|
-
{<img src="https://badge.fury.io/rb/git-lighttp.svg" alt="Gem Version" />}[https://badge.fury.io/rb/git-lighttp]
|
4
|
-
|
5
|
-
== DESCRIÇÃO
|
6
|
-
|
7
|
-
Este projeto foi inspirado no {Grack}[http://github.com/schacon/grack], um
|
8
|
-
servidor de processos Smart-HTTP (escrito por
|
9
|
-
{Scott Chacon}[http://github.com/schacon]), mas projetado usando
|
10
|
-
{Sinatra}[http://www.sinatrarb.com] e visa substituir o `git-http-backend`
|
11
|
-
original incluindo novas funcionalidades.
|
12
|
-
|
13
|
-
O objetivo principal do <b>Git-Lighttp</b> é implementar as seguintes
|
14
|
-
funcionalidades:
|
15
|
-
|
16
|
-
- Smart-HTTP, baseado no _git-http-backend_.
|
17
|
-
- Autenticação flexível baseado em banco de dados ou arquivo de configuração
|
18
|
-
como <tt>.htpasswd</tt>.
|
19
|
-
- API para obter informações sobre o repositório (_Treeish_).
|
20
|
-
|
21
|
-
== SINOPSE
|
22
|
-
|
23
|
-
Instale o Git-Lighttp usando {Rubygems}[http://rubygems.org/gems/git-lighttp].
|
24
|
-
|
25
|
-
gem install git-lighttp
|
26
|
-
|
27
|
-
Ou faça um _checkout_ do projeto hospedado no
|
28
|
-
{Github}[http://github.com/hallison/git-lighttp].
|
29
|
-
|
30
|
-
git clone https://github.com/hallison/git-lighttp.git
|
31
|
-
...
|
32
|
-
cd git-lighttp
|
33
|
-
rake install
|
34
|
-
|
35
|
-
Configure o arquivo Rackup (<tt>config.ru</tt>) usando as seguintes instruções:
|
36
|
-
|
37
|
-
# config.ru
|
38
|
-
require "git/lighttp"
|
39
|
-
|
40
|
-
Git::Lighttp::HttpBackend.configure do |server|
|
41
|
-
server.project_root = "/home/git/repositories"
|
42
|
-
server.git_path = "/usr/bin/git"
|
43
|
-
server.get_any_file = true
|
44
|
-
server.upload_pack = true
|
45
|
-
server.receive_pack = false
|
46
|
-
server.authenticate = true
|
47
|
-
end
|
48
|
-
|
49
|
-
$ rackup --port 2011 --daemonize
|
50
|
-
$ git clone http://localhost:2011/mycode.git
|
51
|
-
|
52
|
-
Você poderá usar o arquivo <tt>.netrc</tt> para melhorar sua conexão. Coloque
|
53
|
-
isso:
|
54
|
-
|
55
|
-
machine <servidor> login <usuario> password <senha>
|
56
|
-
|
57
|
-
O Git-Lighttp está em desenvolvimento, então ainda há muitas melhorias a serem
|
58
|
-
feitas. Por favor, nos ajude a melhorar o projeto enviando seu comentário nos
|
59
|
-
{problemas}[http://github.com/hallison/git-lighttp/issues] encontrados ou
|
60
|
-
enviando um email para
|
61
|
-
{hallisonbatista@gmail.com}[mailto:hallisonbatista@gmail.com].
|
62
|
-
|
63
|
-
Discuta no {Google Groups}[http://groups.google.com/group/git-lighttp].
|
64
|
-
|
65
|
-
== AUTORES
|
66
|
-
|
67
|
-
Escrito por Hallison Batista <hallisonbatista@gmail.com>.
|
68
|
-
|
69
|
-
== ERROS
|
70
|
-
|
71
|
-
Se você encontrar um erro, por favor, informe no
|
72
|
-
{gerenciador de erros}[http://github.com/hallison/git-lighttp] do projeto
|
73
|
-
Git-Lighttp no Github.
|
74
|
-
|
75
|
-
== LICENÇA
|
76
|
-
|
77
|
-
Git-Lighttp é Copyright (c) 2011-2015 Hallison Batista.
|
78
|
-
|
79
|
-
Este é um _software_ livre e pode ser redistribuído sob os termos
|
80
|
-
especificados em LICENSE.txt.
|
81
|
-
|
data/README.rdoc
DELETED
@@ -1,75 +0,0 @@
|
|
1
|
-
= Git-Lighttp - Web smarty for Git
|
2
|
-
|
3
|
-
{<img src="https://badge.fury.io/rb/git-lighttp.svg" alt="Gem Version" />}[https://badge.fury.io/rb/git-lighttp]
|
4
|
-
|
5
|
-
== DESCRIPTION
|
6
|
-
|
7
|
-
This project was inspired in the {Grack}[http://github.com/schacon/grack]
|
8
|
-
Smart-HTTP server handler (written by
|
9
|
-
{Scott Chacon}[http://github.com/schacon]) but developed using
|
10
|
-
{Sinatra}[http://www.sinatrarb.com] and aims replace the original
|
11
|
-
`git-http-backend` including new features.
|
12
|
-
|
13
|
-
The main goal of the <b>Git-Lighttp</b> is implement the following useful features.
|
14
|
-
|
15
|
-
- Smart-HTTP, based on _git-http-backend_.
|
16
|
-
- Authentication flexible based on database or configuration file like .+htpasswd+.
|
17
|
-
- API to get information about repository (_Treeish_).
|
18
|
-
|
19
|
-
== SINOPSIS
|
20
|
-
|
21
|
-
Install the Git-Lighttp using {Rubygems}[http://rubygems.org/gems/git-lighttp].
|
22
|
-
|
23
|
-
gem install git-lighttp
|
24
|
-
|
25
|
-
Or checkout the project hosted on {Github}[http://github.com/hallison/git-lighttp].
|
26
|
-
|
27
|
-
git clone https://github.com/hallison/git-lighttp.git
|
28
|
-
...
|
29
|
-
cd git-lighttp
|
30
|
-
rake install
|
31
|
-
|
32
|
-
Configure the Rackup file (<tt>config.ru</tt>) using the following instructions:
|
33
|
-
|
34
|
-
# config.ru
|
35
|
-
require "git/lighttp"
|
36
|
-
|
37
|
-
Git::Lighttp::HttpBackend.configure do |server|
|
38
|
-
server.project_root = "/home/git/repositories"
|
39
|
-
server.git_path = "/usr/bin/git"
|
40
|
-
server.get_any_file = true
|
41
|
-
server.upload_pack = true
|
42
|
-
server.receive_pack = false
|
43
|
-
server.authenticate = true
|
44
|
-
end
|
45
|
-
|
46
|
-
$ rackup --port 2011 --daemonize
|
47
|
-
$ git clone http://localhost:2011/mycode.git
|
48
|
-
|
49
|
-
You can use the <tt>.netrc</tt> for improve your connection. Put this:
|
50
|
-
|
51
|
-
machine <host> login <username> password <password>
|
52
|
-
|
53
|
-
The Git-Lighttp is under development, so there are still many improvements to be
|
54
|
-
made. Please, help us to improve the project sending your feedback to
|
55
|
-
{issues}[http://github.com/hallison/git-lighttp] or sending email to
|
56
|
-
{hallisonbatista@gmail.com}[mailto:hallisonbatista@gmail.com].
|
57
|
-
|
58
|
-
Discuss in {Google Groups}[http://groups.google.com/group/git-lighttp].
|
59
|
-
|
60
|
-
== AUTHORS
|
61
|
-
|
62
|
-
Written by Hallison Batista <hallisonbatista@gmail.com>.
|
63
|
-
|
64
|
-
== BUGS
|
65
|
-
|
66
|
-
If you find a bug, please report it at the Git-Lighttp project's
|
67
|
-
{issues tracker}[http://github.com/hallison/git-lighttp] on Github.
|
68
|
-
|
69
|
-
== LICENSE
|
70
|
-
|
71
|
-
Git-Lighttp is Copyright (c) 2011-2015 Hallison Batista.
|
72
|
-
|
73
|
-
This is free software, and may be redistributed under the terms specified in
|
74
|
-
LICENSE.txt.
|
75
|
-
|
data/Rakefile
DELETED
@@ -1,50 +0,0 @@
|
|
1
|
-
require "git/lighttp"
|
2
|
-
|
3
|
-
def spec
|
4
|
-
@spec ||= Gem::Specification.load("git-lighttp.gemspec")
|
5
|
-
end
|
6
|
-
|
7
|
-
desc "Run tests"
|
8
|
-
task :test, [:file] do |spec, args|
|
9
|
-
Dir["test/#{args.file}*_test.rb"].each do |file|
|
10
|
-
sh "ruby #{file}"
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
desc "API Documentation (RDoc)"
|
15
|
-
task :doc do
|
16
|
-
sh "rdoc -o doc/api -H -f hanna -m README.rdoc"
|
17
|
-
end
|
18
|
-
|
19
|
-
desc "Build tags"
|
20
|
-
task :tags do
|
21
|
-
rbalias = '/.*alias(_method)?[[:space:]]+:([[:alnum:]_=!?]+),?[[:space:]]+:([[:alnum:]_=!]+)/\\2/f/'
|
22
|
-
sh "ctags", "--recurse=yes",
|
23
|
-
"--tag-relative=yes",
|
24
|
-
"--totals=yes",
|
25
|
-
"--extra=+f",
|
26
|
-
"--fields=+iaS",
|
27
|
-
"--regex-ruby="+rbalias
|
28
|
-
end
|
29
|
-
|
30
|
-
desc "Build #{spec.file_name}"
|
31
|
-
task :build => "#{spec.name}.gemspec" do
|
32
|
-
sh "gem build #{spec.name}.gemspec"
|
33
|
-
end
|
34
|
-
|
35
|
-
desc "Release #{spec.file_name}"
|
36
|
-
task :release => :build do
|
37
|
-
sh "gem push #{spec.file_name}"
|
38
|
-
end
|
39
|
-
|
40
|
-
desc "Install gem file #{spec.file_name}"
|
41
|
-
task :install => :build do
|
42
|
-
sh "gem install -l #{spec.file_name}"
|
43
|
-
end
|
44
|
-
|
45
|
-
desc "Uninstall gem #{spec.name} v#{spec.version}"
|
46
|
-
task :uninstall do
|
47
|
-
sh "gem uninstall #{spec.name} -v #{spec.version}"
|
48
|
-
end
|
49
|
-
|
50
|
-
task :default => :test
|
data/test/all.rb
DELETED
data/test/config_test.rb
DELETED
@@ -1,43 +0,0 @@
|
|
1
|
-
describe 'Configuration' do
|
2
|
-
before do
|
3
|
-
@config = {
|
4
|
-
:default => {
|
5
|
-
:project_root => '/var/git/repos',
|
6
|
-
:git_path => '/usr/local/bin/git'
|
7
|
-
},
|
8
|
-
:treeish => {
|
9
|
-
:authenticate => true
|
10
|
-
},
|
11
|
-
:http_backend => {
|
12
|
-
:authenticate => true,
|
13
|
-
:get_any_file => true,
|
14
|
-
:upload_pack => true,
|
15
|
-
:receive_pack => false,
|
16
|
-
}
|
17
|
-
}
|
18
|
-
end
|
19
|
-
|
20
|
-
it 'configure by application' do
|
21
|
-
Git::Lighttp.configure do |app|
|
22
|
-
app.default.project_root = '/var/git/repos'
|
23
|
-
app.default.git_path = '/usr/local/bin/git'
|
24
|
-
app.treeish.authenticate = true
|
25
|
-
end
|
26
|
-
|
27
|
-
@config.keys.each do |app|
|
28
|
-
@config[app].each do |option, value|
|
29
|
-
assert_equal value, Git::Lighttp.config[app][option]
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
it 'load from YAML file' do
|
35
|
-
yaml = YAML.load_file(fixtures('config.yml')).symbolize_keys
|
36
|
-
config = Git::Lighttp.load_config_file(fixtures('config.yml'))
|
37
|
-
yaml.keys.each do |app|
|
38
|
-
yaml[app].each do |option, value|
|
39
|
-
assert_equal value, config[app][option]
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
data/test/fixtures/config.yml
DELETED
data/test/fixtures/htgroup
DELETED
data/test/fixtures/htpasswd
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
ref: refs/heads/master
|
@@ -1 +0,0 @@
|
|
1
|
-
Unnamed repository; edit this file 'description' to name the repository.
|
@@ -1,15 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
#
|
3
|
-
# An example hook script to check the commit log message taken by
|
4
|
-
# applypatch from an e-mail message.
|
5
|
-
#
|
6
|
-
# The hook should exit with non-zero status after issuing an
|
7
|
-
# appropriate message if it wants to stop the commit. The hook is
|
8
|
-
# allowed to edit the commit message file.
|
9
|
-
#
|
10
|
-
# To enable this hook, rename this file to "applypatch-msg".
|
11
|
-
|
12
|
-
. git-sh-setup
|
13
|
-
test -x "$GIT_DIR/hooks/commit-msg" &&
|
14
|
-
exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"}
|
15
|
-
:
|
@@ -1,24 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
#
|
3
|
-
# An example hook script to check the commit log message.
|
4
|
-
# Called by "git commit" with one argument, the name of the file
|
5
|
-
# that has the commit message. The hook should exit with non-zero
|
6
|
-
# status after issuing an appropriate message if it wants to stop the
|
7
|
-
# commit. The hook is allowed to edit the commit message file.
|
8
|
-
#
|
9
|
-
# To enable this hook, rename this file to "commit-msg".
|
10
|
-
|
11
|
-
# Uncomment the below to add a Signed-off-by line to the message.
|
12
|
-
# Doing this in a hook is a bad idea in general, but the prepare-commit-msg
|
13
|
-
# hook is more suited to it.
|
14
|
-
#
|
15
|
-
# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
|
16
|
-
# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
|
17
|
-
|
18
|
-
# This example catches duplicate Signed-off-by lines.
|
19
|
-
|
20
|
-
test "" = "$(grep '^Signed-off-by: ' "$1" |
|
21
|
-
sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || {
|
22
|
-
echo >&2 Duplicate Signed-off-by lines.
|
23
|
-
exit 1
|
24
|
-
}
|
@@ -1,15 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
#
|
3
|
-
# An example hook script for the "post-receive" event.
|
4
|
-
#
|
5
|
-
# The "post-receive" script is run after receive-pack has accepted a pack
|
6
|
-
# and the repository has been updated. It is passed arguments in through
|
7
|
-
# stdin in the form
|
8
|
-
# <oldrev> <newrev> <refname>
|
9
|
-
# For example:
|
10
|
-
# aa453216d1b3e49e7f6f98441fa56946ddcd6a20 68f7abf4e6f922807889f52bc043ecd31b79f814 refs/heads/master
|
11
|
-
#
|
12
|
-
# see contrib/hooks/ for a sample, or uncomment the next line and
|
13
|
-
# rename the file to "post-receive".
|
14
|
-
|
15
|
-
#. /usr/share/doc/git-core/contrib/hooks/post-receive-email
|
@@ -1,14 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
#
|
3
|
-
# An example hook script to verify what is about to be committed
|
4
|
-
# by applypatch from an e-mail message.
|
5
|
-
#
|
6
|
-
# The hook should exit with non-zero status after issuing an
|
7
|
-
# appropriate message if it wants to stop the commit.
|
8
|
-
#
|
9
|
-
# To enable this hook, rename this file to "pre-applypatch".
|
10
|
-
|
11
|
-
. git-sh-setup
|
12
|
-
test -x "$GIT_DIR/hooks/pre-commit" &&
|
13
|
-
exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"}
|
14
|
-
:
|
@@ -1,46 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
#
|
3
|
-
# An example hook script to verify what is about to be committed.
|
4
|
-
# Called by "git commit" with no arguments. The hook should
|
5
|
-
# exit with non-zero status after issuing an appropriate message if
|
6
|
-
# it wants to stop the commit.
|
7
|
-
#
|
8
|
-
# To enable this hook, rename this file to "pre-commit".
|
9
|
-
|
10
|
-
if git rev-parse --verify HEAD >/dev/null 2>&1
|
11
|
-
then
|
12
|
-
against=HEAD
|
13
|
-
else
|
14
|
-
# Initial commit: diff against an empty tree object
|
15
|
-
against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
|
16
|
-
fi
|
17
|
-
|
18
|
-
# If you want to allow non-ascii filenames set this variable to true.
|
19
|
-
allownonascii=$(git config hooks.allownonascii)
|
20
|
-
|
21
|
-
# Cross platform projects tend to avoid non-ascii filenames; prevent
|
22
|
-
# them from being added to the repository. We exploit the fact that the
|
23
|
-
# printable range starts at the space character and ends with tilde.
|
24
|
-
if [ "$allownonascii" != "true" ] &&
|
25
|
-
# Note that the use of brackets around a tr range is ok here, (it's
|
26
|
-
# even required, for portability to Solaris 10's /usr/bin/tr), since
|
27
|
-
# the square bracket bytes happen to fall in the designated range.
|
28
|
-
test "$(git diff --cached --name-only --diff-filter=A -z $against |
|
29
|
-
LC_ALL=C tr -d '[ -~]\0')"
|
30
|
-
then
|
31
|
-
echo "Error: Attempt to add a non-ascii file name."
|
32
|
-
echo
|
33
|
-
echo "This can cause problems if you want to work"
|
34
|
-
echo "with people on other platforms."
|
35
|
-
echo
|
36
|
-
echo "To be portable it is advisable to rename the file ..."
|
37
|
-
echo
|
38
|
-
echo "If you know what you are doing you can disable this"
|
39
|
-
echo "check using:"
|
40
|
-
echo
|
41
|
-
echo " git config hooks.allownonascii true"
|
42
|
-
echo
|
43
|
-
exit 1
|
44
|
-
fi
|
45
|
-
|
46
|
-
exec git diff-index --check --cached $against --
|