MCPcopy Index your code
hub / github.com/emwalker/digraph / update

Method update

backend/src/git/index.rs:807–840  ·  view source on GitHub ↗
(
        &mut self,
        client: &Client,
        repo_id: RepoId,
        entry: &SearchEntry,
        before: &BTreeSet<Search>,
        after: &BTreeSet<Search>,
    )

Source from the content-addressed store, hash-verified

805 }
806
807 pub fn update(
808 &mut self,
809 client: &Client,
810 repo_id: RepoId,
811 entry: &SearchEntry,
812 before: &BTreeSet<Search>,
813 after: &BTreeSet<Search>,
814 ) -> Result<()> {
815 let removed = before.difference(after);
816 for search in removed {
817 for token in &search.tokens {
818 let key = repo_id.index_key(token)?;
819 self.search_token_index(client, &key)?
820 .remove(entry, token.to_owned())?;
821 }
822 }
823
824 let empty = BTreeSet::new();
825 let before = match self.mode {
826 IndexMode::Replace => &empty,
827 _ => before,
828 };
829
830 let added = after.difference(before);
831 for search in added {
832 for token in &search.tokens {
833 let key = repo_id.index_key(token)?;
834 self.search_token_index(client, &key)?
835 .add(entry, token.to_owned())?;
836 }
837 }
838
839 Ok(())
840 }
841
842 pub fn update_synonyms(
843 &mut self,

Callers 2

save_linkMethod · 0.80
save_topicMethod · 0.80

Calls 4

index_keyMethod · 0.80
search_token_indexMethod · 0.80
removeMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected