瀏覽代碼

Merge pull request #2232 from ferd/tsloughter-lock-file-writes

only write lock file if locks have changed
pull/2237/head
Fred Hebert 5 年之前
committed by GitHub
父節點
當前提交
c0d016dddd
沒有發現已知的金鑰在資料庫的簽署中 GPG Key ID: 4AEE18F83AFDEB23
共有 2 個文件被更改,包括 17 次插入1 次删除
  1. +16
    -0
      src/rebar_config.erl
  2. +1
    -1
      src/rebar_prv_lock.erl

+ 16
- 0
src/rebar_config.erl 查看文件

@ -31,6 +31,7 @@
,consult_app_file/1
,consult_file/1
,consult_lock_file/1
,maybe_write_lock_file/3
,write_lock_file/2
,verify_config_format/1
,format_error/1
@ -110,6 +111,21 @@ warn_vsn_once() ->
"upgrade Rebar3.", [])
end.
%% Only call `write_lock_file/2' if the locks have changed.
maybe_write_lock_file(LockFile, Locks, OldLocks) when Locks =/= OldLocks ->
write_lock_file(LockFile, Locks);
maybe_write_lock_file(LockFile, Locks, Locks) ->
%% rewrite if the configured format would have changed
Terms = consult_file_(LockFile),
case Terms of
[] ->
ok;
[{?CONFIG_VERSION, FileLocks}|_] when is_list(FileLocks) ->
ok;
_ ->
write_lock_file(LockFile, Locks)
end.
%% @doc Converts the internal format for locks into the multi-version
%% compatible one used within rebar3 lock files.
%% @end

+ 1
- 1
src/rebar_prv_lock.erl 查看文件

@ -35,7 +35,7 @@ do(State) ->
OldLocks = rebar_state:get(State, {locks, default}, []),
Locks = lists:keysort(1, build_locks(State)),
Dir = rebar_state:dir(State),
rebar_config:write_lock_file(filename:join(Dir, ?LOCK_FILE), Locks),
rebar_config:maybe_write_lock_file(filename:join(Dir, ?LOCK_FILE), Locks, OldLocks),
State1 = rebar_state:set(State, {locks, default}, Locks),
OldLockNames = [element(1,L) || L <- OldLocks],

Loading…
取消
儲存