yuja added a comment.
> > > > extras field. Almost all extras data are texts, and IIRC we
regret that
> > > > transplant sources are stored in binary form.
> > >
> > > Why not? I picked \0 and \n because they won't appear in filenames,
so it's convenient in that way.
> > > > extras field. Almost all extras data are texts, and IIRC we regret
> that
> > > > transplant sources are stored in binary form.
> > >
> > > Why not? I picked \0 and \n because they won't appear in filenames,
> so it's convenient in that way.
> >
> > I don't remember
kevincox accepted this revision.
kevincox added a comment.
I'm not a huge fan of the design of this class because it has a strong
protocol to use correctly. It would probably be better to have 3 classes and
when you apply new information each class transitions into the next one. This
allows
kevincox accepted this revision.
kevincox added inline comments.
INLINE COMMENTS
> dagops.rs:96
> +.iter()
> +.all(|p| *p == NULL_REVISION || !revs.contains(p))
> +{
I think it is more clear to write `.iter().filter(|p| *p !=
NULL_REVISION).all(|p| !revs.contains
kevincox accepted this revision.
kevincox added inline comments.
INLINE COMMENTS
> dagops.rs:140
> +let l = heads_ancestors.len();
> +for i in 1..=l {
> +let rev = heads_ancestors[l - i];
Can you use:
for rev in heads_ancestors.into_iter().rev() {
// ...
}
> dagops.rs: