pull default name/email for commits from wiki repo's git config
This commit is contained in:
@@ -58,7 +58,7 @@ module Precious
|
||||
format = params[:format].intern
|
||||
name = params[:rename] if params[:rename]
|
||||
|
||||
wiki.update_page(page, name, format, params[:content], commit_message(wiki))
|
||||
wiki.update_page(page, name, format, params[:content], commit_message)
|
||||
|
||||
redirect "/#{Gollum::Page.cname name}"
|
||||
end
|
||||
@@ -70,7 +70,7 @@ module Precious
|
||||
format = params[:format].intern
|
||||
|
||||
begin
|
||||
wiki.write_page(name, format, params[:content], commit_message(wiki))
|
||||
wiki.write_page(name, format, params[:content], commit_message)
|
||||
redirect "/#{name}"
|
||||
rescue Gollum::DuplicatePageError => e
|
||||
@message = "Duplicate page: #{e.message}"
|
||||
@@ -149,10 +149,8 @@ module Precious
|
||||
end
|
||||
end
|
||||
|
||||
def commit_message(wiki)
|
||||
{ :message => params[:message],
|
||||
:name => wiki.repo.config['user.name'],
|
||||
:email => wiki.repo.config['user.email'] }
|
||||
def commit_message
|
||||
{ :message => params[:message] }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
+14
-2
@@ -441,11 +441,23 @@ module Gollum
|
||||
#
|
||||
# Returns the commit Hash
|
||||
def normalize_commit(commit = {})
|
||||
commit[:name] = self.class.default_committer_name if commit[:name].to_s.empty?
|
||||
commit[:email] = self.class.default_committer_email if commit[:email].to_s.empty?
|
||||
commit[:name] = default_committer_name if commit[:name].to_s.empty?
|
||||
commit[:email] = default_committer_email if commit[:email].to_s.empty?
|
||||
commit
|
||||
end
|
||||
|
||||
# Gets the default name for commits.
|
||||
def default_committer_name
|
||||
@default_committer_name ||= \
|
||||
@repo.config['user.name'] || self.class.default_committer_name
|
||||
end
|
||||
|
||||
# Gets the default email for commits.
|
||||
def default_committer_email
|
||||
@default_committer_email ||= \
|
||||
@repo.config['user.email'] || self.class.default_committer_email
|
||||
end
|
||||
|
||||
# Finds a full listing of files and their blob SHA for a given ref. Each
|
||||
# listing is cached based on its actual commit SHA.
|
||||
#
|
||||
|
||||
+4
-2
@@ -45,12 +45,14 @@ context "Wiki" do
|
||||
|
||||
test "normalizes commit hash" do
|
||||
commit = {:message => 'abc'}
|
||||
assert_equal({:message => 'abc', :name => 'Anonymous', :email => 'anon@anon.com'},
|
||||
name = @wiki.repo.config['user.name']
|
||||
email = @wiki.repo.config['user.email']
|
||||
assert_equal({:message => 'abc', :name => name, :email => email},
|
||||
@wiki.normalize_commit(commit.dup))
|
||||
|
||||
commit[:name] = 'bob'
|
||||
commit[:email] = ''
|
||||
assert_equal({:message => 'abc', :name => 'bob', :email => 'anon@anon.com'},
|
||||
assert_equal({:message => 'abc', :name => 'bob', :email => email},
|
||||
@wiki.normalize_commit(commit.dup))
|
||||
|
||||
commit[:email] = 'foo@bar.com'
|
||||
|
||||
Reference in New Issue
Block a user