 Chromium Code Reviews
 Chromium Code Reviews Issue 
            1548843002:
    Fix GetCommitIds local deletion case resulting in orphaning of directory entries  (Closed)
    
  
    Issue 
            1548843002:
    Fix GetCommitIds local deletion case resulting in orphaning of directory entries  (Closed) 
  | DescriptionFix GetCommitIds local deletion case resulting in orphaning of directory entries
This fixes filtering of commits in the case when a hierarchy of bookmarks
gets deleted and there is a conflict in the middle of the hierarchy.
Before the fix the folder above the conflicting entry would be still
committed and then subsequently deleted and that would leave the conflicting
entry orphaned and unreachable on both the clint and the server.
The fix provides a better implementation of FilterUnreadyEntries which
removes not only entries that are in direct conflict themselves but also all
other entries dependent on them. For conflicting deleted entries it removes
all deleted folders above them. For conflicting non-deleted folders it removes
all entries below (prior to the fix that was done in the ordering part of the
algorithm).
I've included a new unit test that reproduces the bug condition and
verifies the fix.
BUG=569775
Committed: https://crrev.com/15dfe4497acc9320e7453e38edec62acbf237716
Cr-Commit-Position: refs/heads/master@{#367565}
   Patch Set 1 #Patch Set 2 : Fixed GetCommitIds logic for deleted items #Patch Set 3 : Use int64_t #
      Total comments: 8
      
     Patch Set 4 : Addressed CR feedback #Messages
    Total messages: 14 (7 generated)
     |