aboutsummaryrefslogtreecommitdiff
path: root/src/fetch_git.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/fetch_git.cc')
-rw-r--r--src/fetch_git.cc18
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;
}