anchor.diff:              load_apps(Apps),
               ok = reread_config(State),
               boot_apps(Apps)
  +    end.
  +
  +setup_name(State) ->
  +    {Opts, _} = rebar_state:command_parsed_args(State),
  +    case {proplists:get_value(name, Opts), proplists:get_value(sname, Opts)} of
  +        {undefined, undefined} ->
  +            ok;
  +        {Name, undefined} ->
  +            net_kernel:start([Name, longnames]);
  +        {undefined, SName} ->
  +            net_kernel:start([SName, shortnames]);
  +        {_, _} ->
  +            ?ABORT("Cannot have both short and long node names defined", [])
       end.
   
   find_apps_to_boot(State) ->
  
positive.code: %% immediately kill the script. ctrl-g, however, works fine
  
  shell(State) ->
      setup_paths(State),
      maybe_boot_apps(State),
      setup_shell(),
  
negative.code:      end || App <- Apps,
              not lists:keymember(App, 1, application:loaded_applications())],
      ok.
  
  reread_config(State) ->
      case find_config(State) of
          no_config ->
              ok;
          ConfigList ->
              _ = [application:set_env(Application, Key, Val)
                    || {Application, Items} <- ConfigList,
                       {Key, Val} <- Items],
              ok
      end.
  
  boot_apps(Apps) ->
      ?WARN("The rebar3 shell is a development tool; to deploy "
  