mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-01-06 16:45:03 +00:00
HackStudio: Add functionality to GitRepo object
Added functionality for: - Original files contents (without the current changes) - Unstaged diffs - Checking whether a file is tracked
This commit is contained in:
@@ -129,4 +129,23 @@ bool GitRepo::commit(const String& message)
|
||||
{
|
||||
return !command({ "commit", "-m", message }).is_null();
|
||||
}
|
||||
|
||||
Optional<String> GitRepo::original_file_content(const LexicalPath& file) const
|
||||
{
|
||||
return command({ "show", String::format("HEAD:%s", file.string().characters()) });
|
||||
}
|
||||
|
||||
Optional<String> GitRepo::unstaged_diff(const LexicalPath& file) const
|
||||
{
|
||||
return command({ "diff", file.string().characters() });
|
||||
}
|
||||
|
||||
bool GitRepo::is_tracked(const LexicalPath& file) const
|
||||
{
|
||||
auto res = command({ "ls-files", file.string() });
|
||||
if (res.is_null())
|
||||
return false;
|
||||
return !res.is_empty();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user