Добавлена проверка на наличие установленного git в системе
This commit is contained in:
parent
a7676d5886
commit
cc85cdec78
2 changed files with 13 additions and 1 deletions
|
@ -1,6 +1,7 @@
|
||||||
import snag;
|
import snag;
|
||||||
import commandr;
|
import commandr;
|
||||||
import std.file;
|
import std.file;
|
||||||
|
import std.stdio : writeln;
|
||||||
|
|
||||||
import core.stdc.stdlib : EXIT_SUCCESS, EXIT_FAILURE;
|
import core.stdc.stdlib : EXIT_SUCCESS, EXIT_FAILURE;
|
||||||
|
|
||||||
|
@ -8,6 +9,11 @@ private string programName = "snag";
|
||||||
|
|
||||||
int main(string[] args)
|
int main(string[] args)
|
||||||
{
|
{
|
||||||
|
if (!checkGit()) {
|
||||||
|
"Using snag requires Git to be installed".writeln;
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
auto argumets = new Program(programName, snagVersion)
|
auto argumets = new Program(programName, snagVersion)
|
||||||
.add(new Command("init", "Initializing the repository for storing snapshots"))
|
.add(new Command("init", "Initializing the repository for storing snapshots"))
|
||||||
.add(new Command("status", "Checking the status of tracked files"))
|
.add(new Command("status", "Checking the status of tracked files"))
|
||||||
|
@ -83,7 +89,7 @@ int main(string[] args)
|
||||||
}
|
}
|
||||||
|
|
||||||
auto snag = new Snag(config);
|
auto snag = new Snag(config);
|
||||||
import std.stdio;
|
|
||||||
try {
|
try {
|
||||||
argumets
|
argumets
|
||||||
.on("init", init =>
|
.on("init", init =>
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
module snag.lib.lib;
|
module snag.lib.lib;
|
||||||
|
|
||||||
import std.regex;
|
import std.regex;
|
||||||
|
import std.process;
|
||||||
|
|
||||||
bool isValidHash(string hash) {
|
bool isValidHash(string hash) {
|
||||||
auto hashPattern = ctRegex!r"^[a-fA-F0-9]{7}$";
|
auto hashPattern = ctRegex!r"^[a-fA-F0-9]{7}$";
|
||||||
|
@ -11,3 +12,8 @@ bool isValidEmail(string email) {
|
||||||
auto emailPattern = ctRegex!r"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$";
|
auto emailPattern = ctRegex!r"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$";
|
||||||
return !matchFirst(email, emailPattern).empty;
|
return !matchFirst(email, emailPattern).empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool checkGit() {
|
||||||
|
auto result = execute(["which", "git"]);
|
||||||
|
return !result.status;
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue