Share code for repository cloning in tests

Signed-off-by: Michal Čihař <michal@cihar.com>
Cleanup cache after update

Signed-off-by: Michal Čihař <michal@cihar.com>
Implement commiter configuration

Signed-off-by: Michal Čihař <michal@cihar.com>
Implement VCS commit

Signed-off-by: Michal Čihař <michal@cihar.com>
Implement getting object hash

Signed-off-by: Michal Čihař <michal@cihar.com>
Implement remote repository configuration

Signed-off-by: Michal Čihař <michal@cihar.com>
Implement repository configuration

Signed-off-by: Michal Čihař <michal@cihar.com>
Keep locale settings in environment

Signed-off-by: Michal Čihař <michal@cihar.com>
Configure commiter before trying to commit
Support for checking status per file

Signed-off-by: Michal Čihař <michal@cihar.com>
Switch implementation to VCS backend

All VCS interaction should be now in separate module, which will allow
to add support for other VCSs in future.

Fixes #513

Signed-off-by: Michal Čihař <michal@cihar.com>
Make the method public

Signed-off-by: Michal Čihař <michal@cihar.com>
Handle correct exceptions

Signed-off-by: Michal Čihař <michal@cihar.com>
Add bare option to clone

Signed-off-by: Michal Čihař <michal@cihar.com>
Use own git wrapper for testsuite setup

Signed-off-by: Michal Čihař <michal@cihar.com>
Initialize repository if it does not exist

Signed-off-by: Michal Čihař <michal@cihar.com>
Add missing parameters

Signed-off-by: Michal Čihař <michal@cihar.com>
Remove no longer needed gitdate tag

Signed-off-by: Michal Čihař <michal@cihar.com>
Correctly detect bare repositories as well

Signed-off-by: Michal Čihař <michal@cihar.com>
Remove unused imports

Signed-off-by: Michal Čihař <michal@cihar.com>