Skip to content

Commit 1f49f7d

Browse files
committed
Check remote only members
1 parent 42978fa commit 1f49f7d

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

src/check_synced.rs

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,11 @@ fn check_zulip(data: &Data) -> Result<(), failure::Error> {
2828
.into_iter()
2929
.map(|u| (u.email, u.user_id))
3030
.collect::<HashMap<_, _>>();
31-
let mut checked = HashSet::new();
3231
for (_, local_group) in &data.zulip_groups()? {
3332
match remote_groups.remove(local_group.name()) {
3433
Some(rg) => {
34+
let mut remote_members = rg.members.iter().collect::<HashSet<_>>();
3535
for local_member in local_group.members() {
36-
if checked.contains(local_member) {
37-
continue;
38-
}
39-
4036
let i = match local_member {
4137
ZulipGroupMember::Id(i) => *i,
4238
ZulipGroupMember::Email(e) => match users.get(e) {
@@ -51,14 +47,20 @@ fn check_zulip(data: &Data) -> Result<(), failure::Error> {
5147
continue;
5248
}
5349
};
54-
checked.insert(local_member);
55-
if !rg.members.contains(&i) {
50+
if !remote_members.remove(&i) {
5651
error!(
57-
"Zulip user '{:?}' is not on the remote Zulip user group",
52+
"Zulip user '{:?}' is not in the remote Zulip user group",
5853
local_member
5954
)
6055
}
6156
}
57+
for remote_memember in remote_members {
58+
error!(
59+
"Zulip user '{:?}' is in the remote Zulip user group '{}' but not in the team repo",
60+
remote_memember,
61+
local_group.name()
62+
)
63+
}
6264
}
6365
None => error!(
6466
"User group '{}' is in the team repo but not on Zulip",

0 commit comments

Comments
 (0)