SVCS - English Documentation
Loading...
Searching...
No Matches
svcs::cli Namespace Reference

Command-line interface components and command implementations. More...

Classes

class  AddCommand
 Implements the "add" command for the Simple Version Control System (SVCS). More...
class  BaseCommand
 Base class for all CLI commands. More...
class  BranchCommand
 Command for managing branches in the version control system. More...
class  ClearCommand
 Command for removing SVCS repository structure. More...
class  CommandFactory
 Factory for creating ICommand objects by their string name. More...
class  HelpCommand
 Command for displaying help information about other commands. More...
class  HelpService
 Service that provides help information for commands. More...
class  HistoryCommand
 Command for viewing the history of saves (commits) in the repository. More...
class  ICommand
 Interface (abstract base class) for all commands executed via the CLI. More...
class  InitCommand
 Implements the "init" command for the Version Control System (VCS). More...
class  MergeCommand
 Command for merging branches in the version control system. More...
class  RemoveCommand
 Command for removing files from the staging area. More...
class  SaveCommand
 Command for saving (committing) staged changes to the repository. More...
class  StatusCommand
 Command for showing the current status of the repository. More...
class  UndoCommand
 Command to revert the repository state to a previous commit. More...
class  VersionCommand
 Command for displaying version information about SVCS. More...

Enumerations

enum class  FileStatus { UNTRACKED , MODIFIED , DELETED , UNMODIFIED }
 Defines the status of a file within the SVCS. More...

Functions

void printDebug (const std::string &message)
 Conditionally prints a debug message to standard output.

Detailed Description

Command-line interface components and command implementations.

Contains all CLI commands that users interact with directly, including AddCommand, CommitCommand, StatusCommand, etc.

Enumeration Type Documentation

◆ FileStatus

enum class svcs::cli::FileStatus
strong

Defines the status of a file within the SVCS.

Enumerator
UNTRACKED 

File is present but not tracked by SVCS.

MODIFIED 

File is tracked and has been modified since the last commit.

DELETED 

File is tracked but has been deleted from the working directory.

UNMODIFIED 

File is tracked and has no changes since the last commit.

Function Documentation

◆ printDebug()

void svcs::cli::printDebug ( const std::string & message)
inline

Conditionally prints a debug message to standard output.

The message is only printed if the DEBUG_MODE macro is defined at the time of compilation. The function is marked as inline to suggest inlining by the compiler, and is compiled to a no-op when DEBUG_MODE is not defined, resulting in zero runtime overhead in release builds.

Parameters
messageThe string message to output, prefixed with "DEBUG: ".