braid 1.0.8 → 1.0.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f05634e9b4c3022e78ae6c0af53e9820e6cb3bf1
4
- data.tar.gz: 73cf6f286841a8e37df2c6aa5d4692dc2a168106
3
+ metadata.gz: 48581b45f4b17cc8b8e621d5e24c841b42efba99
4
+ data.tar.gz: 7bdfa40b888e48c3d9c7a3a6bbd35dfc4b479495
5
5
  SHA512:
6
- metadata.gz: 823414ff4155dabb3e432953a49f05d68a16b0e504dc8aa29dfd4cae45132d1c664cb935106af0a03ec5403e44b0c4f2bc90783fb2c51129674407dd25b42f01
7
- data.tar.gz: 1667e256843a3026d249460ed8ad0faaceb6015008f860f29f8ef68c6c70528c3e0c8a37da0ea3c06ba293ad6d7711253f7e551ad2ccef406d3e7d167d8cb845
6
+ metadata.gz: 4b9eaae5700bc0b454099d94765acd1994334c5631ef2546026f76ac6a33e94ab7ffc0a106cb3e502dd6f4cce02785069916747adcbf479a3e762d1a01066905
7
+ data.tar.gz: 3f6bc0b3237ea79ed1fa49d5f7e846a388dcc03c4655185b6ef93535f387c46108dbe888569825d6999635d3e3540c2f3edb7d62a1d77475ed448d93fab39d57
data/README.md CHANGED
@@ -34,7 +34,7 @@ This is where Braid comes into play. Braid makes it easy to vendor in remote git
34
34
  repositories and use an automated mechanism for updating the external library
35
35
  and generating patches to upgrade the external library.
36
36
 
37
- Braid creates a file `.braids` in the root of your repository that contains
37
+ Braid creates a file `.braids.json` in the root of your repository that contains
38
38
  references to external libraries or mirrors. There are two types of mirrors in
39
39
  Braid: squashed and full. Mirrors are squashed by default, which is what you'll
40
40
  generally want because they're faster and don't pollute your history with
data/Rakefile CHANGED
@@ -8,5 +8,5 @@ RSpec::Core::RakeTask.new :spec do |task|
8
8
  task.rspec_opts = %w{--backtrace}
9
9
  end
10
10
 
11
- desc "Test and package the gem"
11
+ desc 'Test and package the gem'
12
12
  task :default => [:spec, :build]
data/bin/braid CHANGED
@@ -24,7 +24,7 @@ Main {
24
24
  description <<-TXT
25
25
  Add a new mirror to be tracked.
26
26
 
27
- * adds metadata about the mirror to .braids
27
+ * adds metadata about the mirror to .braids.json
28
28
  * adds the git remotes to .git/config
29
29
  * fetches and merges remote code into given directory
30
30
 
@@ -54,7 +54,7 @@ Main {
54
54
 
55
55
  * get new changes from remote
56
56
  * always creates a merge commit
57
- * updates metadata in .braids when revisions are changed
57
+ * updates metadata in .braids.json when revisions are changed
58
58
 
59
59
  Defaults to updating all unlocked mirrors if none is specified.
60
60
  TXT
@@ -76,7 +76,7 @@ Main {
76
76
  description <<-TXT
77
77
  Remove a mirror.
78
78
 
79
- * removes metadata from .braids
79
+ * removes metadata from .braids.json
80
80
  * removes the local directory and commits the removal
81
81
  * removes the git remote by default, --keep can be used to suppress that
82
82
  TXT
data/lib/braid/command.rb CHANGED
@@ -75,6 +75,7 @@ module Braid
75
75
  end
76
76
 
77
77
  def add_config_file
78
+ git.rm(OLD_CONFIG_FILE) if File.exist?(OLD_CONFIG_FILE)
78
79
  git.add(CONFIG_FILE)
79
80
  end
80
81
 
@@ -32,7 +32,6 @@ module Braid
32
32
  msg "Added mirror at #{display_revision(mirror)}."
33
33
  end
34
34
  end
35
-
36
35
  end
37
36
  end
38
37
  end
@@ -20,7 +20,7 @@ module Braid
20
20
  def update_one(path, options = {})
21
21
  mirror = config.get!(path)
22
22
 
23
- revision_message = options["revision"] ? " to #{display_revision(mirror, options["revision"])}" : ""
23
+ revision_message = options['revision'] ? " to #{display_revision(mirror, options['revision'])}" : ''
24
24
  msg "Updating mirror '#{mirror.path}'#{revision_message}."
25
25
 
26
26
  was_locked = mirror.locked?
data/lib/braid/config.rb CHANGED
@@ -15,19 +15,25 @@ module Braid
15
15
  end
16
16
  end
17
17
 
18
- def initialize(config_file = CONFIG_FILE)
18
+ def initialize(config_file = CONFIG_FILE, old_config_files = [OLD_CONFIG_FILE])
19
19
  @config_file = config_file
20
- begin
21
- store = YAML::Store.new(@config_file)
22
- @db = {}
23
- store.transaction(true) do
24
- store.roots.each do |path|
25
- @db[path] = store[path]
20
+ (old_config_files + [config_file]).each do |file|
21
+ next unless File.exist?(file)
22
+ begin
23
+ store = YAML::Store.new(file)
24
+ @db = {}
25
+ store.transaction(true) do
26
+ store.roots.each do |path|
27
+ @db[path] = store[path]
28
+ end
26
29
  end
30
+ return
31
+ rescue
32
+ @db = JSON.parse(file)
33
+ return if @db
27
34
  end
28
- rescue
29
- @db = JSON.parse(@config_file)
30
35
  end
36
+ @db = {}
31
37
  end
32
38
 
33
39
  def add_from_options(url, options)
@@ -44,7 +50,7 @@ module Braid
44
50
  def get(path)
45
51
  key = path.to_s.sub(/\/$/, '')
46
52
  attributes = @db[key]
47
- return attributes ? Mirror.new(path, attributes) : nil
53
+ attributes ? Mirror.new(path, attributes) : nil
48
54
  end
49
55
 
50
56
  def get!(path)
@@ -70,6 +76,7 @@ module Braid
70
76
  end
71
77
 
72
78
  private
79
+
73
80
  def write_mirror(mirror)
74
81
  @db[mirror.path] = clean_attributes(mirror.attributes)
75
82
  write_db
@@ -80,10 +87,10 @@ module Braid
80
87
  @db.keys.sort.each do |key|
81
88
  new_db[key] = @db[key]
82
89
  new_db[key].keys.each do |k|
83
- new_db[key].delete(k) if !Braid::Mirror::ATTRIBUTES.include?(k)
90
+ new_db[key].delete(k) unless Braid::Mirror::ATTRIBUTES.include?(k)
84
91
  end
85
92
  end
86
- File.open(@config_file, "wb") do |f|
93
+ File.open(@config_file, 'wb') do |f|
87
94
  f.write JSON.pretty_generate(new_db)
88
95
  f.write "\n"
89
96
  end
@@ -172,7 +172,7 @@ module Braid
172
172
  def commit(message, *args)
173
173
  cmd = 'git commit --no-verify'
174
174
  if message # allow nil
175
- message_file = Tempfile.new("braid_commit")
175
+ message_file = Tempfile.new('braid_commit')
176
176
  message_file.print("Braid: #{message}")
177
177
  message_file.flush
178
178
  message_file.close
@@ -257,16 +257,16 @@ module Braid
257
257
  # Merge three trees (local_treeish should match the current state of the
258
258
  # index) and update the index and working tree.
259
259
  #
260
- # The usage of "git merge-recursive" doesn't seem to be officially
260
+ # The usage of 'git merge-recursive' doesn't seem to be officially
261
261
  # documented, but it does accept trees. When a single base is passed, the
262
- # "recursive" part (i.e., merge of bases) does not come into play and only
262
+ # 'recursive' part (i.e., merge of bases) does not come into play and only
263
263
  # the trees matter. But for some reason, Git's smartest tree merge
264
- # algorithm is only available via the "recursive" strategy.
264
+ # algorithm is only available via the 'recursive' strategy.
265
265
  def merge_trees(base_treeish, local_treeish, remote_treeish)
266
266
  invoke(:merge_recursive, base_treeish, "-- #{local_treeish} #{remote_treeish}")
267
267
  true
268
268
  rescue ShellExecutionError => error
269
- # "CONFLICT" messages go to stdout.
269
+ # 'CONFLICT' messages go to stdout.
270
270
  raise MergeError, error.out
271
271
  end
272
272
 
@@ -290,24 +290,24 @@ module Braid
290
290
  # Read tree into the root of the index. This may not be the preferred way
291
291
  # to do it, but it seems to work.
292
292
  def read_tree_im(treeish)
293
- invoke(:read_tree, "-im", treeish)
293
+ invoke(:read_tree, '-im', treeish)
294
294
  true
295
295
  end
296
296
 
297
297
  # Write a tree object for the current index and return its ID.
298
- def write_tree()
298
+ def write_tree
299
299
  invoke(:write_tree)
300
300
  end
301
301
 
302
302
  # Execute a block using a temporary git index file, initially empty.
303
- def with_temporary_index()
304
- Dir.mktmpdir("braid_index") do |dir|
305
- orig_index_file = ENV["GIT_INDEX_FILE"]
306
- ENV["GIT_INDEX_FILE"] = File.join(dir, "index")
303
+ def with_temporary_index
304
+ Dir.mktmpdir('braid_index') do |dir|
305
+ orig_index_file = ENV['GIT_INDEX_FILE']
306
+ ENV['GIT_INDEX_FILE'] = File.join(dir, 'index')
307
307
  begin
308
308
  yield
309
309
  ensure
310
- ENV["GIT_INDEX_FILE"] = orig_index_file
310
+ ENV['GIT_INDEX_FILE'] = orig_index_file
311
311
  end
312
312
  end
313
313
  end
data/lib/braid/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Braid
2
- VERSION = '1.0.8'
2
+ VERSION = '1.0.9'
3
3
  end
data/lib/braid.rb CHANGED
@@ -1,7 +1,8 @@
1
1
  require 'braid/version'
2
2
 
3
3
  module Braid
4
- CONFIG_FILE = '.braids'
4
+ OLD_CONFIG_FILE = '.braids'
5
+ CONFIG_FILE = '.braids.json'
5
6
  REQUIRED_GIT_VERSION = '1.6'
6
7
 
7
8
  def self.verbose
data/spec/config_spec.rb CHANGED
@@ -1,59 +1,59 @@
1
1
  require File.dirname(__FILE__) + '/test_helper'
2
2
 
3
- describe "Braid::Config, when empty" do
3
+ describe 'Braid::Config, when empty' do
4
4
  before(:each) do
5
- @config = Braid::Config.new("tmp.yml")
5
+ @config = Braid::Config.new('tmp.yml')
6
6
  end
7
7
 
8
8
  after(:each) do
9
- FileUtils.rm("tmp.yml") rescue nil
9
+ FileUtils.rm('tmp.yml') rescue nil
10
10
  end
11
11
 
12
- it "should not get a mirror by name" do
13
- @config.get("path").should be_nil
14
- lambda { @config.get!("path") }.should raise_error(Braid::Config::MirrorDoesNotExist)
12
+ it 'should not get a mirror by name' do
13
+ @config.get('path').should be_nil
14
+ lambda { @config.get!('path') }.should raise_error(Braid::Config::MirrorDoesNotExist)
15
15
  end
16
16
 
17
- it "should add a mirror and its params" do
17
+ it 'should add a mirror and its params' do
18
18
  @mirror = build_mirror
19
19
  @config.add(@mirror)
20
- @config.get("path").path.should_not be_nil
20
+ @config.get('path').path.should_not be_nil
21
21
  end
22
22
  end
23
23
 
24
- describe "Braid::Config, with one mirror" do
24
+ describe 'Braid::Config, with one mirror' do
25
25
  before(:each) do
26
- @config = Braid::Config.new("tmp.yml")
26
+ @config = Braid::Config.new('tmp.yml')
27
27
  @mirror = build_mirror
28
28
  @config.add(@mirror)
29
29
  end
30
30
 
31
31
  after(:each) do
32
- FileUtils.rm("tmp.yml") rescue nil
32
+ FileUtils.rm('tmp.yml') rescue nil
33
33
  end
34
34
 
35
- it "should get the mirror by name" do
36
- @config.get("path").should == @mirror
37
- @config.get!("path").should == @mirror
35
+ it 'should get the mirror by name' do
36
+ @config.get('path').should == @mirror
37
+ @config.get!('path').should == @mirror
38
38
  end
39
39
 
40
- it "should raise when trying to overwrite a mirror on add" do
40
+ it 'should raise when trying to overwrite a mirror on add' do
41
41
  lambda { @config.add(@mirror) }.should raise_error(Braid::Config::PathAlreadyInUse)
42
42
  end
43
43
 
44
- it "should remove the mirror" do
44
+ it 'should remove the mirror' do
45
45
  @config.remove(@mirror)
46
- @config.get("path").should be_nil
46
+ @config.get('path').should be_nil
47
47
  end
48
48
 
49
- it "should update the mirror with new params" do
50
- @mirror.branch = "other"
49
+ it 'should update the mirror with new params' do
50
+ @mirror.branch = 'other'
51
51
  @config.update(@mirror)
52
- @config.get("path").attributes.should == {"branch" => "other"}
52
+ @config.get('path').attributes.should == {'branch' => 'other'}
53
53
  end
54
54
 
55
- it "should raise when trying to update nonexistent mirror" do
56
- @mirror.instance_variable_set("@path", "other")
55
+ it 'should raise when trying to update nonexistent mirror' do
56
+ @mirror.instance_variable_set('@path', 'other')
57
57
  lambda { @config.update(@mirror) }.should raise_error(Braid::Config::MirrorDoesNotExist)
58
58
  end
59
59
  end
@@ -1,43 +1,42 @@
1
1
  require File.dirname(__FILE__) + '/../integration_helper'
2
2
 
3
- describe "Adding a mirror in a clean repository" do
3
+ describe 'Adding a mirror in a clean repository' do
4
4
 
5
5
  before do
6
6
  FileUtils.rm_rf(TMP_PATH)
7
7
  FileUtils.mkdir_p(TMP_PATH)
8
8
  end
9
9
 
10
- describe "from a git repository" do
10
+ describe 'from a git repository' do
11
11
  before do
12
- @shiny = create_git_repo_from_fixture("shiny")
13
- @skit1 = create_git_repo_from_fixture("skit1")
12
+ @shiny = create_git_repo_from_fixture('shiny')
13
+ @skit1 = create_git_repo_from_fixture('skit1')
14
14
  end
15
15
 
16
- it "should add the files and commit" do
16
+ it 'should add the files and commit' do
17
17
  in_dir(@shiny) do
18
- `#{BRAID_BIN} add #{@skit1}`
18
+ run_command("#{BRAID_BIN} add #{@skit1}")
19
19
  end
20
20
 
21
- file_name = "skit1/layouts/layout.liquid"
22
- output = `diff -U 3 #{File.join(FIXTURE_PATH, file_name)} #{File.join(TMP_PATH, "shiny", file_name)}`
23
- $?.should be_success
21
+ file_name = 'skit1/layouts/layout.liquid'
22
+ run_command("diff -U 3 #{File.join(FIXTURE_PATH, file_name)} #{File.join(TMP_PATH, 'shiny', file_name)}")
24
23
 
25
- output = `git log --pretty=oneline`.split("\n")
24
+ output = run_command('git log --pretty=oneline').split("\n")
26
25
  output.length.should == 2
27
26
  output[0].should =~ /Braid: Add mirror 'skit1' at '[0-9a-f]{7}'/
28
27
  end
29
28
 
30
- it "should create .braids and add the mirror to it" do
29
+ it 'should create .braids.json and add the mirror to it' do
31
30
  in_dir(@shiny) do
32
- `#{BRAID_BIN} add #{@skit1}`
31
+ run_command("#{BRAID_BIN} add #{@skit1}")
33
32
  end
34
33
 
35
- braids = YAML::load_file("#{@shiny}/.braids")
36
- braids["skit1"]["squashed"].should == true
37
- braids["skit1"]["url"].should == @skit1
38
- braids["skit1"]["revision"].should_not be_nil
39
- braids["skit1"]["branch"].should == "master"
40
- braids["skit1"]["remote"].should == "master/braid/skit1"
34
+ braids = YAML::load_file("#{@shiny}/#{Braid::CONFIG_FILE}")
35
+ braids['skit1']['squashed'].should == true
36
+ braids['skit1']['url'].should == @skit1
37
+ braids['skit1']['revision'].should_not be_nil
38
+ braids['skit1']['branch'].should == 'master'
39
+ braids['skit1']['remote'].should == 'master/braid/skit1'
41
40
  end
42
41
  end
43
42
  end
@@ -1,46 +1,44 @@
1
1
  require File.dirname(__FILE__) + '/../integration_helper'
2
2
 
3
- describe "Updating a mirror" do
3
+ describe 'Updating a mirror' do
4
4
 
5
5
  before do
6
6
  FileUtils.rm_rf(TMP_PATH)
7
7
  FileUtils.mkdir_p(TMP_PATH)
8
8
  end
9
9
 
10
- describe "from a git repository" do
10
+ describe 'from a git repository' do
11
11
  before do
12
- @shiny = create_git_repo_from_fixture("shiny")
13
- @skit1 = create_git_repo_from_fixture("skit1")
14
- @file_name = "layouts/layout.liquid"
12
+ @shiny = create_git_repo_from_fixture('shiny')
13
+ @skit1 = create_git_repo_from_fixture('skit1')
14
+ @file_name = 'layouts/layout.liquid'
15
15
 
16
16
  in_dir(@shiny) do
17
- `#{BRAID_BIN} add #{@skit1}`
17
+ run_command("#{BRAID_BIN} add #{@skit1}")
18
18
  end
19
19
 
20
- update_dir_from_fixture("skit1", "skit1.1")
20
+ update_dir_from_fixture('skit1', 'skit1.1')
21
21
  in_dir(@skit1) do
22
- `git add *`
23
- `git commit -m "change default color"`
22
+ run_command('git add *')
23
+ run_command('git commit -m "change default color"')
24
24
  end
25
25
 
26
- update_dir_from_fixture("skit1", "skit1.2")
26
+ update_dir_from_fixture('skit1', 'skit1.2')
27
27
  in_dir(@skit1) do
28
- `git add *`
29
- `git commit -m "add a happy note"`
28
+ run_command('git add *')
29
+ run_command('git commit -m "add a happy note"')
30
30
  end
31
-
32
31
  end
33
32
 
34
- context "with no project-specific changes" do
35
- it "should add the files and commit" do
33
+ context 'with no project-specific changes' do
34
+ it 'should add the files and commit' do
36
35
  in_dir(@shiny) do
37
- `#{BRAID_BIN} update skit1`
36
+ run_command("#{BRAID_BIN} update skit1")
38
37
  end
39
38
 
40
- output = `diff -U 3 #{File.join(FIXTURE_PATH, "skit1.2", @file_name)} #{File.join(TMP_PATH, "shiny", "skit1", @file_name)}`
41
- $?.should be_success
39
+ run_command("diff -U 3 #{File.join(FIXTURE_PATH, 'skit1.2', @file_name)} #{File.join(TMP_PATH, 'shiny', 'skit1', @file_name)}")
42
40
 
43
- output = `git log --pretty=oneline`.split("\n")
41
+ output = run_command('git log --pretty=oneline').split("\n")
44
42
  output.length.should == 3
45
43
  output[0].should =~ /Braid: Update mirror 'skit1' to '[0-9a-f]{7}'/
46
44
 
@@ -50,55 +48,53 @@ describe "Updating a mirror" do
50
48
  end
51
49
  end
52
50
 
53
- context "with mergeable changes to the same file" do
54
- it "should auto-merge and commit" do
55
- `cp #{File.join(FIXTURE_PATH, "shiny_skit1_mergeable", @file_name)} #{File.join(TMP_PATH, "shiny", "skit1", @file_name)}`
51
+ context 'with mergeable changes to the same file' do
52
+ it 'should auto-merge and commit' do
53
+ run_command("cp #{File.join(FIXTURE_PATH, 'shiny_skit1_mergeable', @file_name)} #{File.join(TMP_PATH, 'shiny', 'skit1', @file_name)}")
56
54
 
57
55
  in_dir(@shiny) do
58
- `git commit -a -m 'mergeable change'`
59
- `#{BRAID_BIN} update skit1`
56
+ run_command("git commit -a -m 'mergeable change'")
57
+ run_command("#{BRAID_BIN} update skit1")
60
58
  end
61
59
 
62
- output = `diff -U 3 #{File.join(FIXTURE_PATH, "shiny_skit1.2_merged", @file_name)} #{File.join(TMP_PATH, "shiny", "skit1", @file_name)}`
63
- $?.should be_success
60
+ run_command("diff -U 3 #{File.join(FIXTURE_PATH, 'shiny_skit1.2_merged', @file_name)} #{File.join(TMP_PATH, 'shiny', 'skit1', @file_name)}")
64
61
 
65
- output = `git log --pretty=oneline`.split("\n")
62
+ output = run_command('git log --pretty=oneline').split("\n")
66
63
  output.length.should == 4 # plus 'mergeable change'
67
64
  output[0].should =~ /Braid: Update mirror 'skit1' to '[0-9a-f]{7}'/
68
65
  end
69
66
  end
70
67
 
71
- context "with conflicting changes" do
72
- it "should leave conflict markup with the target revision" do
73
- `cp #{File.join(FIXTURE_PATH, "shiny_skit1_conflicting", @file_name)} #{File.join(TMP_PATH, "shiny", "skit1", @file_name)}`
68
+ context 'with conflicting changes' do
69
+ it 'should leave conflict markup with the target revision' do
70
+ run_command("cp #{File.join(FIXTURE_PATH, 'shiny_skit1_conflicting', @file_name)} #{File.join(TMP_PATH, 'shiny', 'skit1', @file_name)}")
74
71
 
75
72
  target_revision = nil
76
73
  in_dir(@skit1) do
77
- target_revision = `git rev-parse HEAD`
74
+ target_revision = run_command('git rev-parse HEAD')
78
75
  end
79
76
 
80
77
  braid_output = nil
81
78
  in_dir(@shiny) do
82
- `git commit -a -m 'conflicting change'`
83
- braid_output = `#{BRAID_BIN} update skit1`
79
+ run_command("git commit -a -m 'conflicting change'")
80
+ braid_output = run_command("#{BRAID_BIN} update skit1")
84
81
  end
85
82
  braid_output.should =~ /Caught merge error\. Breaking\./
86
83
 
87
- `grep -q '>>>>>>> #{target_revision}' #{File.join(TMP_PATH, "shiny", "skit1", @file_name)}`
88
- $?.should be_success
84
+ run_command("grep -q '>>>>>>> #{target_revision}' #{File.join(TMP_PATH, 'shiny', 'skit1', @file_name)}")
89
85
  end
90
86
  end
91
87
 
92
88
  # Regression test for https://github.com/cristibalan/braid/issues/41.
93
- context "with a convergent deletion" do
94
- it "should not detect a bogus rename" do
89
+ context 'with a convergent deletion' do
90
+ it 'should not detect a bogus rename' do
95
91
  in_dir(@skit1) do
96
- `git rm layouts/layout.liquid`
97
- `git commit -m "delete"`
92
+ run_command('git rm layouts/layout.liquid')
93
+ run_command('git commit -m "delete"')
98
94
  end
99
95
  in_dir(@shiny) do
100
- `git rm skit1/layouts/layout.liquid`
101
- `git commit -m "delete here too"`
96
+ run_command('git rm skit1/layouts/layout.liquid')
97
+ run_command('git commit -m "delete here too"')
102
98
  end
103
99
 
104
100
  # Without the fix, when git diffs the base and local trees, it will
@@ -106,7 +102,7 @@ describe "Updating a mirror" do
106
102
  # other-skit/layout.liquid, resulting in a rename-delete conflict.
107
103
  braid_output = nil
108
104
  in_dir(@shiny) do
109
- braid_output = `#{BRAID_BIN} update skit1`
105
+ braid_output = run_command("#{BRAID_BIN} update skit1")
110
106
  end
111
107
  braid_output.should_not =~ /Caught merge error\. Breaking\./
112
108
  end
@@ -6,9 +6,9 @@ require 'tempfile'
6
6
  require 'fileutils'
7
7
  require 'pathname'
8
8
 
9
- TMP_PATH = File.join(Dir.tmpdir, "braid_integration")
9
+ TMP_PATH = File.join(Dir.tmpdir, 'braid_integration')
10
10
  BRAID_PATH = Pathname.new(File.dirname(__FILE__)).parent.realpath
11
- FIXTURE_PATH = File.join(BRAID_PATH, "spec", "fixtures")
11
+ FIXTURE_PATH = File.join(BRAID_PATH, 'spec', 'fixtures')
12
12
  FileUtils.rm_rf(TMP_PATH)
13
13
  FileUtils.mkdir_p(TMP_PATH)
14
14
 
@@ -28,7 +28,7 @@ end
28
28
  def update_dir_from_fixture(dir, fixture = dir)
29
29
  to_dir = File.join(TMP_PATH, dir)
30
30
  FileUtils.mkdir_p(to_dir)
31
- FileUtils.cp_r(File.join(FIXTURE_PATH, fixture) + "/.", to_dir)
31
+ FileUtils.cp_r(File.join(FIXTURE_PATH, fixture) + '/.', to_dir)
32
32
  end
33
33
 
34
34
  def create_git_repo_from_fixture(fixture_name)
data/spec/mirror_spec.rb CHANGED
@@ -1,18 +1,18 @@
1
1
  require File.dirname(__FILE__) + '/test_helper'
2
2
 
3
- describe "Braid::Mirror.new_from_options" do
4
- it "should default branch to master" do
5
- new_from_options("git://path")
6
- @mirror.branch.should == "master"
3
+ describe 'Braid::Mirror.new_from_options' do
4
+ it 'should default branch to master' do
5
+ new_from_options('git://path')
6
+ @mirror.branch.should == 'master'
7
7
  end
8
8
 
9
- it "should default mirror to last path part, ignoring trailing .git" do
10
- new_from_options("http://path.git")
11
- @mirror.path.should == "path"
9
+ it 'should default mirror to last path part, ignoring trailing .git' do
10
+ new_from_options('http://path.git')
11
+ @mirror.path.should == 'path'
12
12
  end
13
13
  end
14
14
 
15
- describe "Braid::Mirror#diff" do
15
+ describe 'Braid::Mirror#diff' do
16
16
  before(:each) do
17
17
  @mirror = build_mirror('revision' => 'a' * 40, 'url' => 'git://path')
18
18
  @mirror.stubs(:base_revision).returns(@mirror.revision) # bypass rev_parse
@@ -23,14 +23,14 @@ describe "Braid::Mirror#diff" do
23
23
  git.expects(:tree_hash).with(@mirror.path).returns(local_hash)
24
24
  end
25
25
 
26
- it "should return an empty string when the hashes match" do
26
+ it 'should return an empty string when the hashes match' do
27
27
  set_hashes('b' * 40, 'b' * 40)
28
28
  git.expects(:fetch)
29
29
  git.expects(:diff_tree).never
30
- @mirror.diff.should == ""
30
+ @mirror.diff.should == ''
31
31
  end
32
32
 
33
- it "should generate a diff when the hashes do not match" do
33
+ it 'should generate a diff when the hashes do not match' do
34
34
  set_hashes('b' * 40, 'c' * 40)
35
35
  diff = "diff --git a/path b/path\n"
36
36
  git.expects(:fetch)
@@ -39,24 +39,24 @@ describe "Braid::Mirror#diff" do
39
39
  end
40
40
  end
41
41
 
42
- describe "Braid::Mirror#base_revision" do
43
- it "should be inferred when no revision is set" do
42
+ describe 'Braid::Mirror#base_revision' do
43
+ it 'should be inferred when no revision is set' do
44
44
  @mirror = build_mirror
45
45
  @mirror.revision.should be_nil
46
46
  @mirror.expects(:inferred_revision).returns('b' * 40)
47
47
  @mirror.base_revision.should == 'b' * 40
48
48
  end
49
49
 
50
- it "should be the parsed hash for git mirrors" do
51
- @mirror = build_mirror("revision" => 'a' * 7)
50
+ it 'should be the parsed hash for git mirrors' do
51
+ @mirror = build_mirror('revision' => 'a' * 7)
52
52
  git.expects(:rev_parse).with('a' * 7).returns('a' * 40)
53
53
  @mirror.base_revision.should == 'a' * 40
54
54
  end
55
55
  end
56
56
 
57
- describe "Braid::Mirror#inferred_revision" do
58
- it "should return the last commit before the most recent update" do
59
- @mirror = new_from_options("git://path")
57
+ describe 'Braid::Mirror#inferred_revision' do
58
+ it 'should return the last commit before the most recent update' do
59
+ @mirror = new_from_options('git://path')
60
60
  git.expects(:rev_list).times(2).returns(
61
61
  "#{'a' * 40}\n",
62
62
  "commit #{'b' * 40}\n#{'t' * 40}\n"
@@ -66,17 +66,17 @@ describe "Braid::Mirror#inferred_revision" do
66
66
  end
67
67
  end
68
68
 
69
- describe "Braid::Mirror#cached?" do
69
+ describe 'Braid::Mirror#cached?' do
70
70
  before(:each) do
71
- @mirror = new_from_options("git://path")
71
+ @mirror = new_from_options('git://path')
72
72
  end
73
73
 
74
- it "should be true when the remote path matches the cache path" do
74
+ it 'should be true when the remote path matches the cache path' do
75
75
  git.expects(:remote_url).with(@mirror.remote).returns(git_cache.path(@mirror.url))
76
76
  @mirror.should be_cached
77
77
  end
78
78
 
79
- it "should be false if the remote does not point to the cache" do
79
+ it 'should be false if the remote does not point to the cache' do
80
80
  git.expects(:remote_url).with(@mirror.remote).returns(@mirror.url)
81
81
  @mirror.should_not be_cached
82
82
  end
@@ -1,56 +1,56 @@
1
1
  require File.dirname(__FILE__) + '/test_helper'
2
2
 
3
- describe "Braid::Operations::Git#remote_url" do
4
- it "should use git config" do
3
+ describe 'Braid::Operations::Git#remote_url' do
4
+ it 'should use git config' do
5
5
  # FIXME weak test
6
- git.stubs(:invoke).with(:config, 'remote.braid/git/one.url').returns("git://path")
7
- git.remote_url("braid/git/one").should == "git://path"
6
+ git.stubs(:invoke).with(:config, 'remote.braid/git/one.url').returns('git://path')
7
+ git.remote_url('braid/git/one').should == 'git://path'
8
8
  end
9
9
  end
10
10
 
11
- describe "Braid::Operations::Git#rev_parse" do
12
- it "should return the full hash when a hash is found" do
11
+ describe 'Braid::Operations::Git#rev_parse' do
12
+ it 'should return the full hash when a hash is found' do
13
13
  full_revision = 'a' * 40
14
- git.expects(:exec).returns([0, full_revision, ""])
14
+ git.expects(:exec).returns([0, full_revision, ''])
15
15
  git.rev_parse('a' * 7).should == full_revision
16
16
  end
17
17
 
18
- it "should raise a revision error when the hash is not found" do
18
+ it 'should raise a revision error when the hash is not found' do
19
19
  ambiguous_revision = 'b' * 7
20
- git.expects(:exec).returns([1, ambiguous_revision, "fatal: ..."])
20
+ git.expects(:exec).returns([1, ambiguous_revision, 'fatal: ...'])
21
21
  lambda { git.rev_parse(ambiguous_revision) }.should raise_error(Braid::Operations::UnknownRevision)
22
22
  end
23
23
  end
24
24
 
25
- describe "Braid::Operations::Git#version" do
26
- ACTUAL_VERSION = "1.5.5.1.98.gf0ec4"
25
+ describe 'Braid::Operations::Git#version' do
26
+ ACTUAL_VERSION = '1.5.5.1.98.gf0ec4'
27
27
 
28
28
  before(:each) do
29
- git.expects(:exec).returns([0, "git version #{ACTUAL_VERSION}\n", ""])
29
+ git.expects(:exec).returns([0, "git version #{ACTUAL_VERSION}\n", ''])
30
30
  end
31
31
 
32
- it "should extract from git --version output" do
32
+ it 'should extract from git --version output' do
33
33
  git.version.should == ACTUAL_VERSION
34
34
  end
35
35
  end
36
36
 
37
- describe "Braid::Operations::Git#require_version" do
38
- REQUIRED_VERSION = "1.5.4.5"
37
+ describe 'Braid::Operations::Git#require_version' do
38
+ REQUIRED_VERSION = '1.5.4.5'
39
39
  PASS_VERSIONS = %w(1.5.4.6 1.5.5 1.6 1.5.4.5.2 1.5.5.1.98.gf0ec4)
40
40
  FAIL_VERSIONS = %w(1.5.4.4 1.5.4 1.5.3 1.4.5.6)
41
41
 
42
42
  def set_version(str)
43
- git.expects(:exec).returns([0, "git version #{str}\n", ""])
43
+ git.expects(:exec).returns([0, "git version #{str}\n", ''])
44
44
  end
45
45
 
46
- it "should return true for higher revisions" do
46
+ it 'should return true for higher revisions' do
47
47
  PASS_VERSIONS.each do |version|
48
48
  set_version(version)
49
49
  git.require_version(REQUIRED_VERSION).should == true
50
50
  end
51
51
  end
52
52
 
53
- it "should return false for lower revisions" do
53
+ it 'should return false for lower revisions' do
54
54
  FAIL_VERSIONS.each do |version|
55
55
  set_version(version)
56
56
  git.require_version(REQUIRED_VERSION).should == false
@@ -58,9 +58,9 @@ describe "Braid::Operations::Git#require_version" do
58
58
  end
59
59
  end
60
60
 
61
- describe "Braid::Operations::GitCache#path" do
62
- it "should use the local cache directory and strip characters" do
63
- git_cache.path("git://path").should == File.join(Braid.local_cache_dir, "git___path")
64
- git_cache.path("git@domain:repository.git").should == File.join(Braid.local_cache_dir, "git_domain_repository.git")
61
+ describe 'Braid::Operations::GitCache#path' do
62
+ it 'should use the local cache directory and strip characters' do
63
+ git_cache.path('git://path').should == File.join(Braid.local_cache_dir, 'git___path')
64
+ git_cache.path('git@domain:repository.git').should == File.join(Braid.local_cache_dir, 'git_domain_repository.git')
65
65
  end
66
66
  end
data/spec/test_helper.rb CHANGED
@@ -9,7 +9,7 @@ def new_from_options(url, options = {})
9
9
  end
10
10
 
11
11
  def build_mirror(options = {})
12
- Braid::Mirror.new("path", options)
12
+ Braid::Mirror.new('path', options)
13
13
  end
14
14
 
15
15
  include Braid::Operations::VersionControl
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: braid
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.8
4
+ version: 1.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cristi Balan
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-01-30 00:00:00.000000000 Z
13
+ date: 2017-02-22 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: main