From b8a96b5fa7ccb6b170b1fb40c5ea4efe4519e568 Mon Sep 17 00:00:00 2001 From: dacctal Date: Mon, 29 Jun 2026 18:29:38 +0000 Subject: initialized rewrite --- src/fetch_git.c | 105 -------------------------------------------------------- 1 file changed, 105 deletions(-) delete mode 100644 src/fetch_git.c (limited to 'src/fetch_git.c') diff --git a/src/fetch_git.c b/src/fetch_git.c deleted file mode 100644 index 2640f9c..0000000 --- a/src/fetch_git.c +++ /dev/null @@ -1,105 +0,0 @@ -/* - - pkgit - package it! - - Copyright (C) 2026 dacctal - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -*/ - -#include -#include -#include -#include -#include - -#include "fetch_git.h" - -#include "lua_state.h" -#include "vars.h" - -int fetch_git(Pkg pkg) { - pid_t pid = fork(); - if (pid == 0) { - if (!is_verbose) { - int nullfd = open("/dev/null", O_WRONLY); - if (nullfd >= 0) { - dup2(nullfd, STDOUT_FILENO); - dup2(nullfd, STDERR_FILENO); - close(nullfd); - } - } - const char *argv[12]; - int i = 0; - argv[i++] = "git"; - argv[i++] = "-c"; - argv[i++] = "advice.detachedHead=false"; - argv[i++] = "clone"; - if (strcmp(pkg.ver, "HEAD") != 0) { - argv[i++] = "--branch"; - argv[i++] = pkg.ver; - } - argv[i++] = "--recursive"; - argv[i++] = "--depth"; - argv[i++] = "1"; - argv[i++] = pkg.url; - argv[i++] = pkg.src; - argv[i] = NULL; - execvp("git", (char *const *)argv); - _exit(127); - } - - int status; - waitpid(pid, &status, 0); - int result = WIFEXITED(status) ? WEXITSTATUS(status) : -1; - if (result != 0) { - pid_t pid = fork(); - if (pid == 0) { - if (!is_verbose) { - int nullfd = open("/dev/null", O_WRONLY); - if (nullfd >= 0) { - dup2(nullfd, STDOUT_FILENO); - dup2(nullfd, STDERR_FILENO); - close(nullfd); - } - } - const char *argv[12]; - int i = 0; - argv[i++] = "git"; - argv[i++] = "-c"; - argv[i++] = "advice.detachedHead=false"; - argv[i++] = "clone"; - if (strcmp(pkg.ver, "HEAD") != 0) { - argv[i++] = "--branch"; - argv[i++] = pkg.ver; - } - argv[i++] = "--recursive"; - argv[i++] = pkg.url; - argv[i++] = pkg.src; - argv[i] = NULL; - execvp("git", (char *const *)argv); - _exit(127); - } - - int status; - waitpid(pid, &status, 0); - result = WIFEXITED(status) ? WEXITSTATUS(status) : -1; - if (result != 0) printf( - "%s git clone failed: %d\n", - print_warning, result - ); - } - - return result; -} \ No newline at end of file -- cgit v1.2.3