Mercurial > public > mercurial-scm > hg
comparison mercurial/scmutil.py @ 45919:aba4f2c97e74
scmutil: try-delete `.hg/store/requires` if store requirements are empty
When downgrading from a shared-safe repository to non-shared-safe repository, we
end up in a case where we had requirements stored in `.hg/store/requires` but no
longer want them there.
Let's explicitly try delete the `.hg/store/requires` file if store requirements
are empty.
Differential Revision: https://phab.mercurial-scm.org/D9357
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Fri, 16 Oct 2020 19:03:09 +0530 |
parents | 8f50dc096cf4 |
children | 89a2afe31e82 |
comparison
equal
deleted
inserted
replaced
45918:ac565222b9f8 | 45919:aba4f2c97e74 |
---|---|
1578 wcreq, storereq = filterrequirements(repo.requirements) | 1578 wcreq, storereq = filterrequirements(repo.requirements) |
1579 if wcreq is not None: | 1579 if wcreq is not None: |
1580 writerequires(repo.vfs, wcreq) | 1580 writerequires(repo.vfs, wcreq) |
1581 if storereq is not None: | 1581 if storereq is not None: |
1582 writerequires(repo.svfs, storereq) | 1582 writerequires(repo.svfs, storereq) |
1583 elif repo.ui.configbool(b'format', b'usestore'): | |
1584 # only remove store requires if we are using store | |
1585 repo.svfs.tryunlink(b'requires') | |
1583 | 1586 |
1584 | 1587 |
1585 def writerequires(opener, requirements): | 1588 def writerequires(opener, requirements): |
1586 with opener(b'requires', b'w', atomictemp=True) as fp: | 1589 with opener(b'requires', b'w', atomictemp=True) as fp: |
1587 for r in sorted(requirements): | 1590 for r in sorted(requirements): |