equal
deleted
inserted
replaced
441 try: |
441 try: |
442 lfdirstate = lfutil.openlfdirstate(ui, repo) |
442 lfdirstate = lfutil.openlfdirstate(ui, repo) |
443 lfiles = set(lfutil.listlfiles(repo)) | set(lfdirstate) |
443 lfiles = set(lfutil.listlfiles(repo)) | set(lfdirstate) |
444 |
444 |
445 if filelist is not None: |
445 if filelist is not None: |
|
446 filelist = set(filelist) |
446 lfiles = [f for f in lfiles if f in filelist] |
447 lfiles = [f for f in lfiles if f in filelist] |
447 |
448 |
448 update = {} |
449 update = {} |
449 updated, removed = 0, 0 |
450 updated, removed = 0, 0 |
450 for lfile in lfiles: |
451 for lfile in lfiles: |
510 |
511 |
511 updated += update1 |
512 updated += update1 |
512 |
513 |
513 lfutil.synclfdirstate(repo, lfdirstate, lfile, normallookup) |
514 lfutil.synclfdirstate(repo, lfdirstate, lfile, normallookup) |
514 |
515 |
|
516 if filelist is not None: |
|
517 # If "local largefile" is chosen at file merging, it is |
|
518 # not listed in "filelist" (= dirstate syncing is |
|
519 # omitted), because the standin file is not changed before and |
|
520 # after merging. |
|
521 # But the status of such files may have to be changed by |
|
522 # merging. For example, locally modified ("M") largefile |
|
523 # has to become re-added("A"), if it is "normal" file in |
|
524 # the target revision of linear-merging. |
|
525 for lfile in lfdirstate: |
|
526 if lfile not in filelist: |
|
527 lfutil.synclfdirstate(repo, lfdirstate, lfile, True) |
|
528 |
515 lfdirstate.write() |
529 lfdirstate.write() |
516 if printmessage and lfiles: |
530 if printmessage and lfiles: |
517 ui.status(_('%d largefiles updated, %d removed\n') % (updated, |
531 ui.status(_('%d largefiles updated, %d removed\n') % (updated, |
518 removed)) |
532 removed)) |
519 finally: |
533 finally: |