```coffeescript
git = require '../git'
OutputView = require './output-view'
BranchListView = require './branch-list-view'

module.exports =
  # Extension of BranchListView
  # Takes the name of the remote to pull from
  class PullBranchListView extends BranchListView
    initialize: (@repo, @data, @remote) ->
      super

    confirmed: ({name}) ->
      @pull(name.split('/')[1])
      @cancel()

    pull: (remoteBranch='') ->
      view = new OutputView()
      remote = @remote
      git.cmd
        args: ['fetch', @remote]
        cwd: @repo.getWorkingDirectory()
        stdout: (data) =>
          if data.toString().length is 0
            git.cmd
              args: ['merge', remote + "/" + remoteBranch]
              cwd: @repo.getWorkingDirectory()
              stdout: (data) -> view.addLine(data.toString())
              stderr: (data) -> view.addLine(data.toString())
              exit: (code) =>
                view.finish()
        stderr: (data) -> view.addLine(data.toString())

    # Once, 'pull' is fixed in Yosemite, revert back to this
    # pull: (remoteBranch='') ->
    #   view = new OutputView()
    #   git.cmd
    #     args: ['pull', @remote, remoteBranch]
    #     stdout: (data) -> view.addLine(data.toString())
    #     stderr: (data) -> view.addLine(data.toString())
    #     exit: (code) => view.finish()
```

Use `git pull` instead of fetch + merge.
user
```coffeescript
git = require '../git'
OutputView = require './output-view'
BranchListView = require './branch-list-view'

module.exports =
  # Extension of BranchListView
  # Takes the name of the remote to pull from
  class PullBranchListView extends BranchListView
    initialize: (@repo, @data, @remote) ->
      super

    confirmed: ({name}) ->
      @pull(name.split('/')[1])
      @cancel()

    pull: (remoteBranch='') ->
      view = new OutputView()
      git.cmd
        args: ['pull', @remote, remoteBranch]
        cwd: @repo.getWorkingDirectory()
        stdout: (data) -> view.addLine(data.toString())
        stderr: (data) -> view.addLine(data.toString())
        exit: (code) => view.finish()
```
assistant