Mercurial > hg
comparison mercurial/localrepo.py @ 24914:cb144bfc61ea
localrepo: make requirements always be a set in localrepo.__init__
The init function used to create a local list, and then convert it to a set
before assigning it as a data attribute. This change simplifies the function by
having it always be a set, requiring no conversion.
author | Drew Gottlieb <drgott@google.com> |
---|---|
date | Tue, 21 Apr 2015 17:16:10 -0700 |
parents | e3a928bd1cd4 |
children | 1c40408770f7 |
comparison
equal
deleted
inserted
replaced
24913:e3a928bd1cd4 | 24914:cb144bfc61ea |
---|---|
240 if not self.vfs.isdir(): | 240 if not self.vfs.isdir(): |
241 if create: | 241 if create: |
242 if not self.wvfs.exists(): | 242 if not self.wvfs.exists(): |
243 self.wvfs.makedirs() | 243 self.wvfs.makedirs() |
244 self.vfs.makedir(notindexed=True) | 244 self.vfs.makedir(notindexed=True) |
245 requirements = self._baserequirements(create) | 245 requirements = set(self._baserequirements(create)) |
246 if self.ui.configbool('format', 'usestore', True): | 246 if self.ui.configbool('format', 'usestore', True): |
247 self.vfs.mkdir("store") | 247 self.vfs.mkdir("store") |
248 requirements.append("store") | 248 requirements.add("store") |
249 if self.ui.configbool('format', 'usefncache', True): | 249 if self.ui.configbool('format', 'usefncache', True): |
250 requirements.append("fncache") | 250 requirements.add("fncache") |
251 if self.ui.configbool('format', 'dotencode', True): | 251 if self.ui.configbool('format', 'dotencode', True): |
252 requirements.append('dotencode') | 252 requirements.add('dotencode') |
253 # create an invalid changelog | 253 # create an invalid changelog |
254 self.vfs.append( | 254 self.vfs.append( |
255 "00changelog.i", | 255 "00changelog.i", |
256 '\0\0\0\2' # represents revlogv2 | 256 '\0\0\0\2' # represents revlogv2 |
257 ' dummy changelog to prevent using the old repo layout' | 257 ' dummy changelog to prevent using the old repo layout' |
258 ) | 258 ) |
259 if self.ui.configbool('format', 'generaldelta', False): | 259 if self.ui.configbool('format', 'generaldelta', False): |
260 requirements.append("generaldelta") | 260 requirements.add("generaldelta") |
261 if self.ui.configbool('experimental', 'manifestv2', False): | 261 if self.ui.configbool('experimental', 'manifestv2', False): |
262 requirements.append("manifestv2") | 262 requirements.add("manifestv2") |
263 requirements = set(requirements) | |
264 else: | 263 else: |
265 raise error.RepoError(_("repository %s not found") % path) | 264 raise error.RepoError(_("repository %s not found") % path) |
266 elif create: | 265 elif create: |
267 raise error.RepoError(_("repository %s already exists") % path) | 266 raise error.RepoError(_("repository %s already exists") % path) |
268 else: | 267 else: |
1826 util.bytecount(total_bytes / elapsed))) | 1825 util.bytecount(total_bytes / elapsed))) |
1827 | 1826 |
1828 # new requirements = old non-format requirements + | 1827 # new requirements = old non-format requirements + |
1829 # new format-related | 1828 # new format-related |
1830 # requirements from the streamed-in repository | 1829 # requirements from the streamed-in repository |
1831 requirements.update(set(self.requirements) - self.supportedformats) | 1830 requirements.update(self.requirements - self.supportedformats) |
1832 self._applyrequirements(requirements) | 1831 self._applyrequirements(requirements) |
1833 self._writerequirements() | 1832 self._writerequirements() |
1834 | 1833 |
1835 if rbranchmap: | 1834 if rbranchmap: |
1836 rbheads = [] | 1835 rbheads = [] |