colrev.git_repo.GitRepo

class colrev.git_repo.GitRepo(path)[source]

Bases: object

Wrapper for Git repository interactions.

Initialize the instance.

Methods

add_changes

Add changed file to git.

add_setting_changes

Add changes in settings to git.

behind_remote

Check whether the repository is behind the remote.

create_commit

Create a commit (including a commit report).

file_in_history

Check whether a file is in the git history.

get_commit_message

Get the commit message for commit #.

get_last_commit_date

Get the last commit date for a file.

get_last_commit_sha

Get the last commit sha.

get_last_updated

Returns the date of the last update (if available) in YYYY-MM-DD format.

get_remote_url

Get the remote url.

get_tree_hash

Get the current tree hash.

get_untracked_files

Get the files that are untracked by git.

has_changes

Check whether the relative path (or the git repository) has changes.

has_record_changes

Check whether the records have changes.

has_untracked_search_records

Check whether there are untracked search records.

pull_if_repo_clean

Pull project if repository is clean.

records_changed

Check whether the records were changed.

remote_ahead

Check whether the remote is ahead.

repo_initialized

Check whether the repository is initialized.

stash_unstaged_changes

Stash unstaged changes.

update_gitignore

Update the gitignore file by adding or removing particular paths.

add_changes(path, *, remove=False, ignore_missing=False)[source]

Add changed file to git.

Return type:

None

add_setting_changes()[source]

Add changes in settings to git.

Return type:

None

behind_remote()[source]

Check whether the repository is behind the remote.

Return type:

bool

create_commit(*, msg, review_manager, manual_author=False, script_call='', saved_args=None, skip_status_yaml=False, skip_hooks=True)[source]

Create a commit (including a commit report).

Return type:

bool

file_in_history(filepath)[source]

Check whether a file is in the git history.

Return type:

bool

get_commit_message(*, commit_nr)[source]

Get the commit message for commit #.

Return type:

str

get_last_commit_date(filename)[source]

Get the last commit date for a file.

Return type:

str

get_last_commit_sha()[source]

Get the last commit sha.

Return type:

str

get_last_updated(feed_file)[source]

Returns the date of the last update (if available) in YYYY-MM-DD format.

Return type:

str

get_remote_url()[source]

Get the remote url.

Return type:

str

get_tree_hash()[source]

Get the current tree hash.

Return type:

str

get_untracked_files()[source]

Get the files that are untracked by git.

Return type:

list[Path]

has_changes(relative_path, *, change_type='all')[source]

Check whether the relative path (or the git repository) has changes.

Return type:

bool

has_record_changes(*, change_type='all')[source]

Check whether the records have changes.

Return type:

bool

has_untracked_search_records()[source]

Check whether there are untracked search records.

Return type:

bool

pull_if_repo_clean()[source]

Pull project if repository is clean.

Return type:

None

records_changed()[source]

Check whether the records were changed.

Return type:

bool

remote_ahead()[source]

Check whether the remote is ahead.

Return type:

bool

repo_initialized()[source]

Check whether the repository is initialized.

Return type:

bool

stash_unstaged_changes()[source]

Stash unstaged changes.

Return type:

bool

update_gitignore(*, add=None, remove=None)[source]

Update the gitignore file by adding or removing particular paths.

Return type:

None