summaryrefslogtreecommitdiffstats
path: root/lib/redmine
diff options
context:
space:
mode:
authorToshi MARUYAMA <marutosijp2@yahoo.co.jp>2012-09-19 02:29:11 +0000
committerToshi MARUYAMA <marutosijp2@yahoo.co.jp>2012-09-19 02:29:11 +0000
commitf18edc4e1c045b968cba8d8f905257e63a1c0d5c (patch)
tree0fb429acc0473de1df9cdf022da995f8aaa25d88 /lib/redmine
parent0af04b8ae031398adbeebf5536f934d3c1ba9148 (diff)
downloadredmine-f18edc4e1c045b968cba8d8f905257e63a1c0d5c.tar.gz
redmine-f18edc4e1c045b968cba8d8f905257e63a1c0d5c.zip
use git diff format for all diff (#11868)
Mercurial diff uses git format. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10428 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'lib/redmine')
-rw-r--r--lib/redmine/unified_diff.rb17
1 files changed, 12 insertions, 5 deletions
diff --git a/lib/redmine/unified_diff.rb b/lib/redmine/unified_diff.rb
index 7649ed653..07ea28f52 100644
--- a/lib/redmine/unified_diff.rb
+++ b/lib/redmine/unified_diff.rb
@@ -68,6 +68,7 @@ module Redmine
@type = type
@style = style
@file_name = nil
+ @git_diff = false
end
# Function for add a line of this Diff
@@ -116,15 +117,21 @@ module Redmine
private
def file_name=(arg)
- case @style
- when "Git"
+ both_git_diff = false
+ if file_name.nil?
+ @git_diff = true if arg =~ %r{^(a/|/dev/null)}
+ else
+ both_git_diff = (@git_diff && arg =~ %r{^(b/|/dev/null)})
+ end
+ if both_git_diff
if file_name && arg == "/dev/null"
# keep the original file name
+ @file_name = file_name.sub(%r{^a/}, '')
else
- # remove leading a/ b/
- @file_name = arg.sub(%r{^(a|b)/}, '')
+ # remove leading b/
+ @file_name = arg.sub(%r{^b/}, '')
end
- when "Subversion"
+ elsif @style == "Subversion"
# removing trailing "(revision nn)"
@file_name = arg.sub(%r{\t+\(.*\)$}, '')
else