Details
Details
- Reviewers
durin42 - Group Reviewers
hg-reviewers - Commits
- rHGb9a0de08110e: bookmarks: use context managers for lock and transaction in update()
Diff Detail
Diff Detail
- Repository
- rHG Mercurial
- Lint
Lint Skipped - Unit
Unit Tests Skipped
| durin42 |
| hg-reviewers |
| Lint Skipped |
| Unit Tests Skipped |
| Path | Packages | |||
|---|---|---|---|---|
| M | mercurial/bookmarks.py (8 lines) |
| Status | Author | Revision | |
|---|---|---|---|
| Closed | martinvonz | ||
| Closed | martinvonz | ||
| Closed | martinvonz | ||
| Closed | martinvonz | ||
| Closed | martinvonz | ||
| Closed | martinvonz | ||
| Closed | martinvonz |
| deletefrom = [b.node() for b in divs if b.rev() in anc or b == new] | deletefrom = [b.node() for b in divs if b.rev() in anc or b == new] | ||||
| if validdest(repo, repo[marks[active]], new): | if validdest(repo, repo[marks[active]], new): | ||||
| bmchanges.append((active, new.node())) | bmchanges.append((active, new.node())) | ||||
| for bm in divergent2delete(repo, deletefrom, active): | for bm in divergent2delete(repo, deletefrom, active): | ||||
| bmchanges.append((bm, None)) | bmchanges.append((bm, None)) | ||||
| if bmchanges: | if bmchanges: | ||||
| lock = tr = None | with repo.lock(), repo.transaction('bookmark') as tr: | ||||
| try: | |||||
| lock = repo.lock() | |||||
| tr = repo.transaction('bookmark') | |||||
| marks.applychanges(repo, tr, bmchanges) | marks.applychanges(repo, tr, bmchanges) | ||||
| tr.close() | |||||
| finally: | |||||
| lockmod.release(tr, lock) | |||||
| return bool(bmchanges) | return bool(bmchanges) | ||||
| def listbinbookmarks(repo): | def listbinbookmarks(repo): | ||||
| # We may try to list bookmarks on a repo type that does not | # We may try to list bookmarks on a repo type that does not | ||||
| # support it (e.g., statichttprepository). | # support it (e.g., statichttprepository). | ||||
| marks = getattr(repo, '_bookmarks', {}) | marks = getattr(repo, '_bookmarks', {}) | ||||
| hasnode = repo.changelog.hasnode | hasnode = repo.changelog.hasnode | ||||