support read by blob sha