Mon, 15 Feb 2016 13:20:20 -0800 localrepo: move new repo requirements into standalone function (API)
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 15 Feb 2016 13:20:20 -0800] rev 28164
localrepo: move new repo requirements into standalone function (API) This patch extracts the code for determining requirements for a new repo into a standalone function. By doing so, future code that will perform an in-place repository upgrade (e.g. to generaldelta) can examine the set of proposed new requirements and possibly take additional actions (such as adding dotencode or fncache) when performing the upgrade. This patch is marked as API because _baserequirements (which was added in b090601a80d1 so extensions could override it) has been removed and will presumably impact whatever extension it was added for. Consumers should be able to monkeypatch the new function to achieve the same functionality. The "create" argument has been dropped because the function is only called in one location and "create" is always true in that case. While it makes logical sense for this code to be a method so extensions can implement a custom repo class / method to override it, this won't actually work. This is because requirements determination occurs during localrepository.__init__ and this is before the "reposetup" "callback" is fired. So, the only way for extensions to customize requirements would be to overwrite localrepo.localrepository or to monkeypatch a function on a module during extsetup(). Since we try to keep localrepository small, we use a standalone function. There is probably room to offer extensions a "hook" point to alter repository creation. But that is scope bloat.
Mon, 15 Feb 2016 13:19:07 -0800 localrepo: isolate requirements determination from side effects
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 15 Feb 2016 13:19:07 -0800] rev 28163
localrepo: isolate requirements determination from side effects In preparation for moving requirements determination to its own function.
Sat, 13 Feb 2016 14:42:17 -0800 localrepo: use local variable for requirements assignment
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 13 Feb 2016 14:42:17 -0800] rev 28162
localrepo: use local variable for requirements assignment A future patch will refactor requirements determination into a standalone function. To prepare for this, refactor the requirements code to assign to a local variable instead of to self.requirements.
Tue, 09 Feb 2016 23:35:21 +0000 destutil: ensure we offer 'hg update' hint when not at head in all cases
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 09 Feb 2016 23:35:21 +0000] rev 28161
destutil: ensure we offer 'hg update' hint when not at head in all cases In the merge case, we abort if the working copy is not at head, offering to run 'hg update' in the hint instead. In the rebase case, we do not abort in that case. Yet if no rebase destination are found, it still make sense to hint the user about running 'hg update'. So we re-introduce a conditional using this branch in the 'onheadcheck == False' case. This will get used on rebase use this function.
Mon, 15 Feb 2016 14:35:26 +0000 chg: forward umask from client to server
Jun Wu <quark@fb.com> [Mon, 15 Feb 2016 14:35:26 +0000] rev 28160
chg: forward umask from client to server This is necessary to make chg test pass on test-inherit-mode.t.
Mon, 15 Feb 2016 14:28:17 +0000 chgserver: add setumask method
Jun Wu <quark@fb.com> [Mon, 15 Feb 2016 14:28:17 +0000] rev 28159
chgserver: add setumask method Before this patch, the server won't inherit umask from the client, which will fail test-inherit-mode.t. This patch provides a way for the client to change umask of the server, similar to chdir and setenv.
(0) -10000 -3000 -1000 -300 -100 -30 -10 -6 +6 +10 +30 +100 +300 +1000 +3000 +10000 tip