diff options
Diffstat (limited to 'src/fetch_git.cc')
| -rw-r--r-- | src/fetch_git.cc | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/fetch_git.cc b/src/fetch_git.cc index b8df6bb..6c07e69 100644 --- a/src/fetch_git.cc +++ b/src/fetch_git.cc @@ -1,19 +1,23 @@ #include <cstring> -#include "vars.cc" +#include "fetch_git.hh" +#include "vars.hh" int fetch_git(Pkg pkg) { std::string clone_cmds[] = { - "git -c advice.detachedHead=false clone --depth 1 " + pkg.url + + "git -c advice.detachedHead=false clone --depth=1 " + pkg.url + " " + pkg.src.c_str(), + "git -c advice.detachedHead=false clone " + pkg.url + + " " + pkg.src.c_str(), + "git -c advice.detachedHead=false clone --branch " + pkg.ver + + " --depth=1 " + pkg.url + " " + pkg.src.c_str(), "git -c advice.detachedHead=false clone --branch " + pkg.ver + - " --depth 1 " + pkg.url + " " + pkg.src.c_str() + " " + pkg.url + " " + pkg.src.c_str() }; if (strcmp(pkg.ver.c_str(), "HEAD") == 0) { - if (WEXITSTATUS(system(clone_cmds[0].c_str())) == 0x10) { return 0; } - else { return 1; } + if (system(clone_cmds[0].c_str()) != 0) { system(clone_cmds[1].c_str()); } } else { - if (WEXITSTATUS(system(clone_cmds[1].c_str())) == 0x10) { return 0; } - else { return 1; } + if (system(clone_cmds[2].c_str()) != 0) { system(clone_cmds[3].c_str()); } } + return 0; } |
