briefcase 0.4.1 → 0.4.2
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.
- data/README.md +4 -0
- data/briefcase.gemspec +1 -0
- data/lib/briefcase/commands/git.rb +3 -1
- data/lib/briefcase/commands/redact.rb +12 -14
- data/lib/briefcase/version.rb +1 -1
- data/spec/import_spec.rb +10 -10
- metadata +24 -10
data/README.md
CHANGED
@@ -11,6 +11,10 @@ installation and usage documentation.
|
|
11
11
|
|
12
12
|
## Changelog
|
13
13
|
|
14
|
+
* 0.4.2 Git command argument are properly escaped (Sebastian Spieszko)
|
15
|
+
|
16
|
+
Changed the instruction delimiter when redacting files to '!!'.
|
17
|
+
|
14
18
|
* 0.4.1 Git command now properly passes options through to git, and also allows
|
15
19
|
git output to display in color.
|
16
20
|
|
data/briefcase.gemspec
CHANGED
@@ -22,6 +22,7 @@ Gem::Specification.new do |s|
|
|
22
22
|
s.test_files = Dir['spec/*.rb']
|
23
23
|
|
24
24
|
s.add_runtime_dependency('commander')
|
25
|
+
s.add_runtime_dependency('escape')
|
25
26
|
s.add_development_dependency('minitest')
|
26
27
|
s.add_development_dependency('open4')
|
27
28
|
s.add_development_dependency('rake', '0.9.2.2')
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'escape'
|
2
|
+
|
1
3
|
module Briefcase
|
2
4
|
module Commands
|
3
5
|
|
@@ -20,7 +22,7 @@ module Briefcase
|
|
20
22
|
# create an empty git repository.
|
21
23
|
def execute
|
22
24
|
verify_dotfiles_directory_exists
|
23
|
-
command = @args
|
25
|
+
command = Escape.shell_command(@args)
|
24
26
|
intro("Running git %s in %s", command, dotfiles_path)
|
25
27
|
run_git_command(command)
|
26
28
|
end
|
@@ -8,15 +8,15 @@ module Briefcase
|
|
8
8
|
class Redact < Import
|
9
9
|
|
10
10
|
EDITING_HELP_TEXT = <<-TEXT
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
11
|
+
!! Edit the file below, replacing any sensitive information to turn this:
|
12
|
+
!!
|
13
|
+
!! password: superSecretPassword
|
14
|
+
!!
|
15
|
+
!! Into:
|
16
|
+
!!
|
17
|
+
!! password: # briefcase(password)
|
18
|
+
!!
|
19
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
20
20
|
TEXT
|
21
21
|
|
22
22
|
private
|
@@ -37,14 +37,12 @@ TEXT
|
|
37
37
|
redacted_path = destination + ".#{REDACTED_EXTENSION}"
|
38
38
|
info "Creating redacted version at #{redacted_path}"
|
39
39
|
|
40
|
-
|
40
|
+
original_content = File.read(destination)
|
41
41
|
|
42
|
-
|
43
|
-
content_to_edit = EDITING_HELP_TEXT + content_to_edit
|
44
|
-
end
|
42
|
+
content_to_edit = EDITING_HELP_TEXT + original_content
|
45
43
|
|
46
44
|
write_file(redacted_path, content_to_edit)
|
47
|
-
edited_content = edit_file_with_editor(redacted_path).gsub
|
45
|
+
edited_content = edit_file_with_editor(redacted_path).gsub(/^!!.*\r?\n/, '')
|
48
46
|
write_file(redacted_path, edited_content)
|
49
47
|
|
50
48
|
edited_content.lines.each_with_index do |line, line_index|
|
data/lib/briefcase/version.rb
CHANGED
data/spec/import_spec.rb
CHANGED
@@ -67,22 +67,22 @@ describe Briefcase::Commands::Import do
|
|
67
67
|
symlink_must_exist(@original_path, @destination_path)
|
68
68
|
end
|
69
69
|
|
70
|
-
it "imports a redacted dotfile" do
|
70
|
+
it "imports a redacted dotfile xxx" do
|
71
71
|
redacted_path = File.join(dotfiles_path, 'test.redacted')
|
72
72
|
create_file @original_path, <<-TEXT
|
73
73
|
setting: ABCDEFG
|
74
74
|
TEXT
|
75
75
|
|
76
76
|
stub_editor_response redacted_path, <<-TEXT
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
77
|
+
!! Edit the file below, replacing and sensitive information to turn this:
|
78
|
+
!!
|
79
|
+
!! password: superSecretPassword
|
80
|
+
!!
|
81
|
+
!! Into:
|
82
|
+
!!
|
83
|
+
!! password: # briefcase(password)
|
84
|
+
!!
|
85
|
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
86
86
|
setting: # briefcase(token)
|
87
87
|
TEXT
|
88
88
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: briefcase
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 11
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 4
|
9
|
-
-
|
10
|
-
version: 0.4.
|
9
|
+
- 2
|
10
|
+
version: 0.4.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jim Benton
|
@@ -32,7 +32,7 @@ dependencies:
|
|
32
32
|
type: :runtime
|
33
33
|
version_requirements: *id001
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
|
-
name:
|
35
|
+
name: escape
|
36
36
|
prerelease: false
|
37
37
|
requirement: &id002 !ruby/object:Gem::Requirement
|
38
38
|
none: false
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
segments:
|
44
44
|
- 0
|
45
45
|
version: "0"
|
46
|
-
type: :
|
46
|
+
type: :runtime
|
47
47
|
version_requirements: *id002
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
|
-
name:
|
49
|
+
name: minitest
|
50
50
|
prerelease: false
|
51
51
|
requirement: &id003 !ruby/object:Gem::Requirement
|
52
52
|
none: false
|
@@ -60,9 +60,23 @@ dependencies:
|
|
60
60
|
type: :development
|
61
61
|
version_requirements: *id003
|
62
62
|
- !ruby/object:Gem::Dependency
|
63
|
-
name:
|
63
|
+
name: open4
|
64
64
|
prerelease: false
|
65
65
|
requirement: &id004 !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
67
|
+
requirements:
|
68
|
+
- - ">="
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
hash: 3
|
71
|
+
segments:
|
72
|
+
- 0
|
73
|
+
version: "0"
|
74
|
+
type: :development
|
75
|
+
version_requirements: *id004
|
76
|
+
- !ruby/object:Gem::Dependency
|
77
|
+
name: rake
|
78
|
+
prerelease: false
|
79
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
66
80
|
none: false
|
67
81
|
requirements:
|
68
82
|
- - "="
|
@@ -75,11 +89,11 @@ dependencies:
|
|
75
89
|
- 2
|
76
90
|
version: 0.9.2.2
|
77
91
|
type: :development
|
78
|
-
version_requirements: *
|
92
|
+
version_requirements: *id005
|
79
93
|
- !ruby/object:Gem::Dependency
|
80
94
|
name: turn
|
81
95
|
prerelease: false
|
82
|
-
requirement: &
|
96
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
83
97
|
none: false
|
84
98
|
requirements:
|
85
99
|
- - ">="
|
@@ -89,7 +103,7 @@ dependencies:
|
|
89
103
|
- 0
|
90
104
|
version: "0"
|
91
105
|
type: :development
|
92
|
-
version_requirements: *
|
106
|
+
version_requirements: *id006
|
93
107
|
description: Command line program to migrate dotfiles to a git repo at ~/.dotfiles and generate static dotfiles with secret values.
|
94
108
|
email: jim@autonomousmachine.com
|
95
109
|
executables:
|