zapwhite 1.0.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +8 -3
- data/lib/reality/zapwhite.rb +2 -2
- data/test/reality/test_zapwhite.rb +2 -2
- data/zapwhite.gemspec +5 -5
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0fb0eada69b01c2b889300dec91a617488d6b4a6
|
4
|
+
data.tar.gz: c8ef49b445687b197fdfaafda74b5c02bbec23e1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b2954ff2cc652657e0311b57a6a452ade7225b1837ba60bc880d958cbf69d0b2e333e232e492c558d77b42f915944d0324c68d2904e0bd3940250b08b52a09c9
|
7
|
+
data.tar.gz: 7d1beea31dc78a152408ac33371369c88fd3de8b6bac349185c6d0e57602a8814d47fda980903a35703ee15b9f5bd87ae3d07cfc7d0b4d1b2822de5ea1820a09
|
data/README.md
CHANGED
@@ -6,7 +6,7 @@ A simple tool to normalize whitespace in git repositories. The tool:
|
|
6
6
|
|
7
7
|
* removes trailing whitespace from each line
|
8
8
|
* ensures files end with a new line
|
9
|
-
* ensure files are in
|
9
|
+
* ensure files are in ASCII format with no invalid UTF sequences
|
10
10
|
* ensures dos files use dos line endings and all other files do not.
|
11
11
|
|
12
12
|
Files that are part of the repository are candidates for normalization.
|
@@ -15,8 +15,13 @@ patterns supplied either in the command line or in the `.gitattributes`
|
|
15
15
|
file associated with the repository.
|
16
16
|
|
17
17
|
The tool will ensure files annotated with `text` will be processed and
|
18
|
-
files with the `crlf`
|
18
|
+
files with the `eol=crlf` attribute will be treated as dos files. If the
|
19
19
|
file has an `encoding` attribute, the tool will not try to convert to
|
20
|
-
|
20
|
+
ASCII. The tool will also scan and remove duplicate new lines if any file
|
21
21
|
has a attribute `-dupnl`. The tool will not enforce end of file new
|
22
22
|
lines if attribute `-eofnl` is set.
|
23
|
+
|
24
|
+
## TODO
|
25
|
+
|
26
|
+
* Next version should generate `.gitattributes` based on scanning project
|
27
|
+
and then follow up with normal zapwhite process.
|
data/lib/reality/zapwhite.rb
CHANGED
@@ -19,7 +19,7 @@ module Reality
|
|
19
19
|
|
20
20
|
def initialize(base_directory)
|
21
21
|
@base_directory = base_directory
|
22
|
-
@attributes = Reality::
|
22
|
+
@attributes = Reality::Git::Attributes.parse(@base_directory)
|
23
23
|
@exclude_patterns = %w(vendor/.* node_modules/.*)
|
24
24
|
@check_only = false
|
25
25
|
end
|
@@ -85,7 +85,7 @@ module Reality
|
|
85
85
|
attr = @attributes.attributes(f)
|
86
86
|
if attr['text']
|
87
87
|
files[f] = {
|
88
|
-
:dos => (
|
88
|
+
:dos => (attr['eol'] == 'crlf'),
|
89
89
|
:encoding => attr['encoding'],
|
90
90
|
:nodupnl => attr['dupnl'].nil? ? false : !attr['dupnl'],
|
91
91
|
:eofnl => attr['eofnl'].nil? ? true : !!attr['eofnl']
|
@@ -31,7 +31,7 @@ TEXT
|
|
31
31
|
def test_fixing_trailing_whitespace_not_crlf_specified
|
32
32
|
dir = create_git_repo do
|
33
33
|
write_gitattributes_file(<<TEXT)
|
34
|
-
*.md text
|
34
|
+
*.md text eol=lf
|
35
35
|
TEXT
|
36
36
|
write_file('README.md', "Hello \n")
|
37
37
|
end
|
@@ -59,7 +59,7 @@ TEXT
|
|
59
59
|
def test_dos_eol
|
60
60
|
dir = create_git_repo do
|
61
61
|
write_gitattributes_file(<<TEXT)
|
62
|
-
*.bat text crlf
|
62
|
+
*.bat text eol=crlf
|
63
63
|
TEXT
|
64
64
|
write_file('run.bat', "echo hi\n")
|
65
65
|
end
|
data/zapwhite.gemspec
CHANGED
@@ -2,15 +2,15 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{zapwhite}
|
5
|
-
s.version = '
|
5
|
+
s.version = '2.0.0'
|
6
6
|
s.platform = Gem::Platform::RUBY
|
7
7
|
|
8
8
|
s.authors = ['Peter Donald']
|
9
9
|
s.email = %q{peter@realityforge.org}
|
10
10
|
|
11
11
|
s.homepage = %q{https://github.com/realityforge/zapwhite}
|
12
|
-
s.summary = %q{A simple tool to normalize whitespace.}
|
13
|
-
s.description = %q{A simple tool to normalize whitespace.}
|
12
|
+
s.summary = %q{A simple tool to normalize whitespace in git repositories.}
|
13
|
+
s.description = %q{A simple tool to normalize whitespace in git repositories.}
|
14
14
|
|
15
15
|
s.files = `git ls-files`.split("\n")
|
16
16
|
s.test_files = `git ls-files -- {spec}/*`.split("\n")
|
@@ -19,9 +19,9 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.require_paths = %w(lib)
|
20
20
|
|
21
21
|
s.has_rdoc = false
|
22
|
-
s.rdoc_options = %w(--line-numbers --inline-source --title
|
22
|
+
s.rdoc_options = %w(--line-numbers --inline-source --title zapwhite)
|
23
23
|
|
24
|
-
s.add_dependency 'gitattributes', '=
|
24
|
+
s.add_dependency 'gitattributes', '= 2.0.0'
|
25
25
|
|
26
26
|
s.add_development_dependency(%q<minitest>, ['= 5.9.1'])
|
27
27
|
s.add_development_dependency(%q<test-unit>, ['= 3.1.5'])
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zapwhite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Donald
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-08-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gitattributes
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 2.0.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 2.0.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: minitest
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,7 +52,7 @@ dependencies:
|
|
52
52
|
- - '='
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 3.1.5
|
55
|
-
description: A simple tool to normalize whitespace.
|
55
|
+
description: A simple tool to normalize whitespace in git repositories.
|
56
56
|
email: peter@realityforge.org
|
57
57
|
executables:
|
58
58
|
- zapwhite
|
@@ -81,7 +81,7 @@ rdoc_options:
|
|
81
81
|
- "--line-numbers"
|
82
82
|
- "--inline-source"
|
83
83
|
- "--title"
|
84
|
-
-
|
84
|
+
- zapwhite
|
85
85
|
require_paths:
|
86
86
|
- lib
|
87
87
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -99,5 +99,5 @@ rubyforge_project:
|
|
99
99
|
rubygems_version: 2.5.1
|
100
100
|
signing_key:
|
101
101
|
specification_version: 4
|
102
|
-
summary: A simple tool to normalize whitespace.
|
102
|
+
summary: A simple tool to normalize whitespace in git repositories.
|
103
103
|
test_files: []
|