rust/hg-core/src/ancestors.rs
changeset 40832 70976974c14a
parent 40811 e13ab4acf555
child 40863 443eb4bc41af
equal deleted inserted replaced
40831:59aed775610a 40832:70976974c14a
   124             None => {
   124             None => {
   125                 return None;
   125                 return None;
   126             }
   126             }
   127             Some(c) => *c,
   127             Some(c) => *c,
   128         };
   128         };
   129         let parents = self
   129         let (p1, p2) = self
   130             .graph
   130             .graph
   131             .parents(current)
   131             .parents(current)
   132             .unwrap_or((NULL_REVISION, NULL_REVISION));
   132             .unwrap_or((NULL_REVISION, NULL_REVISION));
   133         let p1 = parents.0;
       
   134         if p1 < self.stoprev || self.seen.contains(&p1) {
   133         if p1 < self.stoprev || self.seen.contains(&p1) {
   135             self.visit.pop();
   134             self.visit.pop();
   136         } else {
   135         } else {
   137             *(self.visit.peek_mut().unwrap()) = p1;
   136             *(self.visit.peek_mut().unwrap()) = p1;
   138             self.seen.insert(p1);
   137             self.seen.insert(p1);
   139         };
   138         };
   140 
   139 
   141         self.conditionally_push_rev(parents.1);
   140         self.conditionally_push_rev(p2);
   142         Some(current)
   141         Some(current)
   143     }
   142     }
   144 }
   143 }
   145 
   144 
   146 #[cfg(test)]
   145 #[cfg(test)]