A simple version control system (VCS) implemented in Python, allowing users to track changes, commit files, and manage repositories in a simple way.
- Initialize a repository in any folder.
- Track changes with
add
andcommit
. - View the commit history and repository status.
- Compare differences between commits or between a working file and its last committed state.
- Get the
mama.exe
file from thedist/
folder or from a shared link. - Place
mama.exe
in a suitable location like:C:\Program Files\mama\
- Press Windows + R and type:
sysdm.cpl
- Go to Advanced → Environment Variables.
- In User Variables, find or create a variable called Path and click Edit.
- Add the directory containing
mama.exe
(e.g.,C:\Program Files\mama\
). - Click OK and restart the terminal to apply the changes.
Once installed, you can run mama
commands from any folder in the terminal.
mama shuru
- Initializes a new repository in the current folder.
- Add a specific file:
mama dhoro <filename>
- Add all files in the current directory:
mama dhoro .
mama rakho "Commit message"
- Saves the staged files as a new commit with the given message.
mama ki_obostha
- Displays the current status of the repository, including staged files.
mama itihas
- Displays the commit log, showing all previous commits with their details.
- Compare a file with its last committed version:
mama alada_ki <filename>
- Compare two specific commits:
mama alada_ki <commit_id_1> <commit_id_2>
-
Initialize the repository:
mama shuru
-
Add files:
mama dhoro example.txt mama dhoro .
-
Commit the changes:
mama rakho "First version"
-
Check the status:
mama ki_obostha
-
View commit history:
mama itihas
-
Compare changes:
mama alada_ki example.txt
-
'mama' is not recognized as a command:
- Ensure the directory containing
mama.exe
is added to the PATH and restart your terminal.
- Ensure the directory containing
-
Permission issues:
- Try running the terminal as Administrator.
-
Repository not initialized:
- Make sure to run:
mama shuru
- This creates the required
.mama
folder to store your repository data.
- Make sure to run:
This project is open-source and free to use.