equal
deleted
inserted
replaced
2844 node = ctx.node() |
2844 node = ctx.node() |
2845 |
2845 |
2846 mf = ctx.manifest() |
2846 mf = ctx.manifest() |
2847 if node == p2: |
2847 if node == p2: |
2848 parent = p2 |
2848 parent = p2 |
2849 if node == parent: |
|
2850 pmf = mf |
|
2851 else: |
|
2852 pmf = None |
|
2853 |
2849 |
2854 # need all matching names in dirstate and manifest of target rev, |
2850 # need all matching names in dirstate and manifest of target rev, |
2855 # so have to walk both. do not print errors if files exist in one |
2851 # so have to walk both. do not print errors if files exist in one |
2856 # but not other. in both cases, filesets should be evaluated against |
2852 # but not other. in both cases, filesets should be evaluated against |
2857 # workingctx to get consistent result (issue4497). this means 'set:**' |
2853 # workingctx to get consistent result (issue4497). this means 'set:**' |
2962 dsadded = added |
2958 dsadded = added |
2963 |
2959 |
2964 # in case of merge, files that are actually added can be reported as |
2960 # in case of merge, files that are actually added can be reported as |
2965 # modified, we need to post process the result |
2961 # modified, we need to post process the result |
2966 if p2 != nullid: |
2962 if p2 != nullid: |
2967 if pmf is None: |
2963 mergeadd = dsmodified - smf |
2968 # only need parent manifest in the merge case, |
|
2969 # so do not read by default |
|
2970 pmf = repo[parent].manifest() |
|
2971 mergeadd = dsmodified - set(pmf) |
|
2972 dsadded |= mergeadd |
2964 dsadded |= mergeadd |
2973 dsmodified -= mergeadd |
2965 dsmodified -= mergeadd |
2974 |
2966 |
2975 # if f is a rename, update `names` to also revert the source |
2967 # if f is a rename, update `names` to also revert the source |
2976 cwd = repo.getcwd() |
2968 cwd = repo.getcwd() |