~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/workingtree_4.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2007-04-30 04:29:00 UTC
  • mfrom: (2465.1.4 integration)
  • Revision ID: pqm@pqm.ubuntu.com-20070430042900-o9x8ggxoevt9s9fi
(robertc) Properly compare filesystem paths with absent and renamed entries. (John Arbash Meinel, #110256)

Show diffs side-by-side

added added

removed removed

Lines of Context:
2289
2289
                                           result[7],
2290
2290
                                          )
2291
2291
                            advance_path = False
 
2292
                    elif current_entry[1][target_index][0] in 'ar':
 
2293
                        # The path matches, but the current entry is marked as
 
2294
                        # not being here. So we don't want to consider this
 
2295
                        # as a match. We still need to process the current
 
2296
                        # entry, though.
 
2297
                        advance_path = False
 
2298
                        path_handled = False
 
2299
                        for result in _process_entry(current_entry, None):
 
2300
                            if (include_unchanged
 
2301
                                or result[2]                    # content change
 
2302
                                or result[3][0] != result[3][1] # versioned status
 
2303
                                or result[4][0] != result[4][1] # parent id
 
2304
                                or result[5][0] != result[5][1] # name
 
2305
                                or result[6][0] != result[6][1] # kind
 
2306
                                or result[7][0] != result[7][1] # executable
 
2307
                                ):
 
2308
                                yield (result[0],
 
2309
                                       (utf8_decode_or_none(result[1][0]),
 
2310
                                        utf8_decode_or_none(result[1][1])),
 
2311
                                       result[2],
 
2312
                                       result[3],
 
2313
                                       result[4],
 
2314
                                       (utf8_decode_or_none(result[5][0]),
 
2315
                                        utf8_decode_or_none(result[5][1])),
 
2316
                                       result[6],
 
2317
                                       result[7],
 
2318
                                      )
2292
2319
                    else:
2293
2320
                        for result in _process_entry(current_entry, current_path_info):
2294
2321
                            # this check should probably be outside the loop: one
2295
2322
                            # 'iterate two trees' api, and then _iter_changes filters
2296
2323
                            # unchanged pairs. - RBC 20070226
2297
 
                            if current_entry[1][target_index][0] == 'a':
2298
 
                                advance_path = False
2299
 
                                path_handled = False
2300
 
                            else:
2301
 
                                path_handled = True
 
2324
                            path_handled = True
2302
2325
                            if (include_unchanged
2303
2326
                                or result[2]                    # content change
2304
2327
                                or result[3][0] != result[3][1] # versioned status