#ifndef CST_UNDO_H #define CST_UNDO_H #include #ifdef __cplusplus extern "C" { #endif /* Save rel (workspace-relative) once per (session, tag) before it changes. * A missing file is recorded as absent so undo deletes it again. */ int cst_undo_snapshot(const char *ws, const char *sid, const char *tag, const char *rel); /* Roll back the newest tag and drop it. report lists what happened. */ int cst_undo_restore_last(const char *ws, const char *sid, char *report, size_t report_sz); /* Number of turns that can be undone. */ int cst_undo_count(const char *ws, const char *sid); #ifdef __cplusplus } #endif #endif