MCPcopy Create free account
hub / github.com/ChrisFeldmeier/OpenCodeRust / unrevert

Method unrevert

crates/opencode-session/src/revert.rs:135–160  ·  view source on GitHub ↗
(
        &self,
        session_id: &str,
        manager: &mut SessionManager,
    )

Source from the content-addressed store, hash-verified

133 }
134
135 pub fn unrevert(
136 &self,
137 session_id: &str,
138 manager: &mut SessionManager,
139 ) -> Result<Option<Session>> {
140 let session = match manager.get(session_id) {
141 Some(s) => s.clone(),
142 None => return Ok(None),
143 };
144
145 let revert = match &session.revert {
146 Some(r) => r.clone(),
147 None => return Ok(Some(session)),
148 };
149
150 if let Some(ref snapshot) = revert.snapshot {
151 let _ = Snapshot::restore(&self.worktree, snapshot);
152 }
153
154 if let Some(session) = manager.get_mut(session_id) {
155 session.clear_revert();
156 return Ok(Some(session.clone()));
157 }
158
159 Ok(Some(session))
160 }
161
162 pub fn cleanup(
163 &self,

Callers 1

unrevertFunction · 0.80

Calls 5

restoreFunction · 0.85
clear_revertMethod · 0.80
getMethod · 0.45
cloneMethod · 0.45
get_mutMethod · 0.45

Tested by

no test coverage detected