macdiff 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.github/workflows/main.yml +18 -0
- data/.gitignore +46 -0
- data/.rspec +3 -0
- data/.rubocop.yml +45 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +19 -0
- data/Guardfile +23 -0
- data/LICENSE.txt +21 -0
- data/README.md +69 -0
- data/Rakefile +33 -0
- data/b/a1.txt +0 -0
- data/b/b1.txt +0 -0
- data/b/c/e.txt +0 -0
- data/b/c1.txt +1 -0
- data/b/x/e.txt +0 -0
- data/b/x/g.txt +1 -0
- data/b/x/h.txt +0 -0
- data/bin/console +16 -0
- data/bin/k +36 -0
- data/bin/kgitsync +76 -0
- data/bin/khotfix +244 -0
- data/bin/setup +11 -0
- data/exe/macdiff +18 -0
- data/ext/macdiff/extconf.rb +5 -0
- data/ext/macdiff/macdiff.c +9 -0
- data/ext/macdiff/macdiff.h +6 -0
- data/hooks/pre-commit +87 -0
- data/hooks/update-version +21 -0
- data/lib/macdiff/app.rb +24 -0
- data/lib/macdiff/cli.rb +21 -0
- data/lib/macdiff/command.rb +243 -0
- data/lib/macdiff/commands/.keep +1 -0
- data/lib/macdiff/diff_folder.rb +66 -0
- data/lib/macdiff/templates/.keep +1 -0
- data/lib/macdiff/version.rb +5 -0
- data/lib/macdiff.rb +9 -0
- data/macdiff.gemspec +60 -0
- metadata +129 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
class DiffFolder
|
|
2
|
+
|
|
3
|
+
attr_accessor :folder1, :folder2
|
|
4
|
+
attr_reader :output, :raw_output
|
|
5
|
+
|
|
6
|
+
def initialize(folder1 ,folder2)
|
|
7
|
+
@folder1 = File.expand_path(folder1, Dir.pwd)
|
|
8
|
+
@folder2 = File.expand_path(folder2, Dir.pwd)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def run
|
|
12
|
+
@raw_output = IO.popen(command) do |f|
|
|
13
|
+
f.read # or raise
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# NOT WORK, need to investigate
|
|
17
|
+
# puts $?.success?
|
|
18
|
+
# puts $?.exitstatus
|
|
19
|
+
# $?.exitstatus == 0 || raise
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def debug
|
|
23
|
+
puts '-' * 70
|
|
24
|
+
puts command.join(' ')
|
|
25
|
+
puts '-' * 70
|
|
26
|
+
puts @raw_output
|
|
27
|
+
puts '-' * 70
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
private
|
|
31
|
+
|
|
32
|
+
def command
|
|
33
|
+
@command ||= ["diff", "-rq", folder1, folder2]
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def sample
|
|
38
|
+
<<-SAMPLE
|
|
39
|
+
|
|
40
|
+
Only in /Users/davidcruwys/dev/cmdlets/macdiff/spec/samples/a: b
|
|
41
|
+
Only in /Users/davidcruwys/dev/cmdlets/macdiff/spec/samples/b: b1.txt
|
|
42
|
+
Only in /Users/davidcruwys/dev/cmdlets/macdiff/spec/samples/b: c
|
|
43
|
+
Files /Users/davidcruwys/dev/cmdlets/macdiff/spec/samples/a/c1.txt and /Users/davidcruwys/dev/cmdlets/macdiff/spec/samples/b/c1.txt differ
|
|
44
|
+
Files /Users/davidcruwys/dev/cmdlets/macdiff/spec/samples/a/x/g.txt and /Users/davidcruwys/dev/cmdlets/macdiff/spec/samples/b/x/g.txt differ
|
|
45
|
+
Only in /Users/davidcruwys/dev/cmdlets/macdiff/spec/samples/b/x: h.txt
|
|
46
|
+
false
|
|
47
|
+
false
|
|
48
|
+
|
|
49
|
+
SAMPLE
|
|
50
|
+
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# # need to use some sort of caching folder for this
|
|
54
|
+
# ext = File.extname(file)
|
|
55
|
+
# fn = File.basename(file, ext)
|
|
56
|
+
# temp_file = Tempfile.new([fn, ext])
|
|
57
|
+
|
|
58
|
+
# temp_file.write(content)
|
|
59
|
+
# temp_file.close
|
|
60
|
+
|
|
61
|
+
# return if File.read(file) == content
|
|
62
|
+
|
|
63
|
+
# system("code -d #{file} #{temp_file.path}")
|
|
64
|
+
# sleep 2
|
|
65
|
+
|
|
66
|
+
end
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
data/lib/macdiff.rb
ADDED
data/macdiff.gemspec
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative 'lib/macdiff/version'
|
|
4
|
+
|
|
5
|
+
Gem::Specification.new do |spec|
|
|
6
|
+
spec.name = 'macdiff'
|
|
7
|
+
spec.version = Macdiff::VERSION
|
|
8
|
+
spec.authors = ['David']
|
|
9
|
+
spec.email = ['david@ideasmen.com.au']
|
|
10
|
+
|
|
11
|
+
spec.summary = 'MacDiff is a command line tool for visualizing folder differences using the MAC diff command'
|
|
12
|
+
spec.description = 'MacDiff is a command line tool for visualizing folder differences using the MAC diff command'
|
|
13
|
+
spec.homepage = 'http://appydave.com/XXX/macdiff'
|
|
14
|
+
spec.license = 'MIT'
|
|
15
|
+
|
|
16
|
+
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
|
|
17
|
+
# to allow pushing to a single host or delete this section to allow pushing to any host.
|
|
18
|
+
raise 'RubyGems 2.0 or newer is required to protect against public gem pushes.' unless spec.respond_to?(:metadata)
|
|
19
|
+
|
|
20
|
+
# spec.metadata['allowed_push_host'] = "Set to 'http://mygemserver.com'"
|
|
21
|
+
|
|
22
|
+
spec.metadata['homepage_uri'] = spec.homepage
|
|
23
|
+
spec.metadata['source_code_uri'] = 'https://github.com/klueless-io/macdiff'
|
|
24
|
+
spec.metadata['changelog_uri'] = 'https://github.com/klueless-io/macdiff/commits/master'
|
|
25
|
+
|
|
26
|
+
# Specify which files should be added to the gem when it is released.
|
|
27
|
+
# The `git ls-files -z` loads the RubyGem files that have been added into git.
|
|
28
|
+
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
|
29
|
+
`git ls-files -z`.split("\x0").reject do |f|
|
|
30
|
+
f.match(%r{^(test|spec|features)/})
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
spec.bindir = 'exe'
|
|
34
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
35
|
+
spec.require_paths = ['lib']
|
|
36
|
+
spec.extensions = ['ext/macdiff/extconf.rb']
|
|
37
|
+
|
|
38
|
+
# spec.add_dependency 'tty-box', '~> 0.5.0'
|
|
39
|
+
# spec.add_dependency 'tty-color', '~> 0.5'
|
|
40
|
+
# spec.add_dependency 'tty-command', '~> 0.9.0'
|
|
41
|
+
spec.add_dependency 'tty-config', '~> 0.3.2'
|
|
42
|
+
# spec.add_dependency 'tty-cursor', '~> 0.7'
|
|
43
|
+
# spec.add_dependency 'tty-editor', '~> 0.5'
|
|
44
|
+
# spec.add_dependency 'tty-file', '~> 0.8.0'
|
|
45
|
+
# spec.add_dependency 'tty-font', '~> 0.4.0'
|
|
46
|
+
# spec.add_dependency 'tty-logger', '~> 0.2.0'
|
|
47
|
+
# spec.add_dependency 'tty-markdown', '~> 0.6.0'
|
|
48
|
+
# spec.add_dependency 'tty-pager', '~> 0.12'
|
|
49
|
+
# spec.add_dependency 'tty-pie', '~> 0.3.0'
|
|
50
|
+
# spec.add_dependency 'tty-platform', '~> 0.2'
|
|
51
|
+
# spec.add_dependency 'tty-progressbar', '~> 0.17'
|
|
52
|
+
spec.add_dependency 'tty-prompt', '~> 0.19'
|
|
53
|
+
# spec.add_dependency 'tty-screen', '~> 0.7'
|
|
54
|
+
# spec.add_dependency 'tty-spinner', '~> 0.9'
|
|
55
|
+
# spec.add_dependency 'tty-table', '~> 0.11.0'
|
|
56
|
+
# spec.add_dependency 'tty-tree', '~> 0.3'
|
|
57
|
+
# spec.add_dependency 'tty-which', '~> 0.4'
|
|
58
|
+
# spec.add_dependency 'equatable', '~> 0.5'
|
|
59
|
+
spec.add_dependency 'pastel', '~> 0.7.2'
|
|
60
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: macdiff
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.0.3
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- David
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: exe
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2021-09-19 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: tty-config
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - "~>"
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: 0.3.2
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - "~>"
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: 0.3.2
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: tty-prompt
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '0.19'
|
|
34
|
+
type: :runtime
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - "~>"
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '0.19'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: pastel
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - "~>"
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: 0.7.2
|
|
48
|
+
type: :runtime
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - "~>"
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: 0.7.2
|
|
55
|
+
description: MacDiff is a command line tool for visualizing folder differences using
|
|
56
|
+
the MAC diff command
|
|
57
|
+
email:
|
|
58
|
+
- david@ideasmen.com.au
|
|
59
|
+
executables:
|
|
60
|
+
- macdiff
|
|
61
|
+
extensions:
|
|
62
|
+
- ext/macdiff/extconf.rb
|
|
63
|
+
extra_rdoc_files: []
|
|
64
|
+
files:
|
|
65
|
+
- ".github/workflows/main.yml"
|
|
66
|
+
- ".gitignore"
|
|
67
|
+
- ".rspec"
|
|
68
|
+
- ".rubocop.yml"
|
|
69
|
+
- CODE_OF_CONDUCT.md
|
|
70
|
+
- Gemfile
|
|
71
|
+
- Guardfile
|
|
72
|
+
- LICENSE.txt
|
|
73
|
+
- README.md
|
|
74
|
+
- Rakefile
|
|
75
|
+
- b/a1.txt
|
|
76
|
+
- b/b1.txt
|
|
77
|
+
- b/c/e.txt
|
|
78
|
+
- b/c1.txt
|
|
79
|
+
- b/x/e.txt
|
|
80
|
+
- b/x/g.txt
|
|
81
|
+
- b/x/h.txt
|
|
82
|
+
- bin/console
|
|
83
|
+
- bin/k
|
|
84
|
+
- bin/kgitsync
|
|
85
|
+
- bin/khotfix
|
|
86
|
+
- bin/setup
|
|
87
|
+
- exe/macdiff
|
|
88
|
+
- ext/macdiff/extconf.rb
|
|
89
|
+
- ext/macdiff/macdiff.c
|
|
90
|
+
- ext/macdiff/macdiff.h
|
|
91
|
+
- hooks/pre-commit
|
|
92
|
+
- hooks/update-version
|
|
93
|
+
- lib/macdiff.rb
|
|
94
|
+
- lib/macdiff/app.rb
|
|
95
|
+
- lib/macdiff/cli.rb
|
|
96
|
+
- lib/macdiff/command.rb
|
|
97
|
+
- lib/macdiff/commands/.keep
|
|
98
|
+
- lib/macdiff/diff_folder.rb
|
|
99
|
+
- lib/macdiff/templates/.keep
|
|
100
|
+
- lib/macdiff/version.rb
|
|
101
|
+
- macdiff.gemspec
|
|
102
|
+
homepage: http://appydave.com/XXX/macdiff
|
|
103
|
+
licenses:
|
|
104
|
+
- MIT
|
|
105
|
+
metadata:
|
|
106
|
+
homepage_uri: http://appydave.com/XXX/macdiff
|
|
107
|
+
source_code_uri: https://github.com/klueless-io/macdiff
|
|
108
|
+
changelog_uri: https://github.com/klueless-io/macdiff/commits/master
|
|
109
|
+
post_install_message:
|
|
110
|
+
rdoc_options: []
|
|
111
|
+
require_paths:
|
|
112
|
+
- lib
|
|
113
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
114
|
+
requirements:
|
|
115
|
+
- - ">="
|
|
116
|
+
- !ruby/object:Gem::Version
|
|
117
|
+
version: '0'
|
|
118
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
119
|
+
requirements:
|
|
120
|
+
- - ">="
|
|
121
|
+
- !ruby/object:Gem::Version
|
|
122
|
+
version: '0'
|
|
123
|
+
requirements: []
|
|
124
|
+
rubygems_version: 3.2.7
|
|
125
|
+
signing_key:
|
|
126
|
+
specification_version: 4
|
|
127
|
+
summary: MacDiff is a command line tool for visualizing folder differences using the
|
|
128
|
+
MAC diff command
|
|
129
|
+
test_files: []
|