Skip to content

pull without rebase #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .ruby-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.7.3
3.3.0
2 changes: 1 addition & 1 deletion lib/gitx/cli/cleanup_command.rb
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def cleanup

def update_base_branch
checkout_branch config.base_branch
run_git_cmd 'pull'
run_git_cmd 'pull', '--no-rebase'
run_git_cmd 'remote', 'prune', 'origin'
end

Expand Down
2 changes: 1 addition & 1 deletion lib/gitx/cli/release_command.rb
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ def perform_release(branch)
return unless confirm_branch_status?(branch)

checkout_branch config.base_branch
run_git_cmd 'pull', 'origin', config.base_branch
run_git_cmd 'pull', 'origin', config.base_branch, '--no-rebase'
run_git_cmd 'merge', '--no-ff', '--message', commit_message(branch, pull_request), branch
run_git_cmd 'push', 'origin', 'HEAD'
end
Expand Down
2 changes: 1 addition & 1 deletion lib/gitx/cli/start_command.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ def start(branch_name = nil)
branch_name = ask("What would you like to name your branch? (ex: #{EXAMPLE_BRANCH_NAMES.sample})") until valid_new_branch_name?(branch_name)

checkout_branch config.base_branch
run_git_cmd 'pull'
run_git_cmd 'pull', '--no-rebase'
repo.create_branch branch_name, config.base_branch
checkout_branch branch_name
run_git_cmd('commit', '--allow-empty', '--message', commit_message(branch_name))
Expand Down
2 changes: 1 addition & 1 deletion lib/gitx/cli/update_command.rb
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ def update_base_branch
end

def update_branch(branch, repository: 'origin')
run_git_cmd 'pull', repository, branch
run_git_cmd 'pull', repository, branch, '--no-rebase'
rescue Gitx::Executor::ExecutionError
raise MergeError, 'Merge conflict occurred. Please fix merge conflict and rerun the command'
end
Expand Down
8 changes: 4 additions & 4 deletions spec/gitx/cli/cleanup_command_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
allow(cli).to receive(:say)

expect(executor).to receive(:execute).with('git', 'checkout', 'main').ordered
expect(executor).to receive(:execute).with('git', 'pull').ordered
expect(executor).to receive(:execute).with('git', 'pull', '--no-rebase').ordered
expect(executor).to receive(:execute).with('git', 'remote', 'prune', 'origin').ordered
expect(executor).to receive(:execute).with('git', 'branch', '--delete', 'merged-local-feature').ordered

Expand All @@ -59,7 +59,7 @@
allow(cli).to receive(:say)

expect(executor).to receive(:execute).with('git', 'checkout', 'main').ordered
expect(executor).to receive(:execute).with('git', 'pull').ordered
expect(executor).to receive(:execute).with('git', 'pull', '--no-rebase').ordered
expect(executor).to receive(:execute).with('git', 'remote', 'prune', 'origin').ordered
expect(executor).to receive(:execute).with('git', 'push', 'origin', '--delete', 'merged-remote-feature').ordered

Expand All @@ -79,7 +79,7 @@
allow(cli).to receive(:say)

expect(executor).to receive(:execute).with('git', 'checkout', 'main').ordered
expect(executor).to receive(:execute).with('git', 'pull').ordered
expect(executor).to receive(:execute).with('git', 'pull', '--no-rebase').ordered
expect(executor).to receive(:execute).with('git', 'remote', 'prune', 'origin').ordered
expect(executor).to receive(:execute).with('git', 'push', 'origin', '--delete', 'merged-remote-feature/review').ordered

Expand All @@ -102,7 +102,7 @@
allow(cli).to receive(:say)

expect(executor).to receive(:execute).with('git', 'checkout', base_branch).ordered
expect(executor).to receive(:execute).with('git', 'pull').ordered
expect(executor).to receive(:execute).with('git', 'pull', '--no-rebase').ordered
expect(executor).to receive(:execute).with('git', 'remote', 'prune', 'origin').ordered
expect(executor).to_not receive(:execute).with('git', 'push', 'origin', '--delete', base_branch)

Expand Down
16 changes: 8 additions & 8 deletions spec/gitx/cli/release_command_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@

expect(executor).to receive(:execute).with('git', 'update').ordered
expect(executor).to_not receive(:execute).with('git', 'checkout', 'main')
expect(executor).to_not receive(:execute).with('git', 'pull', 'origin', 'main')
expect(executor).to_not receive(:execute).with('git', 'pull', 'origin', 'main', '--no-rebase')
expect(executor).to_not receive(:execute).with('git', 'merge', '--no-ff', '--message', "[gitx] Release feature-branch to main\n\nConnected to #10", 'feature-branch')
expect(executor).to_not receive(:execute).with('git', 'push', 'origin', 'HEAD')

Expand All @@ -65,7 +65,7 @@
expect(executor).to receive(:execute).with('git', 'checkout', 'feature-branch').ordered
expect(executor).to receive(:execute).with('git', 'update').ordered
expect(executor).to receive(:execute).with('git', 'checkout', 'main').ordered
expect(executor).to receive(:execute).with('git', 'pull', 'origin', 'main').ordered
expect(executor).to receive(:execute).with('git', 'pull', 'origin', 'main', '--no-rebase').ordered
expect(executor).to receive(:execute).with('git', 'merge', '--no-ff', '--message', "[gitx] Release feature-branch to main\n\nConnected to #10", 'feature-branch').ordered
expect(executor).to receive(:execute).with('git', 'push', 'origin', 'HEAD').ordered
expect(executor).to receive(:execute).with('git integrate --skip-pull-request').ordered
Expand Down Expand Up @@ -95,7 +95,7 @@
expect(executor).to receive(:execute).with('git', 'checkout', 'feature-branch').ordered
expect(executor).to receive(:execute).with('git', 'update').ordered
expect(executor).to receive(:execute).with('git', 'checkout', 'main').ordered
expect(executor).to receive(:execute).with('git', 'pull', 'origin', 'main').ordered
expect(executor).to receive(:execute).with('git', 'pull', 'origin', 'main', '--no-rebase').ordered
expect(executor).to receive(:execute).with('git', 'merge', '--no-ff', '--message', "[gitx] Release feature-branch to main\n\nConnected to #10", 'feature-branch').ordered
expect(executor).to receive(:execute).with('git', 'push', 'origin', 'HEAD').ordered
expect(executor).to receive(:execute).with('echo hello').ordered
Expand All @@ -118,7 +118,7 @@
expect(executor).to receive(:execute).with('git', 'checkout', 'feature-branch').ordered
expect(executor).to receive(:execute).with('git', 'update').ordered
expect(executor).to receive(:execute).with('git', 'checkout', 'main').ordered
expect(executor).to receive(:execute).with('git', 'pull', 'origin', 'main').ordered
expect(executor).to receive(:execute).with('git', 'pull', 'origin', 'main', '--no-rebase').ordered
expect(executor).to receive(:execute).with('git', 'merge', '--no-ff', '--message', "[gitx] Release feature-branch to main\n\nConnected to #10", 'feature-branch').ordered
expect(executor).to receive(:execute).with('git', 'push', 'origin', 'HEAD').ordered
expect(executor).to receive(:execute).with('git integrate --skip-pull-request').ordered
Expand Down Expand Up @@ -156,7 +156,7 @@
expect(executor).to receive(:execute).with('git', 'update').ordered
expect(executor).to receive(:execute).with('git', 'log', 'origin/main...feature-branch', '--reverse', '--no-merges', '--pretty=format:* %B').and_return('2013-01-01 did some stuff').ordered
expect(executor).to receive(:execute).with('git', 'checkout', 'main').ordered
expect(executor).to receive(:execute).with('git', 'pull', 'origin', 'main').ordered
expect(executor).to receive(:execute).with('git', 'pull', 'origin', 'main', '--no-rebase').ordered
expect(executor).to receive(:execute).with('git', 'merge', '--no-ff', '--message', "[gitx] Release feature-branch to main\n\nConnected to #10", 'feature-branch').ordered
expect(executor).to receive(:execute).with('git', 'push', 'origin', 'HEAD').ordered
expect(executor).to receive(:execute).with('git integrate --skip-pull-request').ordered
Expand Down Expand Up @@ -188,7 +188,7 @@
expect(executor).to receive(:execute).with('git', 'checkout', 'feature-branch').ordered
expect(executor).to receive(:execute).with('git', 'update').ordered
expect(executor).to receive(:execute).with('git', 'checkout', 'main').ordered
expect(executor).to receive(:execute).with('git', 'pull', 'origin', 'main').ordered
expect(executor).to receive(:execute).with('git', 'pull', 'origin', 'main', '--no-rebase').ordered
expect(executor).to receive(:execute).with('git', 'merge', '--no-ff', '--message', "[gitx] Release feature-branch to main\n\nConnected to #10", 'feature-branch').ordered
expect(executor).to receive(:execute).with('git', 'push', 'origin', 'HEAD').ordered
expect(executor).to receive(:execute).with('git integrate --skip-pull-request').ordered
Expand Down Expand Up @@ -219,7 +219,7 @@
allow(cli).to receive(:authorization_token).and_return(authorization_token)

expect(executor).to_not receive(:execute).with('git', 'checkout', 'main')
expect(executor).to_not receive(:execute).with('git', 'pull', 'origin', 'main')
expect(executor).to_not receive(:execute).with('git', 'pull', 'origin', 'main', '--no-rebase')
expect(executor).to_not receive(:execute).with('git', 'merge', '--no-ff', '--message', "[gitx] Release feature-branch to main\n\nConnected to #10", 'feature-branch')
expect(executor).to_not receive(:execute).with('git', 'push', 'origin', 'HEAD')

Expand Down Expand Up @@ -254,7 +254,7 @@

expect(executor).to receive(:execute).with('git', 'checkout', 'feature-branch').ordered
expect(executor).to receive(:execute).with('git', 'checkout', 'main').ordered
expect(executor).to receive(:execute).with('git', 'pull', 'origin', 'main').ordered
expect(executor).to receive(:execute).with('git', 'pull', 'origin', 'main', '--no-rebase').ordered
expect(executor).to receive(:execute).with('git', 'merge', '--no-ff', '--message', "[gitx] Release feature-branch to main\n\nConnected to #10", 'feature-branch').ordered
expect(executor).to receive(:execute).with('git', 'push', 'origin', 'HEAD').ordered
expect(executor).to receive(:execute).with('git integrate --skip-pull-request').ordered
Expand Down
16 changes: 8 additions & 8 deletions spec/gitx/cli/start_command_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
context 'when user inputs branch that is valid' do
before do
expect(cli).to receive(:checkout_branch).with('main').ordered
expect(executor).to receive(:execute).with('git', 'pull').ordered
expect(executor).to receive(:execute).with('git', 'pull', '--no-rebase').ordered
expect(repo).to receive(:create_branch).with('new-branch', 'main').ordered
expect(cli).to receive(:checkout_branch).with('new-branch').ordered
expect(executor).to receive(:execute).with('git', 'commit', '--allow-empty', '--message', '[gitx] Start work on new-branch').ordered
Expand All @@ -31,7 +31,7 @@
context 'when user inputs branch with slash' do
before do
expect(cli).to receive(:checkout_branch).with('main').ordered
expect(executor).to receive(:execute).with('git', 'pull').ordered
expect(executor).to receive(:execute).with('git', 'pull', '--no-rebase').ordered
expect(repo).to receive(:create_branch).with('foo/ryan', 'main').ordered
expect(cli).to receive(:checkout_branch).with('foo/ryan').ordered
expect(executor).to receive(:execute).with('git', 'commit', '--allow-empty', '--message', '[gitx] Start work on foo/ryan').ordered
Expand All @@ -47,7 +47,7 @@
expect(cli).to receive(:ask).and_return('new-branch')

expect(cli).to receive(:checkout_branch).with('main').ordered
expect(executor).to receive(:execute).with('git', 'pull').ordered
expect(executor).to receive(:execute).with('git', 'pull', '--no-rebase').ordered
expect(repo).to receive(:create_branch).with('new-branch', 'main').ordered
expect(cli).to receive(:checkout_branch).with('new-branch').ordered
expect(executor).to receive(:execute).with('git', 'commit', '--allow-empty', '--message', '[gitx] Start work on new-branch').ordered
Expand All @@ -63,7 +63,7 @@
expect(cli).to receive(:ask).and_return('new-branch')

expect(cli).to receive(:checkout_branch).with('main').ordered
expect(executor).to receive(:execute).with('git', 'pull').ordered
expect(executor).to receive(:execute).with('git', 'pull', '--no-rebase').ordered
expect(repo).to receive(:create_branch).with('new-branch', 'main').ordered
expect(cli).to receive(:checkout_branch).with('new-branch').ordered
expect(executor).to receive(:execute).with('git', 'commit', '--allow-empty', '--message', '[gitx] Start work on new-branch').ordered
Expand All @@ -82,7 +82,7 @@
expect(cli).to receive(:ask).and_return('new-branch')

expect(cli).to receive(:checkout_branch).with('main').ordered
expect(executor).to receive(:execute).with('git', 'pull').ordered
expect(executor).to receive(:execute).with('git', 'pull', '--no-rebase').ordered
expect(repo).to receive(:create_branch).with('new-branch', 'main').ordered
expect(cli).to receive(:checkout_branch).with('new-branch').ordered
expect(executor).to receive(:execute).with('git', 'commit', '--allow-empty', '--message', '[gitx] Start work on new-branch').ordered
Expand All @@ -101,7 +101,7 @@
expect(cli).to receive(:ask).and_return('new-branch')

expect(cli).to receive(:checkout_branch).with('main').ordered
expect(executor).to receive(:execute).with('git', 'pull').ordered
expect(executor).to receive(:execute).with('git', 'pull', '--no-rebase').ordered
expect(repo).to receive(:create_branch).with('new-branch', 'main').ordered
expect(cli).to receive(:checkout_branch).with('new-branch').ordered
expect(executor).to receive(:execute).with('git', 'commit', '--allow-empty', '--message', '[gitx] Start work on new-branch').ordered
Expand All @@ -120,7 +120,7 @@
end
before do
expect(cli).to receive(:checkout_branch).with('main').ordered
expect(executor).to receive(:execute).with('git', 'pull').ordered
expect(executor).to receive(:execute).with('git', 'pull', '--no-rebase').ordered
expect(repo).to receive(:create_branch).with('new-branch', 'main').ordered
expect(cli).to receive(:checkout_branch).with('new-branch').ordered
expect(executor).to receive(:execute).with('git', 'commit', '--allow-empty', '--message', "[gitx] Start work on new-branch\n\nConnected to #10").ordered
Expand All @@ -139,7 +139,7 @@
end
before do
expect(cli).to receive(:checkout_branch).with('main').ordered
expect(executor).to receive(:execute).with('git', 'pull').ordered
expect(executor).to receive(:execute).with('git', 'pull', '--no-rebase').ordered
expect(repo).to receive(:create_branch).with('new-branch', 'main').ordered
expect(cli).to receive(:checkout_branch).with('new-branch').ordered
expect(executor).to receive(:execute).with('git', 'commit', '--allow-empty', '--message', "[gitx] Start work on new-branch\n\nConnected to FOO-123").ordered
Expand Down
22 changes: 11 additions & 11 deletions spec/gitx/cli/update_command_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@
allow(cli).to receive(:say)

expect(executor).to receive(:execute).with('git', 'checkout', 'main').ordered
expect(executor).to receive(:execute).with('git', 'pull', 'origin', 'main').ordered
expect(executor).to receive(:execute).with('git', 'pull', 'origin', 'main', '--no-rebase').ordered
expect(executor).to receive(:execute).with('git', 'checkout', 'feature-branch').ordered
expect(executor).to receive(:execute).with('git', 'pull', 'origin', 'feature-branch').ordered
expect(executor).to receive(:execute).with('git', 'pull', '.', 'main').ordered
expect(executor).to receive(:execute).with('git', 'pull', 'origin', 'feature-branch', '--no-rebase').ordered
expect(executor).to receive(:execute).with('git', 'pull', '.', 'main', '--no-rebase').ordered
expect(executor).to receive(:execute).with('git', 'share').ordered

cli.update
Expand All @@ -45,9 +45,9 @@
allow(cli).to receive(:say)

expect(executor).to receive(:execute).with('git', 'checkout', 'main').ordered
expect(executor).to receive(:execute).with('git', 'pull', 'origin', 'main').ordered
expect(executor).to receive(:execute).with('git', 'pull', 'origin', 'main', '--no-rebase').ordered
expect(executor).to receive(:execute).with('git', 'checkout', 'feature-branch').ordered
expect(executor).to receive(:execute).with('git', 'pull', 'origin', 'feature-branch').and_raise(Gitx::Executor::ExecutionError).ordered
expect(executor).to receive(:execute).with('git', 'pull', 'origin', 'feature-branch', '--no-rebase').and_raise(Gitx::Executor::ExecutionError).ordered

expect { cli.update }.to raise_error(Gitx::Cli::BaseCommand::MergeError, 'Merge conflict occurred. Please fix merge conflict and rerun the command')
end
Expand All @@ -60,10 +60,10 @@
allow(cli).to receive(:say)

expect(executor).to receive(:execute).with('git', 'checkout', 'main').ordered
expect(executor).to receive(:execute).with('git', 'pull', 'origin', 'main').ordered
expect(executor).to receive(:execute).with('git', 'pull', 'origin', 'main', '--no-rebase').ordered
expect(executor).to receive(:execute).with('git', 'checkout', 'feature-branch').ordered
expect(executor).to receive(:execute).with('git', 'pull', 'origin', 'feature-branch').ordered
expect(executor).to receive(:execute).with('git', 'pull', '.', 'main').and_raise(Gitx::Executor::ExecutionError).ordered
expect(executor).to receive(:execute).with('git', 'pull', 'origin', 'feature-branch', '--no-rebase').ordered
expect(executor).to receive(:execute).with('git', 'pull', '.', 'main', '--no-rebase').and_raise(Gitx::Executor::ExecutionError).ordered

expect { cli.update }.to raise_error(Gitx::Cli::BaseCommand::MergeError, 'Merge conflict occurred. Please fix merge conflict and rerun the command')
end
Expand All @@ -76,11 +76,11 @@
before do
allow(cli).to receive(:say)

expect(executor).not_to receive(:execute).with('git', 'pull', 'origin', 'feature-branch')
expect(executor).not_to receive(:execute).with('git', 'pull', 'origin', 'feature-branch', '--no-rebase')
expect(executor).to receive(:execute).with('git', 'checkout', 'main').ordered
expect(executor).to receive(:execute).with('git', 'pull', 'origin', 'main').ordered
expect(executor).to receive(:execute).with('git', 'pull', 'origin', 'main', '--no-rebase').ordered
expect(executor).to receive(:execute).with('git', 'checkout', 'feature-branch').ordered
expect(executor).to receive(:execute).with('git', 'pull', '.', 'main').ordered
expect(executor).to receive(:execute).with('git', 'pull', '.', 'main', '--no-rebase').ordered
expect(executor).to receive(:execute).with('git', 'share').ordered

cli.update
Expand Down