D6383: bookmarks: use vfs.tryread() instead of reimplementing it

2019-05-15 Thread martinvonz (Martin von Zweigbergk)
martinvonz created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D6383

AFFECTED FILES
  mercurial/bookmarks.py

CHANGE DETAILS

diff --git a/mercurial/bookmarks.py b/mercurial/bookmarks.py
--- a/mercurial/bookmarks.py
+++ b/mercurial/bookmarks.py
@@ -297,28 +297,12 @@
 itself as we commit. This function returns the name of that bookmark.
 It is stored in .hg/bookmarks.current
 """
-try:
-file = repo.vfs('bookmarks.current')
-except IOError as inst:
-if inst.errno != errno.ENOENT:
-raise
-return None
-try:
-# No readline() in osutil.posixfile, reading everything is
-# cheap.
-# Note that it's possible for readlines() here to raise
-# IOError, since we might be reading the active mark over
-# static-http which only tries to load the file when we try
-# to read from it.
-mark = encoding.tolocal((file.readlines() or [''])[0])
-if mark == '' or mark not in marks:
-mark = None
-except IOError as inst:
-if inst.errno != errno.ENOENT:
-raise
-return None
-finally:
-file.close()
+# No readline() in osutil.posixfile, reading everything is
+# cheap.
+content = repo.vfs.tryread('bookmarks.current')
+mark = encoding.tolocal((content.splitlines() or [''])[0])
+if mark == '' or mark not in marks:
+mark = None
 return mark
 
 def activate(repo, mark):



To: martinvonz, #hg-reviewers
Cc: mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D6383: bookmarks: use vfs.tryread() instead of reimplementing it

2019-05-16 Thread martinvonz (Martin von Zweigbergk)
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG798b27e46971: bookmarks: use vfs.tryread() instead of 
reimplementing it (authored by martinvonz, committed by ).

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D6383?vs=15127&id=15134

REVISION DETAIL
  https://phab.mercurial-scm.org/D6383

AFFECTED FILES
  mercurial/bookmarks.py

CHANGE DETAILS

diff --git a/mercurial/bookmarks.py b/mercurial/bookmarks.py
--- a/mercurial/bookmarks.py
+++ b/mercurial/bookmarks.py
@@ -297,28 +297,12 @@
 itself as we commit. This function returns the name of that bookmark.
 It is stored in .hg/bookmarks.current
 """
-try:
-file = repo.vfs('bookmarks.current')
-except IOError as inst:
-if inst.errno != errno.ENOENT:
-raise
-return None
-try:
-# No readline() in osutil.posixfile, reading everything is
-# cheap.
-# Note that it's possible for readlines() here to raise
-# IOError, since we might be reading the active mark over
-# static-http which only tries to load the file when we try
-# to read from it.
-mark = encoding.tolocal((file.readlines() or [''])[0])
-if mark == '' or mark not in marks:
-mark = None
-except IOError as inst:
-if inst.errno != errno.ENOENT:
-raise
-return None
-finally:
-file.close()
+# No readline() in osutil.posixfile, reading everything is
+# cheap.
+content = repo.vfs.tryread('bookmarks.current')
+mark = encoding.tolocal((content.splitlines() or [''])[0])
+if mark == '' or mark not in marks:
+mark = None
 return mark
 
 def activate(repo, mark):



To: martinvonz, #hg-reviewers, pulkit
Cc: mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel