Skip to content

Commit 33ee301

Browse files
committed
Prevent feature branch push & track when merge strategy is rebase
1 parent b887584 commit 33ee301

File tree

2 files changed

+25
-9
lines changed

2 files changed

+25
-9
lines changed

lib/zenflow/helpers/branch_commands/start.rb

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,10 @@ def create_new_branch(offline=false)
2222
if !offline
2323
Zenflow::Branch.update(branch(:source))
2424
Zenflow::Branch.create("#{flow}/#{branch_name}", branch(:source))
25-
Zenflow::Branch.push("#{flow}/#{branch_name}")
26-
Zenflow::Branch.track("#{flow}/#{branch_name}")
25+
unless Zenflow::Config[:merge_strategy] == 'rebase'
26+
Zenflow::Branch.push("#{flow}/#{branch_name}")
27+
Zenflow::Branch.track("#{flow}/#{branch_name}")
28+
end
2729
else
2830
Zenflow::Branch.checkout(branch(:source))
2931
Zenflow::Branch.create("#{flow}/#{branch_name}", branch(:source))

spec/zenflow/helpers/branch_command_spec.rb

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,28 @@ class TestCommand < Zenflow::BranchCommand
2525

2626
describe "#start" do
2727
context "when online" do
28-
before do
29-
Zenflow.should_receive(:Ask).and_return("new-test-branch")
30-
Zenflow::Branch.should_receive(:update).with("master")
31-
Zenflow::Branch.should_receive(:create).with("test/new-test-branch", "master")
32-
Zenflow::Branch.should_receive(:push).with("test/new-test-branch")
33-
Zenflow::Branch.should_receive(:track).with("test/new-test-branch")
28+
context 'merge_strategy: merge' do
29+
before do
30+
Zenflow.should_receive(:Ask).and_return("new-test-branch")
31+
Zenflow::Branch.should_receive(:update).with("master")
32+
Zenflow::Branch.should_receive(:create).with("test/new-test-branch", "master")
33+
Zenflow::Branch.should_receive(:push).with("test/new-test-branch")
34+
Zenflow::Branch.should_receive(:track).with("test/new-test-branch")
35+
end
36+
it { TestCommand.new.invoke(:start) }
37+
end
38+
39+
context 'merge_strategy: rebase' do
40+
before do
41+
Zenflow::Config.should_receive(:[]).with(:merge_strategy).and_return('rebase')
42+
Zenflow.should_receive(:Ask).and_return("new-test-branch")
43+
Zenflow::Branch.should_receive(:update).with("master")
44+
Zenflow::Branch.should_receive(:create).with("test/new-test-branch", "master")
45+
Zenflow::Branch.should_not_receive(:push).with("test/new-test-branch")
46+
Zenflow::Branch.should_not_receive(:track).with("test/new-test-branch")
47+
end
48+
it { TestCommand.new.invoke(:start) }
3449
end
35-
it { TestCommand.new.invoke(:start) }
3650
end
3751

3852
context "when offline" do

0 commit comments

Comments
 (0)