blastr 0.0.16 → 0.0.17

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,4 +1,8 @@
1
- == 0.0.16 2009-02-22
1
+ == 0.0.17 2009-02-21
2
+
3
+ * Removed replacement of non-ascii characters in commit messages.
4
+
5
+ == 0.0.16 2009-02-21
2
6
 
3
7
  * Added support for HTTP-based, SSH-based, Rsync-based, and file system-based Git URLs.
4
8
 
data/lib/blastr.rb CHANGED
@@ -6,7 +6,7 @@ module Blastr
6
6
  require 'tts/tts.rb'
7
7
  require 'people/people.rb'
8
8
 
9
- VERSION = '0.0.16'
9
+ VERSION = '0.0.17'
10
10
  COPYRIGHT = 'Copyright (c) 2009, Lasse Koskela. All Rights Reserved.'
11
11
  puts "Blastr #{VERSION}\n#{COPYRIGHT}\n"
12
12
 
data/lib/scm/hg.rb CHANGED
@@ -54,7 +54,6 @@ module Blastr::SourceControl
54
54
  end
55
55
 
56
56
  def hg_log_entries(output)
57
- nonascii = /([^a-zA-Z0-9\.,:;\-_\?!"'\s]+?)/u
58
57
  entries = []
59
58
  current_changeset = {}
60
59
  output.split(/-{69,71}/).each do |entry|
data/lib/scm/svn.rb CHANGED
@@ -53,12 +53,11 @@ module Blastr::SourceControl
53
53
  end
54
54
 
55
55
  def svn_log_entries(log_output)
56
- nonascii = /([^a-zA-Z0-9\.,:;\-_\?!"'\s]+?)/u
57
56
  entries = []
58
57
  log_output.scan(/r(\d+)\s\|\s(.*?)\s\|.*?\n\n(.*?)\n(-)+/mu).each do |entry|
59
58
  revision = as_revision(entry[0])
60
59
  author = entry[1]
61
- comment = entry[2].gsub(nonascii, 'X ')
60
+ comment = entry[2]
62
61
  entries << LogEntry.new(revision, author, comment)
63
62
  end
64
63
  entries
@@ -7,17 +7,16 @@ class TestMercurialLogParsing < Test::Unit::TestCase
7
7
  end
8
8
 
9
9
  def test_one_entry
10
- log = <<EOS
10
+ @log = <<EOS
11
11
  changeset 24:e8a2a4d187773a62f3309b0fa265c13425bc2258 by username:
12
12
  This is the commit message
13
13
  ----------------------------------------------------------------------
14
14
  EOS
15
- entries = @hg.hg_log_entries(log)
16
- assert_equal [ create_entry("24", "username", "This is the commit message") ], entries
15
+ should_produce_entries [ create_entry("24", "username", "This is the commit message") ]
17
16
  end
18
17
 
19
18
  def test_multiple_entries
20
- log = <<EOS
19
+ @log = <<EOS
21
20
  changeset 10:e8a2a4d187773a62f3309b0fa265c13425bc2258 by alf:
22
21
  Revision 10
23
22
  ----------------------------------------------------------------------
@@ -28,14 +27,32 @@ changeset 8:4ae9f4bfdb98f65bd957e3fe72471b320150b38e by alf:
28
27
  Revision 8
29
28
  ----------------------------------------------------------------------
30
29
  EOS
31
- entries = @hg.hg_log_entries(log)
32
- assert_equal [ create_entry("10", "alf", "Revision 10"),
33
- create_entry("9", "bob", "Revision 9"),
34
- create_entry("8", "alf", "Revision 8") ], entries
30
+ should_produce_entries [
31
+ create_entry("10", "alf", "Revision 10"),
32
+ create_entry("9", "bob", "Revision 9"),
33
+ create_entry("8", "alf", "Revision 8") ]
35
34
  end
36
35
 
37
- def test_one_multiline_entry_with_dashes_in_the_commit_message
38
- log = <<EOS
36
+ def test_special_characters_in_commit_message
37
+ @log = <<EOS
38
+ changeset 10:e8a2a4d187773a62f3309b0fa265c13425bc2258 by cat:
39
+ Revision 10
40
+ ----------------------------------------------------------------------
41
+ changeset 9:d7744e86dedc21a8ecf6bdb73eb191b8eaf5b0da by bob:
42
+ Revision 9 with special ä and ö characters
43
+ ----------------------------------------------------------------------
44
+ changeset 8:4ae9f4bfdb98f65bd957e3fe72471b320150b38e by alf:
45
+ Revision 8
46
+ ----------------------------------------------------------------------
47
+ EOS
48
+ should_produce_entries [
49
+ create_entry("10", "cat", "Revision 10"),
50
+ create_entry("9", "bob", "Revision 9 with special ä and ö characters"),
51
+ create_entry("8", "alf", "Revision 8") ]
52
+ end
53
+
54
+ def test_dashes_in_the_commit_message
55
+ @log = <<EOS
39
56
  changeset 123:e8a2a4d187773a62f3309b0fa265c13425bc2258 by ohair:
40
57
  ---
41
58
  -----
@@ -43,13 +60,11 @@ changeset 123:e8a2a4d187773a62f3309b0fa265c13425bc2258 by ohair:
43
60
  - Bullet
44
61
  ----------------------------------------------------------------------
45
62
  EOS
46
- entries = @hg.hg_log_entries(log)
47
- assert_equal [ create_entry("123", "ohair", "---\n-----\n-\n- Bullet") ], entries
63
+ should_produce_entries [ create_entry("123", "ohair", "---\n-----\n-\n- Bullet") ]
48
64
  end
49
65
 
50
-
51
66
  def test_multiple_multiline_entries_with_empty_lines_within_commit_message
52
- log = <<EOS
67
+ @log = <<EOS
53
68
  changeset 2:e8a2a4d187773a62f3309b0fa265c13425bc2258 by cat:
54
69
  --
55
70
  ----------------------------------------------------------------------
@@ -60,13 +75,18 @@ changeset 0:4ae9f4bfdb98f65bd957e3fe72471b320150b38e by alf:
60
75
 
61
76
  ----------------------------------------------------------------------
62
77
  EOS
63
- entries = @hg.hg_log_entries(log)
64
- assert_equal [ create_entry("2", "cat", "--"),
65
- create_entry("1", "bob", "-"),
66
- create_entry("0", "alf", "") ], entries
67
- end
78
+ should_produce_entries [
79
+ create_entry("2", "cat", "--"),
80
+ create_entry("1", "bob", "-"),
81
+ create_entry("0", "alf", "") ]
82
+ end
68
83
 
69
84
  private
85
+
86
+ def should_produce_entries(expected_entries)
87
+ assert_equal expected_entries, @hg.hg_log_entries(@log)
88
+ end
89
+
70
90
  def create_entry(rev_string, author, comment)
71
91
  revision = Blastr::SourceControl::MercurialRevision.new(rev_string)
72
92
  Blastr::SourceControl::LogEntry.new(revision, author, comment)
data/test/test_svn_log.rb CHANGED
@@ -7,19 +7,20 @@ class TestSubversionLogParsing < Test::Unit::TestCase
7
7
  end
8
8
 
9
9
  def test_one_entry
10
- log = <<EOS
10
+ @log = <<EOS
11
11
  ------------------------------------------------------------------------
12
12
  r123 | username | 2009-01-21 09:02:37 +0200 (Wed, 21 Jan 2009) | 1 line
13
13
 
14
14
  The commit message goes here
15
15
  ------------------------------------------------------------------------
16
16
  EOS
17
- entries = @svn.svn_log_entries(log)
18
- assert_equal [ Blastr::SourceControl::LogEntry.new(Blastr::SourceControl::SubversionRevision.new("123"), "username", "The commit message goes here") ], entries
17
+ should_produce_entries [
18
+ create_entry("123", "username", "The commit message goes here")
19
+ ]
19
20
  end
20
21
 
21
22
  def test_multiple_entries
22
- log = <<EOS
23
+ @log = <<EOS
23
24
  ------------------------------------------------------------------------
24
25
  r2 | janedoe | 2009-01-22 09:02:00 +0200 (Wed, 21 Jan 2009) | 1 line
25
26
 
@@ -30,16 +31,14 @@ r1 | johndoe | 2009-01-21 09:03:00 +0200 (Wed, 21 Jan 2009) | 1 line
30
31
  First revision
31
32
  ------------------------------------------------------------------------
32
33
  EOS
33
- actual_entries = @svn.svn_log_entries(log)
34
- expected_entries = [
34
+ should_produce_entries [
35
35
  create_entry("2", "janedoe", "Second revision"),
36
36
  create_entry("1", "johndoe", "First revision")
37
- ]
38
- assert_equal expected_entries, actual_entries
37
+ ]
39
38
  end
40
39
 
41
40
  def test_one_multiline_entry
42
- log = <<EOS
41
+ @log = <<EOS
43
42
  ------------------------------------------------------------------------
44
43
  r123 | username | 2009-01-21 09:02:37 +0200 (Wed, 21 Jan 2009) | 1 line
45
44
 
@@ -48,13 +47,13 @@ Second line
48
47
  Third line
49
48
  ------------------------------------------------------------------------
50
49
  EOS
51
- entries = @svn.svn_log_entries(log)
52
- assert_equal [ create_entry("123", "username", "First line\nSecond line\nThird line") ], entries
50
+ should_produce_entries [
51
+ create_entry("123", "username", "First line\nSecond line\nThird line")
52
+ ]
53
53
  end
54
54
 
55
-
56
- def test_one_multiline_entry
57
- log = <<EOS
55
+ def test_multiple_multiline_entries
56
+ @log = <<EOS
58
57
  ------------------------------------------------------------------------
59
58
  r2 | bob | 2009-01-21 09:02:00 +0200 (Wed, 21 Jan 2009) | 1 line
60
59
 
@@ -67,12 +66,41 @@ First line of r1
67
66
  Second line of r1
68
67
  ------------------------------------------------------------------------
69
68
  EOS
70
- entries = @svn.svn_log_entries(log)
71
- assert_equal [ create_entry("2", "bob", "First line of r2\nSecond line of r2"),
72
- create_entry("1", "alf", "First line of r1\nSecond line of r1") ], entries
73
- end
69
+ should_produce_entries [
70
+ create_entry("2", "bob", "First line of r2\nSecond line of r2"),
71
+ create_entry("1", "alf", "First line of r1\nSecond line of r1")
72
+ ]
73
+ end
74
+
75
+ def test_special_characters_in_commit_message
76
+ @log = <<EOS
77
+ ------------------------------------------------------------------------
78
+ r3 | cat | 2009-01-21 09:03:00 +0200 (Wed, 21 Jan 2009) | 1 line
79
+
80
+ Revision 3
81
+ ------------------------------------------------------------------------
82
+ r2 | bob | 2009-01-21 09:02:00 +0200 (Wed, 21 Jan 2009) | 1 line
83
+
84
+ Revision 2 with special ö character
85
+ ------------------------------------------------------------------------
86
+ r1 | alf | 2009-01-21 09:01:00 +0200 (Wed, 21 Jan 2009) | 1 line
87
+
88
+ Revision 1
89
+ ------------------------------------------------------------------------
90
+ EOS
91
+ should_produce_entries [
92
+ create_entry("3", "cat", "Revision 3"),
93
+ create_entry("2", "bob", "Revision 2 with special ö character"),
94
+ create_entry("1", "alf", "Revision 1")
95
+ ]
96
+ end
74
97
 
75
98
  private
99
+
100
+ def should_produce_entries(expected_entries)
101
+ assert_equal expected_entries, @svn.svn_log_entries(@log)
102
+ end
103
+
76
104
  def create_entry(rev_string, author, comment)
77
105
  revision = Blastr::SourceControl::SubversionRevision.new(rev_string)
78
106
  Blastr::SourceControl::LogEntry.new(revision, author, comment)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blastr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.16
4
+ version: 0.0.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lasse Koskela