Versioning
Set of tools helping in versioning projects
---- ENGLISH ---- PyVersioning Required python 2.7 SQLAlchemy
How it works? This program can create and manage version of databases and file system.
In file example.py you must set: Engine with path to versioned project, flag to ignore empty folders, list of regular expressions for files to include and exclude fs_engine = FSVersionerEngine(PROJECT, True, [r'^.py$'], [r'^.\storage\.*$',]) Database and table, where program keeps data about file system, f.e: fs_database = SQLDatabase('postgresql://postgres:postgres@localhost/versioning', 'fs_version') Versioner manager with database, engine and path to file with version information fs_versioner = FSVersionCommander(fs_database, fs_engine, '.version')
command: python example.py fs list action: Shows list of file system versions
command: python example.py fs current/actual/latest action: Shows details about current/actual/latest file system version
command: python example.py fs changed/outdated action: Checks if file system was changed / is outdated
command: python example.py fs del action: Deletes file system version with from database
command: python example.py fs set action: Manually sets file system version [version with name must exist]
command: python example.py fs bump [<level=0>] action: Creates new file system version, raising number depending on actual and [bump 0: 1.2.3 -> 1.2.4; bump 2: 1.2.3 -> 2.0.0]
command: python example.py fs diff [<name1=None> [<name2=--ACTUAL-->]] action: Shows changes between versions with names and
Database, which we want to versioning and db, where program keeps data about versionised fb, f.e: db_versioner = DBVersionCommander('postgresql://postgres:postgres@localhost/vers_test3', 'postgresql://postgres:postgres@localhost/vers_control')
command: python example.py db, python example.py db check action: Check version db.
command: python example.py db create action: Create new version db, if changes will be detected.
---- POLSKI ---- PyVersioning Wymagania: python 2.7 SQLAlchemy
Dzia艂anie: Program pozwala na wersjonowanie schemat贸w baz danych oraz systemu plik贸w.
W pliku example.py nale偶y odpowiednie 艣cie偶ki: Silnik wraz ze 艣cie偶k膮 do versionowanego projektu, flag膮 ignoruj膮c膮 puste foldery, list臋 wyra偶e艅 regularnych by zawrze膰/wykluczy膰 pliki fs_engine = FSVersionerEngine(PROJECT, True, [r'^.py$'], [r'^.\storage\.*$',]) 艢cie偶ka do bazy danych oraz nazwa kolumny w kt贸rej b臋dziemy trzyma膰 dane odno艣nie plik贸w, np: fs_database = SQLDatabase('postgresql://postgres:postgres@localhost/versioning', 'fs_version') Mened偶er wersji z baz膮 danych, silnikiem i 艣cie偶k膮 do pliku z inforamcj膮 o wersji fs_versioner = FSVersionCommander(fs_database, fs_engine, '.version')
komenda: python example.py fs list dzia艂anie: wy艣wietla list臋 wersji systemu plik贸w
komenda: python example.py fs current/actual/latest dzia艂anie: Wy艣wietla szczeg贸艂y odno艣nie bierz膮cej/aktualnej/najnowszej wersji systemu plik贸w
komenda: python example.py fs changed/outdated dzia艂anie: Sprawdza czy system plik贸w uleg艂 zmianie / jest nieaktualny
komenda: python example.py fs del dzia艂anie: Usuwa wersj臋 systemu plik贸w o nazwie z bazy danych
komenda: python example.py fs set dzia艂anie: R臋cznie ustawia wersj臋 systemu plik贸w [wersja o nazwie musi istnie膰 w bazie danych]
komenda: python example.py fs bump [<level=0>] dzia艂anie: Tworzy now膮 wersj臋 systemu plik贸w, podnosz膮c numer w stosunku do aktualnego w zale偶no艣ci od [bump 0: 1.2.3 -> 1.2.4; bump 2: 1.2.3 -> 2.0.0]
komenda: python example.py fs diff [<name1=None> [<name2=--ACTUAL-->]] dzia艂anie: Pokazuje zmiany mi臋dzy wersjami o nazwach i
Pierwsza 艣cie偶ka jest bazy kt贸r膮 chcemy wersjonowa膰, druga do bazy w kt贸rej b臋dziemy trzyam膰 dane.
db_versioner = DBVersionCommander('postgresql://postgres:postgres@localhost/vers_test3', 'postgresql://postgres:postgres@localhost/vers_control')
komenda: python example.py db, python example.py db check dzia艂anie: sprawdza wersje bazy
komenda: python example.py db create dzia艂anie: tworzy now膮 wersje bazy je偶eli wykryje zmiany