BigW Consortium Gitlab
Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gitlab-ce
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Forest Godfrey
gitlab-ce
Commits
d730e3ef
Commit
d730e3ef
authored
Nov 11, 2011
by
Dmitriy Zaporozhets
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactoring project, commits controllers
parent
dab072c1
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
63 additions
and
45 deletions
+63
-45
commits_controller.rb
app/controllers/commits_controller.rb
+9
-9
projects_controller.rb
app/controllers/projects_controller.rb
+6
-8
project.rb
app/models/project.rb
+8
-16
repository.rb
app/models/repository.rb
+40
-12
No files found.
app/controllers/commits_controller.rb
View file @
d730e3ef
...
...
@@ -8,18 +8,18 @@ class CommitsController < ApplicationController
before_filter
:add_project_abilities
before_filter
:authorize_read_project!
before_filter
:require_non_empty_project
before_filter
:load_refs
,
:only
=>
:index
# load @branch, @tag & @ref
def
index
load_refs
# load @branch, @tag & @ref
def
index
@repo
=
project
.
repo
limit
,
offset
=
(
params
[
:limit
]
||
20
),
(
params
[
:offset
]
||
0
)
if
params
[
:path
]
@commits
=
@repo
.
log
(
@ref
,
params
[
:path
],
:max_count
=>
limit
,
:skip
=>
offset
)
else
@commits
=
@repo
.
commits
(
@ref
,
limit
,
offset
)
end
@commits
=
if
params
[
:path
]
@repo
.
log
(
@ref
,
params
[
:path
],
:max_count
=>
limit
,
:skip
=>
offset
)
else
@repo
.
commits
(
@ref
,
limit
,
offset
)
end
respond_to
do
|
format
|
format
.
html
# index.html.erb
...
...
@@ -29,8 +29,8 @@ class CommitsController < ApplicationController
def
show
@commit
=
project
.
repo
.
commits
(
params
[
:id
]).
first
@notes
=
project
.
notes
.
where
(
:noteable_id
=>
@commit
.
id
,
:noteable_type
=>
"Commit"
).
order
(
"created_at DESC"
)
.
limit
(
20
)
@note
=
@project
.
notes
.
new
(
:noteable_id
=>
@commit
.
id
,
:noteable_type
=>
"Commit"
)
@notes
=
project
.
commit_notes
(
@commit
).
fresh
.
limit
(
20
)
@note
=
@project
.
build_commit_note
(
@commit
)
respond_to
do
|
format
|
format
.
html
...
...
app/controllers/projects_controller.rb
View file @
d730e3ef
...
...
@@ -6,8 +6,8 @@ class ProjectsController < ApplicationController
before_filter
:add_project_abilities
before_filter
:authorize_read_project!
,
:except
=>
[
:index
,
:new
,
:create
]
before_filter
:authorize_admin_project!
,
:only
=>
[
:edit
,
:update
,
:destroy
]
before_filter
:require_non_empty_project
,
:only
=>
[
:blob
,
:tree
]
before_filter
:load_refs
,
:only
=>
:tree
# load @branch, @tag & @ref
def
index
source
=
current_user
.
projects
...
...
@@ -101,15 +101,13 @@ class ProjectsController < ApplicationController
#
def
tree
load_refs
# load @branch, @tag & @ref
@repo
=
project
.
repo
if
params
[
:commit_id
]
@commit
=
@repo
.
commits
(
params
[
:commit_id
]).
first
else
@commit
=
@repo
.
commits
(
@ref
).
first
end
@commit
=
if
params
[
:commit_id
]
@repo
.
commits
(
params
[
:commit_id
]).
first
else
@repo
.
commits
(
@ref
).
first
end
@tree
=
@commit
.
tree
@tree
=
@tree
/
params
[
:path
]
if
params
[
:path
]
...
...
app/models/project.rb
View file @
d730e3ef
...
...
@@ -51,6 +51,10 @@ class Project < ActiveRecord::Base
end
delegate
:repo
,
:url_to_repo
,
:path_to_repo
,
:update_gitosis_project
,
:destroy_gitosis_project
,
:tags
,
:repo_exists?
,
:commit
,
...
...
@@ -74,16 +78,12 @@ class Project < ActiveRecord::Base
notes
.
where
(
:noteable_type
=>
[
""
,
nil
])
end
def
update_gitosis_project
Gitosis
.
new
.
configure
do
|
c
|
c
.
update_project
(
path
,
gitosis_writers
)
end
def
build_commit_note
(
commit
)
notes
.
new
(
:noteable_id
=>
commit
.
id
,
:noteable_type
=>
"Commit"
)
end
def
destroy_gitosis_project
Gitosis
.
new
.
configure
do
|
c
|
c
.
destroy_project
(
self
)
end
def
commit_notes
(
commit
)
notes
.
where
(
:noteable_id
=>
commit
.
id
,
:noteable_type
=>
"Commit"
)
end
def
add_access
(
user
,
*
access
)
...
...
@@ -121,14 +121,6 @@ class Project < ActiveRecord::Base
private_flag
end
def
url_to_repo
"
#{
GITOSIS
[
"git_user"
]
}
@
#{
GITOSIS
[
"host"
]
}
:
#{
path
}
.git"
end
def
path_to_repo
GITOSIS
[
"base_path"
]
+
path
+
".git"
end
def
last_activity
updates
(
1
).
first
rescue
...
...
app/models/repository.rb
View file @
d730e3ef
...
...
@@ -9,24 +9,48 @@ class Repository
@project
=
project
end
def
path
@path
||=
project
.
path
end
def
project_id
project
.
id
end
def
repo
@repo
||=
Grit
::
Repo
.
new
(
project
.
path_to_repo
)
end
def
tags
repo
.
tags
.
map
(
&
:name
).
sort
.
reverse
def
url_to_repo
"
#{
GITOSIS
[
"git_user"
]
}
@
#{
GITOSIS
[
"host"
]
}
:
#{
path
}
.git"
end
def
path_to_repo
GITOSIS
[
"base_path"
]
+
path
+
".git"
end
def
update_gitosis_project
Gitosis
.
new
.
configure
do
|
c
|
c
.
update_project
(
path
,
project
.
gitosis_writers
)
end
end
def
destroy_gitosis_project
Gitosis
.
new
.
configure
do
|
c
|
c
.
destroy_project
(
@project
)
end
end
def
repo_exists?
repo
rescue
false
end
def
commit
(
commit_id
=
nil
)
if
commit_id
repo
.
commits
(
commit_id
).
first
else
repo
.
commits
.
first
end
def
tags
repo
.
tags
.
map
(
&
:name
).
sort
.
reverse
end
def
heads
@heads
||=
repo
.
heads
end
def
tree
(
fcommit
,
path
=
nil
)
...
...
@@ -35,6 +59,14 @@ class Repository
path
?
(
tree
/
path
)
:
tree
end
def
commit
(
commit_id
=
nil
)
if
commit_id
repo
.
commits
(
commit_id
).
first
else
repo
.
commits
.
first
end
end
def
fresh_commits
(
n
=
10
)
commits
=
heads
.
map
do
|
h
|
repo
.
commits
(
h
.
name
,
n
)
...
...
@@ -47,10 +79,6 @@ class Repository
commits
[
0
...
n
]
end
def
heads
@heads
||=
repo
.
heads
end
def
commits_since
(
date
)
commits
=
heads
.
map
do
|
h
|
repo
.
log
(
h
.
name
,
nil
,
:since
=>
date
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment