D6470: mixedrepostorecache: fix a silly redundant updating of set

2019-05-31 Thread martinvonz (Martin von Zweigbergk)
martinvonz added a comment.


  This is NOT intended for stable

REPOSITORY
  rHG Mercurial

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

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


D6469: bookmarks: use correct store for "ambiguity check"

2019-05-31 Thread martinvonz (Martin von Zweigbergk)
martinvonz added a comment.


  This is meant for the stable branch

REPOSITORY
  rHG Mercurial

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

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


D6469: bookmarks: use correct store for "ambiguity check"

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

REVISION SUMMARY
  I still don't quite know what the check does, but I clearly got it
  wrong in 
https://phab.mercurial-scm.org/rHG526750cdd02d39cc718bc2ab2b89f909d007be4b 
(bookmarks: keep bookmarks in .hg/store if new
  config set, 2019-05-15). Just compare with the strings we use in
  @repofilecache and @storecache. These bugs were then copied to the
  stable branch in 
https://phab.mercurial-scm.org/rHGc2b83c957621b67251e08e75be7805e4227795f6 
(localrepo: grab mixedrepostorecache
  class from 
https://phab.mercurial-scm.org/rHG526750cdd02d39cc718bc2ab2b89f909d007be4b, 
2019-05-20) and 
https://phab.mercurial-scm.org/rHG2338bdea44744312e42632d68bc00491184c748b 
(bookmark: also
  make bookmark cache depends of the changelog, 2019-05-20). As a
  result, test-wireproto-exchangev2.t is flaky on both branches. This
  patch fixes that.

REPOSITORY
  rHG Mercurial

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

AFFECTED FILES
  mercurial/localrepo.py

CHANGE DETAILS

diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -133,10 +133,10 @@
 
 def join(self, obj, fnameandlocation):
 fname, location = fnameandlocation
-if location == '':
+if location == 'plain':
 return obj.vfs.join(fname)
 else:
-if location != 'store':
+if location != '':
 raise error.ProgrammingError('unexpected location: %s' %
  location)
 return obj.sjoin(fname)
@@ -1219,8 +1219,8 @@
 cls = repoview.newtype(self.unfiltered().__class__)
 return cls(self, name, visibilityexceptions)
 
-@mixedrepostorecache(('bookmarks', ''), ('bookmarks.current', ''),
- ('00changelog.i', 'store'))
+@mixedrepostorecache(('bookmarks', 'plain'), ('bookmarks.current', 
'plain'),
+ ('00changelog.i', ''))
 def _bookmarks(self):
 return bookmarks.bmstore(self)
 



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


D6468: narrowspec: replace one recursion-avoidance hack with another

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

REVISION SUMMARY
  When updating the working copy narrowspec, we call context.walk() in
  order to find which files to update the working copy
  with. context.walk() calls repo.narrowmatch(). In order to avoid
  infinite recursion in this case, we have a hack that assigns the new
  values for repo.narrowpats and repo._narrowmatch. However, doing that
  of course breaks future invalidation of those properties (they're
  @storecache'd). Let's instead avoid the infinite recursion by setting
  a flag on the repo instance when we're updating the working copy.

REPOSITORY
  rHG Mercurial

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

AFFECTED FILES
  mercurial/narrowspec.py

CHANGE DETAILS

diff --git a/mercurial/narrowspec.py b/mercurial/narrowspec.py
--- a/mercurial/narrowspec.py
+++ b/mercurial/narrowspec.py
@@ -270,6 +270,9 @@
mctx=repo['.'], overwrite=False)
 
 def checkworkingcopynarrowspec(repo):
+# Avoid infinite recursion when updating the working copy
+if getattr(repo, '_updatingnarrowspec', False):
+return
 storespec = repo.svfs.tryread(FILENAME)
 wcspec = repo.vfs.tryread(DIRSTATE_FILENAME)
 if wcspec != storespec:
@@ -284,6 +287,7 @@
 """
 oldspec = repo.vfs.tryread(DIRSTATE_FILENAME)
 newspec = repo.svfs.tryread(FILENAME)
+repo._updatingnarrowspec = True
 
 oldincludes, oldexcludes = parseconfig(repo.ui, oldspec)
 newincludes, newexcludes = parseconfig(repo.ui, newspec)
@@ -313,10 +317,9 @@
 for f in clean + trackeddirty:
 ds.drop(f)
 
-repo.narrowpats = newincludes, newexcludes
-repo._narrowmatch = newmatch
 pctx = repo['.']
 newfiles = [f for f in pctx.manifest().walk(addedmatch) if f not in ds]
 for f in newfiles:
 ds.normallookup(f)
 _writeaddedfiles(repo, pctx, newfiles)
+repo._updatingnarrowspec = False



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


[Bug 6147] New: Rebase makes a mess when rebasing over upstream changes

2019-05-31 Thread mercurial-bugs
https://bz.mercurial-scm.org/show_bug.cgi?id=6147

Bug ID: 6147
   Summary: Rebase makes a mess when rebasing over upstream
changes
   Product: Mercurial
   Version: 4.9
  Hardware: PC
OS: Linux
Status: UNCONFIRMED
  Severity: feature
  Priority: wish
 Component: rebase
  Assignee: bugzi...@mercurial-scm.org
  Reporter: sph...@gmail.com
CC: mercurial-devel@mercurial-scm.org

I have a stack of 13 draft patches on top of a public revision b37b6c015168. I
pull from upstream, get a bunch of new changesets, the top one is 1adf382a3e65.
The first 8 patches in my stack have landed upstream, so I'm hoping to discard
those in favor of their public versions. I rebase my stack on top of the new
patch:

```
% hg rebase -d 1adf382a3e65
```

(I was updated to the tip of my patch stack.) I do a bunch of manual merging,
then when the rebase is complete it says

```
12 new orphan changesets
```

Uh oh.

I have a detailed log of various things at
https://gist.github.com/hotsphink/a0179e2d4276c454b376b5805a3708aa but I think
the core of the problem can be seen with:

```
% hg lg -r
'693db7f7e53d+c5021e44f9ad+c02c313df219+ccce79792b68+ee9f7a9a7530+b37b6c015168+parents(.)'
 
*693db7f7e53d   Write log of weakmap mark activity when crashing due to
assert weakmap.incremental
|\
@ :  c5021e44f9ad   Bug 1167452 - Add a currentgc() function that returns lots
of info on the internal incremental GC state. r=jonco weakmap.incremental
graveyard.unmarkgray
|\:
* :c02c313df219   Bug 1167452 - Unbarrier lookup for delete r=jonco
weakmap.incremental weak.inc.compartmental
|\ \
+---x  ccce79792b68   Bug 1167452 - Add a currentgc() function that returns
lots of info on the internal incremental GC state. r=jonco weakmap.incremental
x :  ee9f7a9a7530   Bug 1167452 - Unbarrier lookup for delete r=jonco
weakmap.incremental
:/
o  b37b6c015168   Bug 1395509 - Add an alloc policy that tracks malloc memory
associated with GC things r=sfink
```

Why is the working directory a merge?

```
% hg --version
Mercurial Distributed SCM (version 4.9+396-88d4477ac4f6)
```

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D6467: doc: fix description of "predecessors" to match reality

2019-05-31 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger 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/D6467

AFFECTED FILES
  mercurial/templatekw.py

CHANGE DETAILS

diff --git a/mercurial/templatekw.py b/mercurial/templatekw.py
--- a/mercurial/templatekw.py
+++ b/mercurial/templatekw.py
@@ -572,7 +572,7 @@
 
 @templatekeyword("predecessors", requires={'repo', 'ctx'})
 def showpredecessors(context, mapping):
-"""Returns the list of the closest visible successors. (EXPERIMENTAL)"""
+"""Returns the list of the closest visible predecessors. (EXPERIMENTAL)"""
 repo = context.resource(mapping, 'repo')
 ctx = context.resource(mapping, 'ctx')
 predecessors = sorted(obsutil.closestpredecessors(repo, ctx.node()))



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


D6466: help: remove a superfluous "the" in revlogs text

2019-05-31 Thread martinvonz (Martin von Zweigbergk)
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG4ce7cdd78da3: help: remove a superfluous the in 
revlogs text (authored by martinvonz, committed by ).

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D6466?vs=15313=15314

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

AFFECTED FILES
  mercurial/help/internals/revlogs.txt

CHANGE DETAILS

diff --git a/mercurial/help/internals/revlogs.txt 
b/mercurial/help/internals/revlogs.txt
--- a/mercurial/help/internals/revlogs.txt
+++ b/mercurial/help/internals/revlogs.txt
@@ -80,7 +80,7 @@
 
 Following the 32-bit header is the remaining 60 bytes of the first index
 entry. Following that are additional *index* entries. Inlined revision
-data is possibly located between index entries. More on the this inlined
+data is possibly located between index entries. More on this inlined
 layout is described below.
 
 Version 1 Format



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


mercurial@42401: 20 new changesets

2019-05-31 Thread Mercurial Commits
20 new changesets in mercurial:

https://www.mercurial-scm.org/repo/hg/rev/f0bcbbb6541c
changeset:   42382:f0bcbbb6541c
user:Pierre-Yves David 
date:Thu May 23 13:49:31 2019 +0200
summary: perf: allow to specify the base of the merge in perfmergecalculate

https://www.mercurial-scm.org/repo/hg/rev/3a3592b40a95
changeset:   42383:3a3592b40a95
user:Pierre-Yves David 
date:Thu May 23 14:02:01 2019 +0200
summary: perf: factor selection of revisions involved in the merge out

https://www.mercurial-scm.org/repo/hg/rev/f5f0a9490c05
changeset:   42384:f5f0a9490c05
user:Pierre-Yves David 
date:Thu May 23 14:48:02 2019 +0200
summary: perf: add a new `perfmergecopies` command

https://www.mercurial-scm.org/repo/hg/rev/21c436a3a4e8
changeset:   42385:21c436a3a4e8
user:Pierre-Yves David 
date:Thu May 23 18:15:08 2019 +0200
summary: perf: add a `perfhelper-mergecopies` command

https://www.mercurial-scm.org/repo/hg/rev/15d5a2de44aa
changeset:   42386:15d5a2de44aa
user:Kyle Lippincott 
date:Tue May 28 23:22:46 2019 -0700
summary: tests: make run-tests exit non-zero if there are "errors"

https://www.mercurial-scm.org/repo/hg/rev/91452f62dd53
changeset:   42387:91452f62dd53
user:Kyle Lippincott 
date:Tue May 28 16:12:11 2019 -0700
summary: verify: use self._err not self.err, it changed in 7eaf4b1ac2a3

https://www.mercurial-scm.org/repo/hg/rev/04eb3c5607af
changeset:   42388:04eb3c5607af
user:Augie Fackler 
date:Wed May 29 09:55:35 2019 -0400
summary: contrib: fix import-checker to operate on str instead of bytes

https://www.mercurial-scm.org/repo/hg/rev/055687fe4c47
changeset:   42389:055687fe4c47
user:Augie Fackler 
date:Wed May 29 09:56:27 2019 -0400
summary: tests: sort some imports that were previously missed

https://www.mercurial-scm.org/repo/hg/rev/37f38e1dea44
changeset:   42390:37f38e1dea44
user:Augie Fackler 
date:Wed May 29 09:59:35 2019 -0400
summary: testparseutil: stop extracting using std* streams as bytes on py3

https://www.mercurial-scm.org/repo/hg/rev/c2deb2512823
changeset:   42391:c2deb2512823
user:Augie Fackler 
date:Wed May 29 10:00:30 2019 -0400
summary: testparseutil: fix doctest to use str instead of bytes

https://www.mercurial-scm.org/repo/hg/rev/4372d56112c9
changeset:   42392:4372d56112c9
user:Augie Fackler 
date:Wed May 29 10:00:54 2019 -0400
summary: perf: fix some missing b prefixes

https://www.mercurial-scm.org/repo/hg/rev/a84564b1a0b1
changeset:   42393:a84564b1a0b1
user:Nathan Goldbaum 
date:Thu May 23 10:47:10 2019 -0400
summary: help: check if a subtopic exists and raise an error if it doesn't 
(issue6145)

https://www.mercurial-scm.org/repo/hg/rev/ad55a0a5894f
changeset:   42394:ad55a0a5894f
user:Nathan Goldbaum 
date:Thu May 23 11:14:32 2019 -0400
summary: help: include subtopic in error message if passed

https://www.mercurial-scm.org/repo/hg/rev/eddff539f5be
changeset:   42395:eddff539f5be
user:Anton Shestakov 
date:Thu May 30 16:38:42 2019 +0800
summary: githelp: translate --directory of git apply to --prefix

https://www.mercurial-scm.org/repo/hg/rev/37ff80505dfd
changeset:   42396:37ff80505dfd
user:Anton Shestakov 
date:Thu May 30 16:40:34 2019 +0800
summary: githelp: add --dry-run for mv

https://www.mercurial-scm.org/repo/hg/rev/7752cd3a2f83
changeset:   42397:7752cd3a2f83
user:Anton Shestakov 
date:Thu May 30 16:42:38 2019 +0800
summary: githelp: translate git stash show and clear actions and --patch 
flag

https://www.mercurial-scm.org/repo/hg/rev/060ff3396589
changeset:   42398:060ff3396589
user:Kyle Lippincott 
date:Thu May 30 14:14:52 2019 -0700
summary: commit: add test showing that commit --amend --no-edit still shows 
editor

https://www.mercurial-scm.org/repo/hg/rev/64ed405dd342
changeset:   42399:64ed405dd342
user:Kyle Lippincott 
date:Thu May 30 13:57:34 2019 -0700
summary: commit: respect --no-edit in combination with --amend

https://www.mercurial-scm.org/repo/hg/rev/c004340dc687
changeset:   42400:c004340dc687
user:Pulkit Goyal <7895pul...@gmail.com>
date:Wed May 29 21:40:41 2019 +0300
summary: py3: fix test-convert-svn-sink.t

https://www.mercurial-scm.org/repo/hg/rev/bfd65b5e070b
changeset:   42401:bfd65b5e070b
bookmark:@
tag: tip
user:Nathan Goldbaum 
date:Tue May 28 14:39:26 2019 -0400
summary: help: clarify overlap of revlog header and first revlog entry

-- 
Repository URL: https://www.mercurial-scm.org/repo/hg
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D6466: help: remove a superfluous "the" in revlogs text

2019-05-31 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/D6466

AFFECTED FILES
  mercurial/help/internals/revlogs.txt

CHANGE DETAILS

diff --git a/mercurial/help/internals/revlogs.txt 
b/mercurial/help/internals/revlogs.txt
--- a/mercurial/help/internals/revlogs.txt
+++ b/mercurial/help/internals/revlogs.txt
@@ -80,7 +80,7 @@
 
 Following the 32-bit header is the remaining 60 bytes of the first index
 entry. Following that are additional *index* entries. Inlined revision
-data is possibly located between index entries. More on the this inlined
+data is possibly located between index entries. More on this inlined
 layout is described below.
 
 Version 1 Format



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


D2647: setdiscovery: make progress on most connected groups each roundtrip

2019-05-31 Thread martinvonz (Martin von Zweigbergk)
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG5b34972a0094: setdiscovery: make progress on most connected 
groups each roundtrip (authored by martinvonz, committed by ).

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D2647?vs=15210=15312

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

AFFECTED FILES
  mercurial/setdiscovery.py

CHANGE DETAILS

diff --git a/mercurial/setdiscovery.py b/mercurial/setdiscovery.py
--- a/mercurial/setdiscovery.py
+++ b/mercurial/setdiscovery.py
@@ -110,13 +110,14 @@
 (all tracked revisions are known locally)
 """
 
-def __init__(self, repo, targetheads):
+def __init__(self, repo, targetheads, respectsize):
 self._repo = repo
 self._targetheads = targetheads
 self._common = repo.changelog.incrementalmissingrevs()
 self._undecided = None
 self.missing = set()
 self._childrenmap = None
+self._respectsize = respectsize
 
 def addcommons(self, commons):
 """register nodes known as common"""
@@ -241,6 +242,8 @@
 
 # update from roots
 revsroots = set(repo.revs('roots(%ld)', revs))
+if not self._respectsize:
+size = max(size, len(revsroots))
 
 childrenrevs = self._childrengetter()
 
@@ -373,7 +376,7 @@
 
 # full blown discovery
 
-disco = partialdiscovery(local, ownheads)
+disco = partialdiscovery(local, ownheads, remote.limitedarguments)
 # treat remote heads (and maybe own heads) as a first implicit sample
 # response
 disco.addcommons(knownsrvheads)



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


[Bug 6146] New: Grafting .hgtags can lead to tag loss

2019-05-31 Thread mercurial-bugs
https://bz.mercurial-scm.org/show_bug.cgi?id=6146

Bug ID: 6146
   Summary: Grafting .hgtags can lead to tag loss
   Product: Mercurial
   Version: 4.8.1
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: bug
  Priority: normal
 Component: Mercurial
  Assignee: bugzi...@mercurial-scm.org
  Reporter: matt_harbi...@yahoo.com
CC: mercurial-devel@mercurial-scm.org

A repo at work has a few instances where a moficiation to .hgtags has been
grafted somewhere.  In one case where .hgtags had only a handful of entries,
.hgtags from another branch with a lot of entries was grafted over, and the
result was every new tag entry carried over, followed by a deletion line
("00..00 $tag").

It looks like what happened here is this repo was converted from bzr, and
already had several branches.  The convert extension put the .hgtags file on
default, and its descendant served as the graft source.  The destination branch
started from a head back in bzr, so it had .hgtags created from scratch.  We
have `:tagmerge` configured to handle .hgtags patterns.

The odd thing is that a merge in the same direction resulted in all of the tags
being carried over fine, without the deletions.  (I thought graft was just
merge, and then drop the p2 link.)  I'm not sure what the right behavior is
here- either bringing over only the tag changes in the source or everything
like a merge seems OK from a user perspective, but I'm not sure if that keeps
the code that cares about tag ranking happy.  Ignoring it (like rebase's commit
already an ancestor message) seems convenient for selecting a large range, but
maybe there is a use case if stripping the source branch later.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D6369: templatekw: make {file_*} compare to both merge parents (issue4292)

2019-05-31 Thread martinvonz (Martin von Zweigbergk)
martinvonz added a comment.


  Yuya, are you okay with this patch? My other patches don't depend on it, so I 
don't care much from that perspective, but it really feels like a bug fix to me.

REPOSITORY
  rHG Mercurial

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

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


D6440: fix: let fixer tools inherit hg's cwd so they can look at the working copy

2019-05-31 Thread martinvonz (Martin von Zweigbergk)
martinvonz added inline comments.

INLINE COMMENTS

> durin42 wrote in fix.py:106
> Hm. Is {root} in the templater for the command? Maybe have a sample in the 
> test demonstrating that?
> 
> I'm still dubious that cwd is the right thing, simply because it's 
> unpredictable. I could see $(dirname filepath) or repo root as consistent, 
> but cwd feels off to me somehow. I don't feel strongly though, so as long as 
> {root} exists I can get what I need for hg's fixer definitions...

FWIW, I agree that running using cwd-relative path feels wrong.

REPOSITORY
  rHG Mercurial

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

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


D6465: narrowspec: use vfs.tryread() instead of reimplementing

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

REVISION SUMMARY
  Note that parseconfig() works well with empty strings.

REPOSITORY
  rHG Mercurial

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

AFFECTED FILES
  mercurial/narrowspec.py

CHANGE DETAILS

diff --git a/mercurial/narrowspec.py b/mercurial/narrowspec.py
--- a/mercurial/narrowspec.py
+++ b/mercurial/narrowspec.py
@@ -7,8 +7,6 @@
 
 from __future__ import absolute_import
 
-import errno
-
 from .i18n import _
 from . import (
 error,
@@ -145,15 +143,9 @@
 return includepats, excludepats
 
 def load(repo):
-try:
-spec = repo.svfs.read(FILENAME)
-except IOError as e:
-# Treat "narrowspec does not exist" the same as "narrowspec file exists
-# and is empty".
-if e.errno == errno.ENOENT:
-return set(), set()
-raise
-
+# Treat "narrowspec does not exist" the same as "narrowspec file exists
+# and is empty".
+spec = repo.svfs.tryread(FILENAME)
 return parseconfig(repo.ui, spec)
 
 def save(repo, includepats, excludepats):



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


D6449: help: clarify overlap of revlog header and first revlog entry

2019-05-31 Thread ngoldbaum (Nathan Goldbaum)
This revision was automatically updated to reflect the committed changes.
Closed by commit rHGbfd65b5e070b: help: clarify overlap of revlog header and 
first revlog entry (authored by ngoldbaum, committed by ).

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D6449?vs=15277=15310

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

AFFECTED FILES
  mercurial/help/internals/revlogs.txt

CHANGE DETAILS

diff --git a/mercurial/help/internals/revlogs.txt 
b/mercurial/help/internals/revlogs.txt
--- a/mercurial/help/internals/revlogs.txt
+++ b/mercurial/help/internals/revlogs.txt
@@ -28,8 +28,8 @@
 ===
 
 A revlog begins with a 32-bit big endian integer holding version info
-and feature flags. This integer is shared with the first revision
-entry.
+and feature flags. This integer overlaps with the first four bytes of
+the first revision entry.
 
 This integer is logically divided into 2 16-bit shorts. The least
 significant half of the integer is the format/version short. The other
@@ -78,10 +78,10 @@
 00 03 00 01
v1 + inline + generaldelta
 
-Following the 32-bit header is the remainder of the first index entry.
-Following that are remaining *index* data. Inlined revision data is
-possibly located between index entries. More on this layout is described
-below.
+Following the 32-bit header is the remaining 60 bytes of the first index
+entry. Following that are additional *index* entries. Inlined revision
+data is possibly located between index entries. More on the this inlined
+layout is described below.
 
 Version 1 Format
 
@@ -149,8 +149,12 @@
 separate byte container. The offsets from bytes 0-5 and the compressed
 length from bytes 8-11 define how to access this data.
 
-The first 4 bytes of the revlog are shared between the revlog header
-and the 6 byte absolute offset field from the first revlog entry.
+The 6 byte absolute offset field from the first revlog entry overlaps
+with the revlog header. That is, the first 6 bytes of the first revlog
+entry can be split into four bytes containing the header for the revlog
+file and an additional two bytes containing the offset for the first
+entry. Since this is the offset from the beginning of the file for the
+first revision entry, the two bytes will always be set to zero.
 
 Version 2 Format
 



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


D6458: py3: fix test-convert-svn-sink.t

2019-05-31 Thread pulkit (Pulkit Goyal)
This revision was automatically updated to reflect the committed changes.
Closed by commit rHGc004340dc687: py3: fix test-convert-svn-sink.t (authored by 
pulkit, committed by ).

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D6458?vs=15295=15309

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

AFFECTED FILES
  hgext/convert/subversion.py

CHANGE DETAILS

diff --git a/hgext/convert/subversion.py b/hgext/convert/subversion.py
--- a/hgext/convert/subversion.py
+++ b/hgext/convert/subversion.py
@@ -1333,7 +1333,7 @@
 rev = self.commit_re.search(output).group(1)
 except AttributeError:
 if not files:
-return parents[0] if parents else None
+return parents[0] if parents else 'None'
 self.ui.warn(_('unexpected svn output:\n'))
 self.ui.warn(output)
 raise error.Abort(_('unable to cope with svn output'))



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