Project Cardiff want to create a version control tool for binary format files.
This tool can be used to diff difference between file versions, to check what have been modified, save versions and manage versions. Binary format always contains more complex information and hard to be parsed and modified, not like text format can be easy to read, modify, diff and merge. Not all binary formats have the meaning of diffing and controlling the version. So we only want to support homogeneous formats which the content can be visualized or parameterized, such as PNG, PSD, DWG, etc.
- Single Image Format
- .BMP
- .PNG
- .JPG
- .GIF
- Composite Data Format
- .WAV
- .AIF
- Complex Document/Project Format
- .PSD (WIP)
- Complex Document/Project Format
- .DWG
- .DOCX
- .PPTX
- .XLSX
- ....
- Composite Data Format
- ....
- Version Diff
- Diff Visualization
- Diff Parameterization
- Version Merge
- Version Rollback
- Version Branch
- python 2.x
pip install -r requirements.txt
-
Command Line
> python Cardiff.py help Usage: Cardiff.py init <repo_name> Cardiff.py repo <repo> Cardiff.py branch <branch> Cardiff.py commit <file> <message> Cardiff.py checkout <file> <version> Cardiff.py diff <file> <version_1> [<version_2>] Cardiff.py cdiff <file1> <file2> [<output>] Cardiff.py merge <file> <version_1> [<version_2>] Cardiff.py log [<filter>] Cardiff.py clean [<filter>] Cardiff.py conf <config_name> [<config_value>] Cardiff.py info [<information>] Cardiff.py help [<command>]
-
Python Module
from Cardiff import Cardiff # new a cardiff object cardiff = Cardiff() # load settings settings_path = "./settings.json" cardiff.load_settings(settings_path) # execute command cardiff.exec_cmd(["help"]) # or cardiff.cmd_help([])