Python 3.8 emits a SyntaxWarning when a str/bytes contains invalid
\ escapes. Various docstrings in our code base contain invalid
\ escapes.
This commit turns those docstrings into raw strings.
| martinvonz |
| hg-reviewers |
Python 3.8 emits a SyntaxWarning when a str/bytes contains invalid
\ escapes. Various docstrings in our code base contain invalid
\ escapes.
This commit turns those docstrings into raw strings.
| Automatic diff as part of commit; lint not applicable. |
| Automatic diff as part of commit; unit tests not applicable. |
Should we add # skip-blame to this and rest of the series as they are just adding of r'' prefixes?
In D5816#85618, @pulkit wrote:Should we add # skip-blame to this and rest of the series as they are just adding of r'' prefixes?
I'm not sure. If there are \ in the string, adding the r'' can change the value of the string. If we introduce a bug through these changes, using skip-blame will make it harder to find that change. It's probably safe to do though, as we should be able to count on review to find any meaningful value changes.
| Path | Packages | |||
|---|---|---|---|---|
| M | hgext/rebase.py (2 lines) | |||
| M | mercurial/bookmarks.py (2 lines) | |||
| M | mercurial/dagop.py (2 lines) | |||
| M | setup.py (2 lines) |
| # rebasing and its first parent, but *not* | # rebasing and its first parent, but *not* | ||||
| # duplicate any copies that have already been | # duplicate any copies that have already been | ||||
| # performed in the destination. | # performed in the destination. | ||||
| p1rev = repo[rev].p1().rev() | p1rev = repo[rev].p1().rev() | ||||
| copies.duplicatecopies(repo, wctx, rev, p1rev, skiprev=dest) | copies.duplicatecopies(repo, wctx, rev, p1rev, skiprev=dest) | ||||
| return stats | return stats | ||||
| def adjustdest(repo, rev, destmap, state, skipped): | def adjustdest(repo, rev, destmap, state, skipped): | ||||
| """adjust rebase destination given the current rebase state | r"""adjust rebase destination given the current rebase state | ||||
| rev is what is being rebased. Return a list of two revs, which are the | rev is what is being rebased. Return a list of two revs, which are the | ||||
| adjusted destinations for rev's p1 and p2, respectively. If a parent is | adjusted destinations for rev's p1 and p2, respectively. If a parent is | ||||
| nullrev, return dest without adjustment for it. | nullrev, return dest without adjustment for it. | ||||
| For example, when doing rebasing B+E to F, C to G, rebase will first move B | For example, when doing rebasing B+E to F, C to G, rebase will first move B | ||||
| to B1, and E's destination will be adjusted from F to B1. | to B1, and E's destination will be adjusted from F to B1. | ||||
| For core, this just handles wether we should see pending | For core, this just handles wether we should see pending | ||||
| bookmarks or the committed ones. Other extensions (like share) | bookmarks or the committed ones. Other extensions (like share) | ||||
| may need to tweak this behavior further. | may need to tweak this behavior further. | ||||
| """ | """ | ||||
| fp, pending = txnutil.trypending(repo.root, repo.vfs, 'bookmarks') | fp, pending = txnutil.trypending(repo.root, repo.vfs, 'bookmarks') | ||||
| return fp | return fp | ||||
| class bmstore(object): | class bmstore(object): | ||||
| """Storage for bookmarks. | r"""Storage for bookmarks. | ||||
| This object should do all bookmark-related reads and writes, so | This object should do all bookmark-related reads and writes, so | ||||
| that it's fairly simple to replace the storage underlying | that it's fairly simple to replace the storage underlying | ||||
| bookmarks without having to clone the logic surrounding | bookmarks without having to clone the logic surrounding | ||||
| bookmarks. This type also should manage the active bookmark, if | bookmarks. This type also should manage the active bookmark, if | ||||
| any. | any. | ||||
| This particular bmstore implementation stores bookmarks as | This particular bmstore implementation stores bookmarks as | ||||
| pfunc = plainpfunc | pfunc = plainpfunc | ||||
| else: | else: | ||||
| pfunc = lambda rev: [r for r in plainpfunc(rev) if not cutfunc(r)] | pfunc = lambda rev: [r for r in plainpfunc(rev) if not cutfunc(r)] | ||||
| revs = revs.filter(lambda rev: not cutfunc(rev)) | revs = revs.filter(lambda rev: not cutfunc(rev)) | ||||
| return _walkrevtree(pfunc, revs, startdepth, stopdepth, reverse=True) | return _walkrevtree(pfunc, revs, startdepth, stopdepth, reverse=True) | ||||
| def revancestors(repo, revs, followfirst=False, startdepth=None, | def revancestors(repo, revs, followfirst=False, startdepth=None, | ||||
| stopdepth=None, cutfunc=None): | stopdepth=None, cutfunc=None): | ||||
| """Like revlog.ancestors(), but supports additional options, includes | r"""Like revlog.ancestors(), but supports additional options, includes | ||||
| the given revs themselves, and returns a smartset | the given revs themselves, and returns a smartset | ||||
| Scan ends at the stopdepth (exlusive) if specified. Revisions found | Scan ends at the stopdepth (exlusive) if specified. Revisions found | ||||
| earlier than the startdepth are omitted. | earlier than the startdepth are omitted. | ||||
| If cutfunc is provided, it will be used to cut the traversal of the DAG. | If cutfunc is provided, it will be used to cut the traversal of the DAG. | ||||
| When cutfunc(X) returns True, the DAG traversal stops - revision X and | When cutfunc(X) returns True, the DAG traversal stops - revision X and | ||||
| X's ancestors in the traversal path will be skipped. This could be an | X's ancestors in the traversal path will be skipped. This could be an | ||||
| self.hgtarget = os.path.join(dir, 'hg') | self.hgtarget = os.path.join(dir, 'hg') | ||||
| self.compiler.link_executable(objects, self.hgtarget, | self.compiler.link_executable(objects, self.hgtarget, | ||||
| libraries=[], | libraries=[], | ||||
| output_dir=self.build_temp) | output_dir=self.build_temp) | ||||
| if self.long_paths_support: | if self.long_paths_support: | ||||
| self.addlongpathsmanifest() | self.addlongpathsmanifest() | ||||
| def addlongpathsmanifest(self): | def addlongpathsmanifest(self): | ||||
| """Add manifest pieces so that hg.exe understands long paths | r"""Add manifest pieces so that hg.exe understands long paths | ||||
| This is an EXPERIMENTAL feature, use with care. | This is an EXPERIMENTAL feature, use with care. | ||||
| To enable long paths support, one needs to do two things: | To enable long paths support, one needs to do two things: | ||||
| - build Mercurial with --long-paths-support option | - build Mercurial with --long-paths-support option | ||||
| - change HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\ | - change HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\ | ||||
| LongPathsEnabled to have value 1. | LongPathsEnabled to have value 1. | ||||
| Please ignore 'warning 81010002: Unrecognized Element "longPathAware"'; | Please ignore 'warning 81010002: Unrecognized Element "longPathAware"'; | ||||