localrepo: always set the variable r in status method

This is a small patch to help streamline keeping tracking of the list of files
for status in a variable already called 'r' ('s' is for subrepos in this
method). We now move the setting of it out of an 'if' block so that we can
later refactor more code into the context objects.

--HG--
extra : rebase_source : c01a4ac58468c063843629be5844972c8fec976e
basectx: add _manifestmatches method

This method is a duplicate of localrepo.mfmatches and sets the stage for
factoring localrepo.status into a context method that will be customizable
based on inheritance and object type.

--HG--
extra : rebase_source : e4cde83bdad433ec3b3b07e42fb4dd77b8f0786f
localrepo: use _manifestmatches instead of duplicating logic

--HG--
extra : rebase_source : ecfdd07fcdcc5c429693979d505e3caa60316658
localrepo: factor out _manifestmatch logic for workingctx

--HG--
extra : rebase_source : ec6622eb8fa6c48c83ec2e6db51a3e28a1b114b0
localrepo: move the order of local variables

This movement is a small step in getting rid of the 'if ... else' logic for
testing the current working directory with its parent. Previously, the deleted,
unknown, and ignored variables were set in a combination of before an 'if
... else' block and within the block. This moves the variables to be set
outside the loop in one common place.

--HG--
extra : rebase_source : 594f5e85354d4ca151679d5b1e69b47f5bbb2a5d
localrepo: remove workingctx logic already moved to context

--HG--
extra : rebase_source : 6508b8338f1408aac9f756dd1fa7e04201fc1636
context: add _buildstatus method

This method is a copy of localstatus.status's core logic. Later patches will
clean up some of the dense coditionals in the for loop.

--HG--
extra : rebase_source : 185eb63aebac0ed26879a8a97095300af62cf445
extra : amend_source : 37b77dc1d32877191109266b7ff3cf0827ace4fe
localrepo: use _buildstatus from context

--HG--
extra : rebase_source : 62fdebebb7bd5cf8fbd34b060ac69f6e50f4769b
extra : amend_source : addb63f5259be1703aaeb6e7d7757734c8dbd5d6
context: add a no-op _prestatus method

This patch adds a private _prestatus method so that certain contexts, such as
workingctx, can add custom pre-processing to status.

--HG--
extra : rebase_source : 7c41448b1899938f46fac08e2627d6469e7906c5
workingctx: add _prestatus method to call _dirstatestatus

With this patch, we are one step closer to removing 'if ... else' logic in
localrepo.status for testing if the context is the working directory or
not. Future patches will replace those blocks of code with a call to the
context's _prestatus hook so that each context object will do the right thing
depending on the situation.

--HG--
extra : rebase_source : 16552477b8917b7c8d555562f5bdc69bbe173066
localrepo: call _prestatus hook instead of hardcoding dirstate knowledge

--HG--
extra : rebase_source : f75497e67fffa1ea795f4a79991e301a5248e5b5
context: add a no-op _poststatus method

This patch adds a private _poststatus method so that certain contexts, such as
workingctx, can add custom post-processing to status.

--HG--
extra : rebase_source : c1526cdf71cb16a8d94b433749448d504352a41c
workingctx: add _poststatus method to call _filtersuspectsymlink

With this patch, we are one step closer to removing 'if ... else' logic in
localrepo.status for testing if the context is the working directory or
not. Future patches will replace those blocks of code with a call to the
context's _poststatus hook so that each context object will do the right thing
depending on the situation.

--HG--
extra : rebase_source : b91d2f0775c8f17c362875b7f8ecd2947cbe0cfb
localrepo: call _poststatus hook instead of hardcoding symlink knowledge

--HG--
extra : rebase_source : 3b259897ab885d7cc39e506f31474ec81d4d1500
localrepo: remove unneeded unpacking of r

This unpacking is unneeded now because previous patches have removed the need
for this method to modify each of these variables in favor of passing the whole
set around to pre/post hook methods of the corresponding context object.

--HG--
extra : rebase_source : 95945e31bf0085473c7e1aa5ef9a3e1e68fba202
workingctx: use inheritance for _buildstatus while keeping the fastpath

This patch maintains the fast path for workingctx which is to not build a
manifest if the working directory is being compared to its parent since, in
this case, we can just copy the parent manifest.

--HG--
extra : rebase_source : d5d8e9ec79cb075c27c5fb14ea7f83ac13b48628
extra : amend_source : 453b001c12b1bb6f605bb2d0b85fcca06bc2aeee
basectx: add _matchstatus method for factoring out last of parentworking logic

This patch paves the way to allow a workingctx to override the match object
with a custom 'bad' method for cases where status is sent a directory pattern.

--HG--
extra : rebase_source : ef675cc6e2f0e5c99ae5b7b0b2a97a6139e2f773
workingctx: override _matchstatus for parentworking case

This patch encapsulate the logic for changing the match.bad function when
comparing against the working directory's parent. Future patches will remove
more of the 'if ... else' blocks in localrepo.status that test for this working
directory parent case.

--HG--
extra : rebase_source : 297f34427e78f66fc43ea3a3b6f0c7bd3ecb2fbb
localrepo: use _matchstatus of context objects

Now that we have the machinery in place, we call the context method for
changing the match object in the case of comparing the working directory with
its parent.

This removes the last of the hard-coded workingctx knowledge in localrepo
paving the way for us to remove localrepo.status completely.

--HG--
extra : rebase_source : 66a4d6e71b417dc878cba1def9b993e427109a25
tests: tests for the rss feeds

This matches the existing tests for the atom feeds.

--HG--
extra : rebase_source : 919e5e5d8e73ad2af597a2039bc2c368b8948ecc