Explorar el Código

write packages file to tmp so a lost connection doesn't mean corruption

pull/6/head
Tristan Sloughter hace 10 años
padre
commit
4c8db4e047
Se han modificado 1 ficheros con 5 adiciones y 2 borrados
  1. +5
    -2
      src/rebar_prv_update.erl

+ 5
- 2
src/rebar_prv_update.erl Ver fichero

@ -35,11 +35,14 @@ do(State) ->
?INFO("Updating package index...", []),
try
Url = url(State),
TmpDir = ec_file:insecure_mkdtemp(),
TmpFile = filename:join(TmpDir, "packages"),
Home = rebar_utils:home_dir(),
PackagesFile = filename:join([Home, ?CONFIG_DIR, "packages"]),
filelib:ensure_dir(PackagesFile),
{ok, _RequestId} = httpc:request(get, {Url, []}, [], [{stream, PackagesFile}
,{sync, true}])
{ok, _RequestId} = httpc:request(get, {Url, []}, [], [{stream, TmpFile}
,{sync, true}]),
ok = ec_file:copy(TmpFile, PackagesFile)
catch
_:_ ->
{error, {?MODULE, package_index_write}}

Cargando…
Cancelar
Guardar