mirror of
https://github.com/wting/autojump
synced 2024-10-27 20:34:07 +00:00
put temporary data file in the same director as the data file itself
This should make shutil.move use rename, which is atomic, avoiding losing data when interweaving writes happen. This will close joelthelion/autojump#358.
This commit is contained in:
parent
b06d686bfe
commit
bdc91924dd
@ -120,11 +120,12 @@ def migrate_osx_xdg_data(config):
|
||||
|
||||
def save(config, data):
|
||||
"""Save data and create backup, creating a new data file if necessary."""
|
||||
create_dir(os.path.dirname(config['data_path']))
|
||||
data_dir = os.path.dirname(config['data_path'])
|
||||
create_dir(data_dir)
|
||||
|
||||
# atomically save by writing to temporary file and moving to destination
|
||||
try:
|
||||
temp = NamedTemporaryFile(delete=False)
|
||||
temp = NamedTemporaryFile(delete=False, dir=data_dir)
|
||||
# Windows cannot reuse the same open file name
|
||||
temp.close()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user