in oss/lib/ls.go [737:815]
func (lc *ListCommand) showObjectVersions(lor oss.ListObjectVersionsResult, bucket string, limitedNum *int64, directory bool) int64 {
var num int64
num = 0
for _, object := range lor.ObjectDeleteMarkers {
if *limitedNum == 0 {
break
}
if !doesSingleObjectMatchPatterns(object.Key, lc.filters) {
continue
}
//COMMON-PREFIX LastModifiedTime Size(B) StorageClass ETAG VERSIONID IS-LATEST DELETE-MARKER ObjectName
if directory {
fmt.Printf("%-13t%s%-30s%12d%s%12s%s%-36s%s%-66s%s%-10t%s%-13t%s%s\n",
false, " ",
utcToLocalTime(object.LastModified),
0, " ",
"", " ",
"", " ",
object.VersionId, " ",
object.IsLatest, " ",
true, " ",
CloudURLToString(bucket, object.Key))
} else {
fmt.Printf("%-30s%12d%s%12s%s%-36s%s%-66s%s%-10t%s%-13t%s%s\n",
utcToLocalTime(object.LastModified),
0, " ",
"", " ",
"", " ",
object.VersionId, " ",
object.IsLatest, " ",
true, " ",
CloudURLToString(bucket, object.Key))
}
*limitedNum--
num++
}
for _, object := range lor.ObjectVersions {
if *limitedNum == 0 {
break
}
if !doesSingleObjectMatchPatterns(object.Key, lc.filters) {
continue
}
//COMMON-PREFIX LastModifiedTime Size(B) StorageClass ETAG VERSIONID IS-LATEST DELETE-MARKER ObjectName
if directory {
fmt.Printf("%-13t%s%-30s%12d%s%12s%s%-36s%s%-66s%s%-10t%s%-13t%s%s\n",
false, " ",
utcToLocalTime(object.LastModified),
object.Size, " ",
object.StorageClass, " ",
strings.Trim(object.ETag, "\""), " ",
object.VersionId, " ",
object.IsLatest, " ",
false, " ",
CloudURLToString(bucket, object.Key))
} else {
fmt.Printf("%-30s%12d%s%12s%s%-36s%s%-66s%s%-10t%s%-13t%s%s\n",
utcToLocalTime(object.LastModified),
object.Size, " ",
object.StorageClass, " ",
strings.Trim(object.ETag, "\""), " ",
object.VersionId, " ",
object.IsLatest, " ",
false, " ",
CloudURLToString(bucket, object.Key))
}
*limitedNum--
num++
}
return num
}