code: func (p Path) Compare(other Path) int {
  	i := 0
  	for {
  		switch {
  		case len(other) == len(p) && i == len(p):
  			return 0
  		case i == len(other):
  			return 1
  		case i == len(p):
  			return -1
  		default:
  			// We do *not* normalize Unicode here. CGit doesn't.
  			// https://github.com/src-d/go-git/issues/1057
  			cmp := strings.Compare(p[i].Name(), other[i].Name())
  			if cmp != 0 {
  				return cmp
  			}
  		}
  		i++
  	}
  }
docs: // Compare returns -1, 0 or 1 if the path p is smaller, equal or bigger
  // than other, in "directory order"; for example:
  //
  // "a" < "b"
  // "a/b/c/d/z" < "b"
  // "a/b/a" > "a/b"