cli: List patches by last update
To help users notice changes to patches, make `rad patch` order patches by revision timestamp instead of patch timestamp.
This commit is contained in:
parent
091154faed
commit
3e2cf83f9b
|
|
@ -42,7 +42,7 @@ It will now be listed as one of the project's open patches.
|
|||
```
|
||||
$ rad patch
|
||||
╭──────────────────────────────────────────────────────────────────────────────────────────────╮
|
||||
│ ● ID Title Author Head + - Opened │
|
||||
│ ● ID Title Author Head + - Updated │
|
||||
├──────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ ● de3096d Define power requirements z6MknSL…StBU8Vi (you) 3e674d1 +0 -0 4 months ago │
|
||||
╰──────────────────────────────────────────────────────────────────────────────────────────────╯
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ It will now be listed as one of the project's open patches.
|
|||
```
|
||||
$ rad patch
|
||||
╭──────────────────────────────────────────────────────────────────────────────────────────────╮
|
||||
│ ● ID Title Author Head + - Opened │
|
||||
│ ● ID Title Author Head + - Updated │
|
||||
├──────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ ● 5f0a547 Define power requirements z6Mkt67…v4N1tRk (you) 3e674d1 +0 -0 4 months ago │
|
||||
╰──────────────────────────────────────────────────────────────────────────────────────────────╯
|
||||
|
|
|
|||
|
|
@ -52,17 +52,20 @@ pub fn run(
|
|||
term::format::bold(String::from("Head")).into(),
|
||||
term::format::bold(String::from("+")).into(),
|
||||
term::format::bold(String::from("-")).into(),
|
||||
term::format::bold(String::from("Opened")).into(),
|
||||
term::format::bold(String::from("Updated")).into(),
|
||||
]);
|
||||
table.divider();
|
||||
|
||||
let me = *profile.id();
|
||||
all.sort_by(|(id1, p1), (id2, p2)| {
|
||||
let is_me = (p2.author().id().as_key() == &me).cmp(&(p1.author().id().as_key() == &me));
|
||||
let by_timestamp = p2.timestamp().cmp(&p1.timestamp());
|
||||
let by_id = id1.cmp(id2);
|
||||
let by_rev_time = p2
|
||||
.latest()
|
||||
.map(|(_, r)| r.timestamp())
|
||||
.cmp(&p1.latest().map(|(_, r)| r.timestamp()));
|
||||
|
||||
is_me.then(by_timestamp).then(by_id)
|
||||
is_me.then(by_rev_time).then(by_id)
|
||||
});
|
||||
|
||||
let mut errors = Vec::new();
|
||||
|
|
@ -118,10 +121,15 @@ pub fn row(
|
|||
term::format::secondary(term::format::oid(revision.head())).into(),
|
||||
term::format::positive(format!("+{}", stats.insertions())).into(),
|
||||
term::format::negative(format!("-{}", stats.deletions())).into(),
|
||||
term::format::timestamp(&patch.timestamp())
|
||||
.dim()
|
||||
.italic()
|
||||
.into(),
|
||||
term::format::timestamp(
|
||||
&patch
|
||||
.latest()
|
||||
.map(|(_, r)| r.timestamp())
|
||||
.unwrap_or_default(),
|
||||
)
|
||||
.dim()
|
||||
.italic()
|
||||
.into(),
|
||||
])
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue