W5V5TVRD3IDOPMRXOIN2BXIJTCJJ5Z272O7SXDBZ6PBRY24JKOAAC
let mut changes = Vec::new();
let hashes = if self.change_id.is_empty() {
// No change ids were given, present a list of the last 20 changes for choosing
let hashes = txn
.reverse_log(&channel.borrow(), None)
.map(|(_, (h, _))| h)
.take(20)
.collect::<Vec<_>>();
let o = make_changelist(&repo.changes, &hashes)?;
parse_changelist(&edit::edit_bytes(&o[..])?)
.iter()
.map(|h| h.to_base32())
.collect::<_>()
} else {
self.change_id
};