comparison hgext/largefiles/reposetup.py @ 43077:687b865b95ad

formatting: byteify all mercurial/ and hgext/ string literals Done with python3.7 contrib/byteify-strings.py -i $(hg files 'set:mercurial/**.py - mercurial/thirdparty/** + hgext/**.py - hgext/fsmonitor/pywatchman/** - mercurial/__init__.py') black -l 80 -t py33 -S $(hg files 'set:**.py - mercurial/thirdparty/** - "contrib/python-zstandard/**" - hgext/fsmonitor/pywatchman/**') # skip-blame mass-reformatting only Differential Revision: https://phab.mercurial-scm.org/D6972
author Augie Fackler <augie@google.com>
date Sun, 06 Oct 2019 09:48:39 -0400
parents 2372284d9457
children 0371a8c84827
comparison
equal deleted inserted replaced
43076:2372284d9457 43077:687b865b95ad
82 lfutil.standin(path), fileid, filelog 82 lfutil.standin(path), fileid, filelog
83 ) 83 )
84 else: 84 else:
85 result = orig(lfutil.standin(path), fileid) 85 result = orig(lfutil.standin(path), fileid)
86 olddata = result.data 86 olddata = result.data
87 result.data = lambda: olddata() + '\0' 87 result.data = lambda: olddata() + b'\0'
88 return result 88 return result
89 89
90 ctx.__class__ = lfilesctx 90 ctx.__class__ = lfilesctx
91 return ctx 91 return ctx
92 92
97 # XXX large file status is buggy when used on repo proxy. 97 # XXX large file status is buggy when used on repo proxy.
98 # XXX this needs to be investigated. 98 # XXX this needs to be investigated.
99 @localrepo.unfilteredmethod 99 @localrepo.unfilteredmethod
100 def status( 100 def status(
101 self, 101 self,
102 node1='.', 102 node1=b'.',
103 node2=None, 103 node2=None,
104 match=None, 104 match=None,
105 ignored=False, 105 ignored=False,
106 clean=False, 106 clean=False,
107 unknown=False, 107 unknown=False,
123 # some calls in this function rely on the old version of status 123 # some calls in this function rely on the old version of status
124 self.lfstatus = False 124 self.lfstatus = False
125 ctx1 = self[node1] 125 ctx1 = self[node1]
126 ctx2 = self[node2] 126 ctx2 = self[node2]
127 working = ctx2.rev() is None 127 working = ctx2.rev() is None
128 parentworking = working and ctx1 == self['.'] 128 parentworking = working and ctx1 == self[b'.']
129 129
130 if match is None: 130 if match is None:
131 match = matchmod.always() 131 match = matchmod.always()
132 132
133 wlock = None 133 wlock = None
234 if ( 234 if (
235 lfutil.readasstandin(ctx1[standin]) 235 lfutil.readasstandin(ctx1[standin])
236 != lfutil.hashfile(abslfile) 236 != lfutil.hashfile(abslfile)
237 ) or ( 237 ) or (
238 checkexec 238 checkexec
239 and ('x' in ctx1.flags(standin)) 239 and (b'x' in ctx1.flags(standin))
240 != bool(lfutil.getexecutable(abslfile)) 240 != bool(lfutil.getexecutable(abslfile))
241 ): 241 ):
242 modified.append(lfile) 242 modified.append(lfile)
243 elif listclean: 243 elif listclean:
244 clean.append(lfile) 244 clean.append(lfile)
332 # Before commit, largefile standins have not had their 332 # Before commit, largefile standins have not had their
333 # contents updated to reflect the hash of their largefile. 333 # contents updated to reflect the hash of their largefile.
334 # Do that here. 334 # Do that here.
335 def commit( 335 def commit(
336 self, 336 self,
337 text="", 337 text=b"",
338 user=None, 338 user=None,
339 date=None, 339 date=None,
340 match=None, 340 match=None,
341 force=False, 341 force=False,
342 editor=False, 342 editor=False,
363 def push(self, remote, force=False, revs=None, newbranch=False): 363 def push(self, remote, force=False, revs=None, newbranch=False):
364 if remote.local(): 364 if remote.local():
365 missing = set(self.requirements) - remote.local().supported 365 missing = set(self.requirements) - remote.local().supported
366 if missing: 366 if missing:
367 msg = _( 367 msg = _(
368 "required features are not" 368 b"required features are not"
369 " supported in the destination:" 369 b" supported in the destination:"
370 " %s" 370 b" %s"
371 ) % (', '.join(sorted(missing))) 371 ) % (b', '.join(sorted(missing)))
372 raise error.Abort(msg) 372 raise error.Abort(msg)
373 return super(lfilesrepo, self).push( 373 return super(lfilesrepo, self).push(
374 remote, force=force, revs=revs, newbranch=newbranch 374 remote, force=force, revs=revs, newbranch=newbranch
375 ) 375 )
376 376
391 actualfiles = [] 391 actualfiles = []
392 dirs = [] 392 dirs = []
393 regulars = [] 393 regulars = []
394 394
395 for f in files: 395 for f in files:
396 if lfutil.isstandin(f + '/'): 396 if lfutil.isstandin(f + b'/'):
397 raise error.Abort( 397 raise error.Abort(
398 _('file "%s" is a largefile standin') % f, 398 _(b'file "%s" is a largefile standin') % f,
399 hint='commit the largefile itself instead', 399 hint=b'commit the largefile itself instead',
400 ) 400 )
401 # Scan directories 401 # Scan directories
402 if self.wvfs.isdir(f): 402 if self.wvfs.isdir(f):
403 dirs.append(f) 403 dirs.append(f)
404 else: 404 else:
405 regulars.append(f) 405 regulars.append(f)
406 406
407 for f in dirs: 407 for f in dirs:
408 matcheddir = False 408 matcheddir = False
409 d = self.dirstate.normalize(f) + '/' 409 d = self.dirstate.normalize(f) + b'/'
410 # Check for matched normal files 410 # Check for matched normal files
411 for mf in regulars: 411 for mf in regulars:
412 if self.dirstate.normalize(mf).startswith(d): 412 if self.dirstate.normalize(mf).startswith(d):
413 actualfiles.append(f) 413 actualfiles.append(f)
414 matcheddir = True 414 matcheddir = True
423 # There may still be normal files in the dir, so 423 # There may still be normal files in the dir, so
424 # add a directory to the list, which 424 # add a directory to the list, which
425 # forces status/dirstate to walk all files and 425 # forces status/dirstate to walk all files and
426 # call the match function on the matcher, even 426 # call the match function on the matcher, even
427 # on case sensitive filesystems. 427 # on case sensitive filesystems.
428 actualfiles.append('.') 428 actualfiles.append(b'.')
429 matcheddir = True 429 matcheddir = True
430 # Nothing in dir, so readd it 430 # Nothing in dir, so readd it
431 # and let commit reject it 431 # and let commit reject it
432 if not matcheddir: 432 if not matcheddir:
433 actualfiles.append(f) 433 actualfiles.append(f)
456 toupload = set() 456 toupload = set()
457 addfunc = lambda fn, lfhash: toupload.add(lfhash) 457 addfunc = lambda fn, lfhash: toupload.add(lfhash)
458 lfutil.getlfilestoupload(pushop.repo, lfrevs, addfunc) 458 lfutil.getlfilestoupload(pushop.repo, lfrevs, addfunc)
459 lfcommands.uploadlfiles(ui, pushop.repo, pushop.remote, toupload) 459 lfcommands.uploadlfiles(ui, pushop.repo, pushop.remote, toupload)
460 460
461 repo.prepushoutgoinghooks.add("largefiles", prepushoutgoinghook) 461 repo.prepushoutgoinghooks.add(b"largefiles", prepushoutgoinghook)
462 462
463 def checkrequireslfiles(ui, repo, **kwargs): 463 def checkrequireslfiles(ui, repo, **kwargs):
464 if 'largefiles' not in repo.requirements and any( 464 if b'largefiles' not in repo.requirements and any(
465 lfutil.shortname + '/' in f[0] for f in repo.store.datafiles() 465 lfutil.shortname + b'/' in f[0] for f in repo.store.datafiles()
466 ): 466 ):
467 repo.requirements.add('largefiles') 467 repo.requirements.add(b'largefiles')
468 repo._writerequirements() 468 repo._writerequirements()
469 469
470 ui.setconfig( 470 ui.setconfig(
471 'hooks', 'changegroup.lfiles', checkrequireslfiles, 'largefiles' 471 b'hooks', b'changegroup.lfiles', checkrequireslfiles, b'largefiles'
472 ) 472 )
473 ui.setconfig('hooks', 'commit.lfiles', checkrequireslfiles, 'largefiles') 473 ui.setconfig(b'hooks', b'commit.lfiles', checkrequireslfiles, b'largefiles')