     batch
     |> Batch.changeset(%{state: status, commit: commit, last_polled: now})
     |> Repo.update!()
-    Project.ping!(batch.project_id)
-    status
-  end
-
-  defp start_waiting_merged_batch(_batch, [], _, _) do
-    {:canceled, nil}
-  end
-
-  defp start_waiting_merged_batch(batch, patch_links, base, %{tree: tree}) do
-    repo_conn = get_repo_conn(batch.project)
-    patches = Enum.map(patch_links, &(&1.patch))
-    repo_conn
-    |> Batcher.GetBorsToml.get("#{batch.project.staging_branch}.tmp")
-    |> case do
-      {:ok, toml} ->
-
-        parents = if toml.use_squash_merge do
-          Logger.debug("Commit ID #{inspect(patch_links)}")
-
-          # Create a series of commits by commiting on top of each other
+
+          stmp = "#{batch.project.staging_branch}.tmp2"
+          GitHub.force_push!(repo_conn, base.commit, stmp)
+
           new_head = Enum.reduce(patch_links, base.commit, fn patch_link, prev_head ->
 
             Logger.debug("Patch Link #{inspect(patch_link)}")

            else
              Enum.at(commits, 0).author_email
            end
            cpt = GitHub.create_commit!(
              repo_conn,
              %{
                tree: Enum.at(commits, length(commits)-1).tree_sha,
                parents: [prev_head],
                commit_message: "#{pr.title} (##{pr.number})\n#{pr.body}",
                committer: %{name: user.login, email: user_email}})

              cpt

          end)
          GitHub.delete_branch!(repo_conn, stmp)
          [new_head]
        else
          parents = [base.commit | Enum.map(patch_links, &(&1.patch.commit))]
