mirror of
https://gitlab.redox-os.org/redox-os/redox.git
synced 2026-06-19 11:24:18 +08:00
983 lines
28 KiB
Diff
983 lines
28 KiB
Diff
diff -ru git-2.13.1/apply.c git-2.13.1-new/apply.c
|
|
--- git-2.13.1/apply.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/apply.c 2017-07-05 12:22:03.501240281 -0700
|
|
@@ -449,7 +449,7 @@
|
|
|
|
static int is_dev_null(const char *str)
|
|
{
|
|
- return skip_prefix(str, "/dev/null", &str) && isspace(*str);
|
|
+ return skip_prefix(str, "null:", &str) && isspace(*str);
|
|
}
|
|
|
|
#define TERM_SPACE 1
|
|
@@ -974,7 +974,7 @@
|
|
int len = strlen(*name);
|
|
char *another;
|
|
if (isnull)
|
|
- return error(_("git apply: bad git-diff - expected /dev/null, got %s on line %d"),
|
|
+ return error(_("git apply: bad git-diff - expected null:, got %s on line %d"),
|
|
*name, state->linenr);
|
|
another = find_name(state, line, NULL, state->p_value, TERM_TAB);
|
|
if (!another || memcmp(another, *name, len + 1)) {
|
|
@@ -985,9 +985,9 @@
|
|
}
|
|
free(another);
|
|
} else {
|
|
- /* expect "/dev/null" */
|
|
- if (memcmp("/dev/null", line, 9) || line[9] != '\n')
|
|
- return error(_("git apply: bad git-diff - expected /dev/null on line %d"), state->linenr);
|
|
+ /* expect "null:" */
|
|
+ if (memcmp("null:", line, 9) || line[9] != '\n')
|
|
+ return error(_("git apply: bad git-diff - expected null: on line %d"), state->linenr);
|
|
}
|
|
|
|
return 0;
|
|
diff -ru git-2.13.1/builtin/am.c git-2.13.1-new/builtin/am.c
|
|
--- git-2.13.1/builtin/am.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/builtin/am.c 2017-06-25 15:19:22.550752475 -0700
|
|
@@ -2342,7 +2342,7 @@
|
|
* 1. mbox path(s) are provided on the command-line.
|
|
* 2. stdin is not a tty: the user is trying to feed us a patch
|
|
* from standard input. This is somewhat unreliable -- stdin
|
|
- * could be /dev/null for example and the caller did not
|
|
+ * could be null: for example and the caller did not
|
|
* intend to feed us a patch but wanted to continue
|
|
* unattended.
|
|
*/
|
|
diff -ru git-2.13.1/builtin/diff-tree.c git-2.13.1-new/builtin/diff-tree.c
|
|
--- git-2.13.1/builtin/diff-tree.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/builtin/diff-tree.c 2017-06-25 15:19:22.580752658 -0700
|
|
@@ -83,7 +83,7 @@
|
|
"git diff-tree [--stdin] [-m] [-c] [--cc] [-s] [-v] [--pretty] [-t] [-r] [--root] "
|
|
"[<common-diff-options>] <tree-ish> [<tree-ish>] [<path>...]\n"
|
|
" -r diff recursively\n"
|
|
-" --root include the initial commit as diff against /dev/null\n"
|
|
+" --root include the initial commit as diff against null:\n"
|
|
COMMON_DIFF_OPTIONS_HELP;
|
|
|
|
static void diff_tree_tweak_rev(struct rev_info *rev, struct setup_revision_opt *opt)
|
|
diff -ru git-2.13.1/builtin/fetch.c git-2.13.1-new/builtin/fetch.c
|
|
--- git-2.13.1/builtin/fetch.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/builtin/fetch.c 2017-06-25 15:19:22.587419365 -0700
|
|
@@ -730,7 +730,7 @@
|
|
const char *what, *kind;
|
|
struct ref *rm;
|
|
char *url;
|
|
- const char *filename = dry_run ? "/dev/null" : git_path_fetch_head();
|
|
+ const char *filename = dry_run ? "null:" : git_path_fetch_head();
|
|
int want_status;
|
|
int summary_width = transport_summary_width(ref_map);
|
|
|
|
diff -ru git-2.13.1/builtin/log.c git-2.13.1-new/builtin/log.c
|
|
--- git-2.13.1/builtin/log.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/builtin/log.c 2017-06-25 15:19:22.664086500 -0700
|
|
@@ -308,6 +308,7 @@
|
|
|
|
static void setup_early_output(struct rev_info *rev)
|
|
{
|
|
+#if 0
|
|
struct sigaction sa;
|
|
|
|
/*
|
|
@@ -333,6 +334,7 @@
|
|
early_output_timer.it_value.tv_sec = 0;
|
|
early_output_timer.it_value.tv_usec = 100000;
|
|
setitimer(ITIMER_REAL, &early_output_timer, NULL);
|
|
+#endif
|
|
}
|
|
|
|
static void finish_early_output(struct rev_info *rev)
|
|
diff -ru git-2.13.1/builtin/merge-file.c git-2.13.1-new/builtin/merge-file.c
|
|
--- git-2.13.1/builtin/merge-file.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/builtin/merge-file.c 2017-06-25 15:19:22.604086133 -0700
|
|
@@ -60,8 +60,8 @@
|
|
if (argc != 3)
|
|
usage_with_options(merge_file_usage, options);
|
|
if (quiet) {
|
|
- if (!freopen("/dev/null", "w", stderr))
|
|
- return error_errno("failed to redirect stderr to /dev/null");
|
|
+ if (!freopen("null:", "w", stderr))
|
|
+ return error_errno("failed to redirect stderr to null:");
|
|
}
|
|
|
|
for (i = 0; i < 3; i++) {
|
|
diff -ru git-2.13.1/combine-diff.c git-2.13.1-new/combine-diff.c
|
|
--- git-2.13.1/combine-diff.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/combine-diff.c 2017-06-25 15:19:22.767420465 -0700
|
|
@@ -953,13 +953,13 @@
|
|
return;
|
|
|
|
if (added)
|
|
- dump_quoted_path("--- ", "", "/dev/null",
|
|
+ dump_quoted_path("--- ", "", "null:",
|
|
line_prefix, c_meta, c_reset);
|
|
else
|
|
dump_quoted_path("--- ", a_prefix, elem->path,
|
|
line_prefix, c_meta, c_reset);
|
|
if (deleted)
|
|
- dump_quoted_path("+++ ", "", "/dev/null",
|
|
+ dump_quoted_path("+++ ", "", "null:",
|
|
line_prefix, c_meta, c_reset);
|
|
else
|
|
dump_quoted_path("+++ ", b_prefix, elem->path,
|
|
diff -ru git-2.13.1/common-main.c git-2.13.1-new/common-main.c
|
|
--- git-2.13.1/common-main.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/common-main.c 2017-06-25 15:19:23.000755222 -0700
|
|
@@ -15,12 +15,14 @@
|
|
*/
|
|
static void restore_sigpipe_to_default(void)
|
|
{
|
|
+/*
|
|
sigset_t unblock;
|
|
|
|
sigemptyset(&unblock);
|
|
sigaddset(&unblock, SIGPIPE);
|
|
sigprocmask(SIG_UNBLOCK, &unblock, NULL);
|
|
signal(SIGPIPE, SIG_DFL);
|
|
+*/
|
|
}
|
|
|
|
int main(int argc, const char **argv)
|
|
diff -ru git-2.13.1/compat/hstrerror.c git-2.13.1-new/compat/hstrerror.c
|
|
--- git-2.13.1/compat/hstrerror.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/compat/hstrerror.c 2017-06-25 15:19:22.704086744 -0700
|
|
@@ -5,17 +5,6 @@
|
|
const char *githstrerror(int err)
|
|
{
|
|
static char buffer[48];
|
|
- switch (err)
|
|
- {
|
|
- case HOST_NOT_FOUND:
|
|
- return "Authoritative answer: host not found";
|
|
- case NO_DATA:
|
|
- return "Valid name, no data record of requested type";
|
|
- case NO_RECOVERY:
|
|
- return "Non recoverable errors, FORMERR, REFUSED, NOTIMP";
|
|
- case TRY_AGAIN:
|
|
- return "Non-authoritative \"host not found\", or SERVERFAIL";
|
|
- }
|
|
snprintf(buffer, sizeof(buffer), "Name resolution error %d", err);
|
|
return buffer;
|
|
}
|
|
diff -ru git-2.13.1/compat/mingw.c git-2.13.1-new/compat/mingw.c
|
|
--- git-2.13.1/compat/mingw.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/compat/mingw.c 2017-06-25 15:19:22.697420037 -0700
|
|
@@ -352,7 +352,7 @@
|
|
mode = va_arg(args, int);
|
|
va_end(args);
|
|
|
|
- if (filename && !strcmp(filename, "/dev/null"))
|
|
+ if (filename && !strcmp(filename, "null:"))
|
|
filename = "nul";
|
|
|
|
if (xutftowcs_path(wfilename, filename) < 0)
|
|
@@ -413,7 +413,7 @@
|
|
int hide = needs_hiding(filename);
|
|
FILE *file;
|
|
wchar_t wfilename[MAX_PATH], wotype[4];
|
|
- if (filename && !strcmp(filename, "/dev/null"))
|
|
+ if (filename && !strcmp(filename, "null:"))
|
|
filename = "nul";
|
|
if (xutftowcs_path(wfilename, filename) < 0 ||
|
|
xutftowcs(wotype, otype, ARRAY_SIZE(wotype)) < 0)
|
|
@@ -433,7 +433,7 @@
|
|
int hide = needs_hiding(filename);
|
|
FILE *file;
|
|
wchar_t wfilename[MAX_PATH], wotype[4];
|
|
- if (filename && !strcmp(filename, "/dev/null"))
|
|
+ if (filename && !strcmp(filename, "null:"))
|
|
filename = "nul";
|
|
if (xutftowcs_path(wfilename, filename) < 0 ||
|
|
xutftowcs(wotype, otype, ARRAY_SIZE(wotype)) < 0)
|
|
diff -ru git-2.13.1/compat/poll/poll.c git-2.13.1-new/compat/poll/poll.c
|
|
--- git-2.13.1/compat/poll/poll.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/compat/poll/poll.c 2017-06-25 15:19:22.670753207 -0700
|
|
@@ -302,7 +302,7 @@
|
|
happened |= (POLLIN | POLLRDNORM) & sought;
|
|
|
|
/* Distinguish hung-up sockets from other errors. */
|
|
- else if (socket_errno == ESHUTDOWN || socket_errno == ECONNRESET
|
|
+ else if (socket_errno == ECONNRESET
|
|
|| socket_errno == ECONNABORTED || socket_errno == ENETRESET)
|
|
happened |= POLLHUP;
|
|
|
|
diff -ru git-2.13.1/compat/terminal.c git-2.13.1-new/compat/terminal.c
|
|
--- git-2.13.1/compat/terminal.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/compat/terminal.c 2017-06-25 15:19:22.704086744 -0700
|
|
@@ -3,7 +3,9 @@
|
|
#include "sigchain.h"
|
|
#include "strbuf.h"
|
|
|
|
-#if defined(HAVE_DEV_TTY) || defined(GIT_WINDOWS_NATIVE)
|
|
+ssize_t __getline(char **lptr, size_t *n, FILE *fp);
|
|
+
|
|
+#if 0
|
|
|
|
static void restore_term(void);
|
|
|
|
@@ -141,7 +143,10 @@
|
|
|
|
char *git_terminal_prompt(const char *prompt, int echo)
|
|
{
|
|
- return getpass(prompt);
|
|
+ char *line = NULL;
|
|
+ size_t n = 0;
|
|
+ __getline(&line, &n, stdin);
|
|
+ return line; // XXX leak
|
|
}
|
|
|
|
#endif
|
|
diff -ru git-2.13.1/config.c git-2.13.1-new/config.c
|
|
--- git-2.13.1/config.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/config.c 2017-07-05 12:22:24.064535733 -0700
|
|
@@ -1094,7 +1094,7 @@
|
|
}
|
|
|
|
if (!strcmp(var, "core.packedgitwindowsize")) {
|
|
- int pgsz_x2 = getpagesize() * 2;
|
|
+ int pgsz_x2 = 4096 * 2;
|
|
packed_git_window_size = git_config_ulong(var, value);
|
|
|
|
/* This value must be multiple of (pagesize * 2) */
|
|
diff -ru git-2.13.1/connect.c git-2.13.1-new/connect.c
|
|
--- git-2.13.1/connect.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/connect.c 2017-06-25 16:49:55.499598388 -0700
|
|
@@ -450,14 +450,11 @@
|
|
|
|
he = gethostbyname(host);
|
|
if (!he)
|
|
- die("Unable to look up %s (%s)", host, hstrerror(h_errno));
|
|
+ die("Unable to look up %s (%s)", host, strerror(errno));
|
|
nport = strtoul(port, &ep, 10);
|
|
if ( ep == port || *ep ) {
|
|
/* Not numeric */
|
|
- struct servent *se = getservbyname(port,"tcp");
|
|
- if ( !se )
|
|
- die("Unknown port %s", port);
|
|
- nport = se->s_port;
|
|
+ die("Unknown port %s", port);
|
|
}
|
|
|
|
if (flags & CONNECT_VERBOSE)
|
|
@@ -507,7 +504,7 @@
|
|
int sockfd = git_tcp_connect_sock(host, flags);
|
|
|
|
fd[0] = sockfd;
|
|
- fd[1] = dup(sockfd);
|
|
+ fd[1] = sockfd;
|
|
}
|
|
|
|
|
|
diff -ru git-2.13.1/credential-cache--daemon.c git-2.13.1-new/credential-cache--daemon.c
|
|
--- git-2.13.1/credential-cache--daemon.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/credential-cache--daemon.c 2017-06-25 15:19:23.024088698 -0700
|
|
@@ -156,6 +156,7 @@
|
|
strbuf_release(&action);
|
|
}
|
|
|
|
+#if 0
|
|
static int serve_cache_loop(int fd)
|
|
{
|
|
struct pollfd pfd;
|
|
@@ -209,8 +210,8 @@
|
|
printf("ok\n");
|
|
fclose(stdout);
|
|
if (!debug) {
|
|
- if (!freopen("/dev/null", "w", stderr))
|
|
- die_errno("unable to point stderr to /dev/null");
|
|
+ if (!freopen("null:", "w", stderr))
|
|
+ die_errno("unable to point stderr to null:");
|
|
}
|
|
|
|
while (serve_cache_loop(fd))
|
|
@@ -256,6 +257,7 @@
|
|
|
|
free(path_copy);
|
|
}
|
|
+#endif
|
|
|
|
int cmd_main(int argc, const char **argv)
|
|
{
|
|
@@ -274,6 +276,7 @@
|
|
|
|
git_config_get_bool("credentialcache.ignoresighup", &ignore_sighup);
|
|
|
|
+#if 0
|
|
argc = parse_options(argc, argv, NULL, options, usage, 0);
|
|
socket_path = argv[0];
|
|
|
|
@@ -291,6 +294,9 @@
|
|
|
|
serve_cache(socket_path, debug);
|
|
delete_tempfile(&socket_file);
|
|
+#endif
|
|
+
|
|
+ printf("git-credential-cache--daemon not working on Redox\n");
|
|
|
|
return 0;
|
|
}
|
|
diff -ru git-2.13.1/csum-file.c git-2.13.1-new/csum-file.c
|
|
--- git-2.13.1/csum-file.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/csum-file.c 2017-06-25 15:19:22.777420525 -0700
|
|
@@ -128,9 +128,9 @@
|
|
int sink, check;
|
|
struct sha1file *f;
|
|
|
|
- sink = open("/dev/null", O_WRONLY);
|
|
+ sink = open("null:", O_WRONLY);
|
|
if (sink < 0)
|
|
- die_errno("unable to open /dev/null");
|
|
+ die_errno("unable to open null:");
|
|
check = open(name, O_RDONLY);
|
|
if (check < 0)
|
|
die_errno("unable to open '%s'", name);
|
|
diff -ru git-2.13.1/daemon.c git-2.13.1-new/daemon.c
|
|
--- git-2.13.1/daemon.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/daemon.c 2017-06-25 15:19:23.017421990 -0700
|
|
@@ -71,6 +71,7 @@
|
|
return hi->ip_address.buf;
|
|
}
|
|
|
|
+#if 0
|
|
static void logreport(int priority, const char *err, va_list params)
|
|
{
|
|
if (log_syslog) {
|
|
@@ -89,13 +90,14 @@
|
|
fflush(stderr);
|
|
}
|
|
}
|
|
+#endif
|
|
|
|
__attribute__((format (printf, 1, 2)))
|
|
static void logerror(const char *err, ...)
|
|
{
|
|
va_list params;
|
|
va_start(params, err);
|
|
- logreport(LOG_ERR, err, params);
|
|
+ //logreport(LOG_ERR, err, params);
|
|
va_end(params);
|
|
}
|
|
|
|
@@ -106,13 +108,13 @@
|
|
if (!verbose)
|
|
return;
|
|
va_start(params, err);
|
|
- logreport(LOG_INFO, err, params);
|
|
+ //logreport(LOG_INFO, err, params);
|
|
va_end(params);
|
|
}
|
|
|
|
static void NORETURN daemon_die(const char *err, va_list params)
|
|
{
|
|
- logreport(LOG_ERR, err, params);
|
|
+ //logreport(LOG_ERR, err, params);
|
|
exit(1);
|
|
}
|
|
|
|
@@ -888,8 +890,7 @@
|
|
|
|
if (!reuseaddr)
|
|
return 0;
|
|
- return setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR,
|
|
- &on, sizeof(on));
|
|
+ return 0;
|
|
}
|
|
|
|
struct socketlist {
|
|
@@ -901,7 +902,7 @@
|
|
static const char *ip2str(int family, struct sockaddr *sin, socklen_t len)
|
|
{
|
|
#ifdef NO_IPV6
|
|
- static char ip[INET_ADDRSTRLEN];
|
|
+ static char ip[1];
|
|
#else
|
|
static char ip[INET6_ADDRSTRLEN];
|
|
#endif
|
|
@@ -980,7 +981,7 @@
|
|
close(sockfd);
|
|
continue; /* not fatal */
|
|
}
|
|
- if (listen(sockfd, 5) < 0) {
|
|
+ if (1) {
|
|
logerror("Could not listen to %s: %s",
|
|
ip2str(ai->ai_family, ai->ai_addr, ai->ai_addrlen),
|
|
strerror(errno));
|
|
@@ -1042,7 +1043,7 @@
|
|
return 0;
|
|
}
|
|
|
|
- if (listen(sockfd, 5) < 0) {
|
|
+ if (0) {
|
|
logerror("Could not listen to %s: %s",
|
|
ip2str(AF_INET, (struct sockaddr *)&sin, sizeof(sin)),
|
|
strerror(errno));
|
|
@@ -1080,6 +1081,8 @@
|
|
|
|
static int service_loop(struct socketlist *socklist)
|
|
{
|
|
+ die_errno("No daemon support");
|
|
+#if 0
|
|
struct pollfd *pfd;
|
|
int i;
|
|
|
|
@@ -1116,7 +1119,7 @@
|
|
#endif
|
|
} ss;
|
|
socklen_t sslen = sizeof(ss);
|
|
- int incoming = accept(pfd[i].fd, &ss.sa, &sslen);
|
|
+ int incoming = -1;
|
|
if (incoming < 0) {
|
|
switch (errno) {
|
|
case EAGAIN:
|
|
@@ -1131,6 +1134,7 @@
|
|
}
|
|
}
|
|
}
|
|
+#endif
|
|
}
|
|
|
|
#ifdef NO_POSIX_GOODIES
|
|
@@ -1158,7 +1162,7 @@
|
|
static void drop_privileges(struct credentials *cred)
|
|
{
|
|
if (cred && (initgroups(cred->pass->pw_name, cred->gid) ||
|
|
- setgid (cred->gid) || setuid(cred->pass->pw_uid)))
|
|
+ 1))
|
|
die("cannot drop privileges");
|
|
}
|
|
|
|
@@ -1167,7 +1171,7 @@
|
|
{
|
|
static struct credentials c;
|
|
|
|
- c.pass = getpwnam(user_name);
|
|
+ c.pass = 0;
|
|
if (!c.pass)
|
|
die("user not found - %s", user_name);
|
|
|
|
@@ -1349,7 +1353,7 @@
|
|
}
|
|
|
|
if (log_syslog) {
|
|
- openlog("git-daemon", LOG_PID, LOG_DAEMON);
|
|
+ //openlog("git-daemon", LOG_PID, LOG_DAEMON);
|
|
set_die_routine(daemon_die);
|
|
} else
|
|
/* avoid splitting a message in the middle */
|
|
@@ -1377,8 +1381,8 @@
|
|
base_path);
|
|
|
|
if (inetd_mode) {
|
|
- if (!freopen("/dev/null", "w", stderr))
|
|
- die_errno("failed to redirect stderr to /dev/null");
|
|
+ if (!freopen("null:", "w", stderr))
|
|
+ die_errno("failed to redirect stderr to null:");
|
|
}
|
|
|
|
if (inetd_mode || serve_mode)
|
|
diff -ru git-2.13.1/diff.c git-2.13.1-new/diff.c
|
|
--- git-2.13.1/diff.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/diff.c 2017-06-25 15:19:22.794087293 -0700
|
|
@@ -389,7 +389,7 @@
|
|
/*
|
|
* Keep track of files used for diffing. Sometimes such an entry
|
|
* refers to a temporary file, sometimes to an existing file, and
|
|
- * sometimes to "/dev/null".
|
|
+ * sometimes to "null:".
|
|
*/
|
|
static struct diff_tempfile {
|
|
/*
|
|
@@ -2401,11 +2401,11 @@
|
|
|
|
a_one = quote_two(a_prefix, name_a + (*name_a == '/'));
|
|
b_two = quote_two(b_prefix, name_b + (*name_b == '/'));
|
|
- lbl[0] = DIFF_FILE_VALID(one) ? a_one : "/dev/null";
|
|
- lbl[1] = DIFF_FILE_VALID(two) ? b_two : "/dev/null";
|
|
+ lbl[0] = DIFF_FILE_VALID(one) ? a_one : "null:";
|
|
+ lbl[1] = DIFF_FILE_VALID(two) ? b_two : "null:";
|
|
strbuf_addf(&header, "%s%sdiff --git %s %s%s\n", line_prefix, meta, a_one, b_two, reset);
|
|
if (lbl[0][0] == '/') {
|
|
- /* /dev/null */
|
|
+ /* null: */
|
|
strbuf_addf(&header, "%s%snew file mode %06o%s\n", line_prefix, meta, two->mode, reset);
|
|
if (xfrm_msg)
|
|
strbuf_addstr(&header, xfrm_msg);
|
|
@@ -3000,7 +3000,7 @@
|
|
/* A '-' entry produces this for file-2, and
|
|
* a '+' entry produces this for file-1.
|
|
*/
|
|
- temp->name = "/dev/null";
|
|
+ temp->name = "null:";
|
|
xsnprintf(temp->hex, sizeof(temp->hex), ".");
|
|
xsnprintf(temp->mode, sizeof(temp->mode), ".");
|
|
return temp;
|
|
@@ -3260,7 +3260,7 @@
|
|
|
|
static void strip_prefix(int prefix_length, const char **namep, const char **otherp)
|
|
{
|
|
- /* Strip the prefix but do not molest /dev/null and absolute paths */
|
|
+ /* Strip the prefix but do not molest null: and absolute paths */
|
|
if (*namep && **namep != '/') {
|
|
*namep += prefix_length;
|
|
if (**namep == '/')
|
|
@@ -4630,7 +4630,7 @@
|
|
if (p->one->mode == 0) {
|
|
patch_id_add_string(&ctx, "newfilemode");
|
|
patch_id_add_mode(&ctx, p->two->mode);
|
|
- patch_id_add_string(&ctx, "---/dev/null");
|
|
+ patch_id_add_string(&ctx, "---null:");
|
|
patch_id_add_string(&ctx, "+++b/");
|
|
git_SHA1_Update(&ctx, p->two->path, len2);
|
|
} else if (p->two->mode == 0) {
|
|
@@ -4638,7 +4638,7 @@
|
|
patch_id_add_mode(&ctx, p->one->mode);
|
|
patch_id_add_string(&ctx, "---a/");
|
|
git_SHA1_Update(&ctx, p->one->path, len1);
|
|
- patch_id_add_string(&ctx, "+++/dev/null");
|
|
+ patch_id_add_string(&ctx, "+++null:");
|
|
} else {
|
|
patch_id_add_string(&ctx, "---a/");
|
|
git_SHA1_Update(&ctx, p->one->path, len1);
|
|
@@ -4802,14 +4802,14 @@
|
|
DIFF_OPT_TST(options, DIFF_FROM_CONTENTS)) {
|
|
/*
|
|
* run diff_flush_patch for the exit status. setting
|
|
- * options->file to /dev/null should be safe, because we
|
|
+ * options->file to null: should be safe, because we
|
|
* aren't supposed to produce any output anyway.
|
|
*/
|
|
if (options->close_file)
|
|
fclose(options->file);
|
|
- options->file = fopen("/dev/null", "w");
|
|
+ options->file = fopen("null:", "w");
|
|
if (!options->file)
|
|
- die_errno("Could not open /dev/null");
|
|
+ die_errno("Could not open null:");
|
|
options->close_file = 1;
|
|
for (i = 0; i < q->nr; i++) {
|
|
struct diff_filepair *p = q->queue[i];
|
|
diff -ru git-2.13.1/diff-no-index.c git-2.13.1-new/diff-no-index.c
|
|
--- git-2.13.1/diff-no-index.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/diff-no-index.c 2017-06-25 15:19:22.784087233 -0700
|
|
@@ -44,7 +44,7 @@
|
|
{
|
|
struct stat st;
|
|
|
|
- if (!path || !strcmp(path, "/dev/null"))
|
|
+ if (!path || !strcmp(path, "null:"))
|
|
*mode = 0;
|
|
#ifdef GIT_WINDOWS_NATIVE
|
|
else if (!strcasecmp(path, "nul"))
|
|
@@ -80,7 +80,7 @@
|
|
struct diff_filespec *s;
|
|
|
|
if (!name)
|
|
- name = "/dev/null";
|
|
+ name = "null:";
|
|
s = alloc_filespec(name);
|
|
fill_filespec(s, null_sha1, 0, mode);
|
|
if (name == file_from_standard_input)
|
|
diff -ru git-2.13.1/dir.c git-2.13.1-new/dir.c
|
|
--- git-2.13.1/dir.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/dir.c 2017-06-25 15:19:22.970755039 -0700
|
|
@@ -1891,14 +1891,14 @@
|
|
static const char *get_ident_string(void)
|
|
{
|
|
static struct strbuf sb = STRBUF_INIT;
|
|
- struct utsname uts;
|
|
+ //struct utsname uts;
|
|
|
|
if (sb.len)
|
|
return sb.buf;
|
|
- if (uname(&uts) < 0)
|
|
- die_errno(_("failed to get kernel name and information"));
|
|
+ //if (uname(&uts) < 0)
|
|
+ // die_errno(_("failed to get kernel name and information"));
|
|
strbuf_addf(&sb, "Location %s, system %s", get_git_work_tree(),
|
|
- uts.sysname);
|
|
+ "Redox");
|
|
return sb.buf;
|
|
}
|
|
|
|
diff -ru git-2.13.1/fast-import.c git-2.13.1-new/fast-import.c
|
|
--- git-2.13.1/fast-import.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/fast-import.c 2017-06-25 15:19:23.007421930 -0700
|
|
@@ -531,6 +531,7 @@
|
|
|
|
static void set_checkpoint_signal(void)
|
|
{
|
|
+ /*
|
|
struct sigaction sa;
|
|
|
|
memset(&sa, 0, sizeof(sa));
|
|
@@ -538,6 +539,7 @@
|
|
sigemptyset(&sa.sa_mask);
|
|
sa.sa_flags = SA_RESTART;
|
|
sigaction(SIGUSR1, &sa, NULL);
|
|
+ */
|
|
}
|
|
|
|
#endif
|
|
diff -ru git-2.13.1/git-compat-util.h git-2.13.1-new/git-compat-util.h
|
|
--- git-2.13.1/git-compat-util.h 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/git-compat-util.h 2017-07-24 18:52:23.567535558 -0700
|
|
@@ -179,7 +179,6 @@
|
|
#include <assert.h>
|
|
#include <regex.h>
|
|
#include <utime.h>
|
|
-#include <syslog.h>
|
|
#ifndef NO_SYS_POLL_H
|
|
#include <sys/poll.h>
|
|
#else
|
|
@@ -195,21 +194,16 @@
|
|
#elif defined(_MSC_VER)
|
|
#include "compat/msvc.h"
|
|
#else
|
|
-#include <sys/utsname.h>
|
|
#include <sys/wait.h>
|
|
#include <sys/resource.h>
|
|
#include <sys/socket.h>
|
|
-#include <sys/ioctl.h>
|
|
-#include <termios.h>
|
|
#ifndef NO_SYS_SELECT_H
|
|
#include <sys/select.h>
|
|
#endif
|
|
#include <netinet/in.h>
|
|
-#include <netinet/tcp.h>
|
|
#include <arpa/inet.h>
|
|
#include <netdb.h>
|
|
#include <pwd.h>
|
|
-#include <sys/un.h>
|
|
#ifndef NO_INTTYPES_H
|
|
#include <inttypes.h>
|
|
#else
|
|
@@ -319,9 +313,7 @@
|
|
#define PRIo32 "o"
|
|
#endif
|
|
|
|
-#ifndef PATH_SEP
|
|
-#define PATH_SEP ':'
|
|
-#endif
|
|
+#define PATH_SEP ';'
|
|
|
|
#ifdef HAVE_PATHS_H
|
|
#include <paths.h>
|
|
@@ -1123,4 +1115,7 @@
|
|
|
|
extern int cmd_main(int, const char **);
|
|
|
|
+#define utime(...) 0
|
|
+#define shutdown(...) 0
|
|
+
|
|
#endif
|
|
diff -ru git-2.13.1/ident.c git-2.13.1-new/ident.c
|
|
--- git-2.13.1/ident.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/ident.c 2017-06-25 15:19:22.997421868 -0700
|
|
@@ -33,8 +33,7 @@
|
|
struct passwd *pw;
|
|
|
|
errno = 0;
|
|
- pw = getpwuid(getuid());
|
|
- if (!pw) {
|
|
+ if (1) {
|
|
static struct passwd fallback;
|
|
fallback.pw_name = "unknown";
|
|
#ifndef NO_GECOS_IN_PWENT
|
|
diff -ru git-2.13.1/line-log.c git-2.13.1-new/line-log.c
|
|
--- git-2.13.1/line-log.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/line-log.c 2017-06-25 15:19:22.830754184 -0700
|
|
@@ -900,7 +900,7 @@
|
|
fprintf(opt->file, "%s%sdiff --git a/%s b/%s%s\n", prefix, c_meta, pair->one->path, pair->two->path, c_reset);
|
|
fprintf(opt->file, "%s%s--- %s%s%s\n", prefix, c_meta,
|
|
pair->one->oid_valid ? "a/" : "",
|
|
- pair->one->oid_valid ? pair->one->path : "/dev/null",
|
|
+ pair->one->oid_valid ? pair->one->path : "null:",
|
|
c_reset);
|
|
fprintf(opt->file, "%s%s+++ b/%s%s\n", prefix, c_meta, pair->two->path, c_reset);
|
|
for (i = 0; i < range->ranges.nr; i++) {
|
|
diff -ru git-2.13.1/Makefile git-2.13.1-new/Makefile
|
|
--- git-2.13.1/Makefile 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/Makefile 2017-07-07 19:49:39.730605650 -0700
|
|
@@ -1802,7 +1802,6 @@
|
|
|
|
$(BUILT_INS): git$X
|
|
$(QUIET_BUILT_IN)$(RM) $@ && \
|
|
- ln $< $@ 2>/dev/null || \
|
|
ln -s $< $@ 2>/dev/null || \
|
|
cp $< $@
|
|
|
|
@@ -2096,7 +2095,6 @@
|
|
|
|
$(REMOTE_CURL_ALIASES): $(REMOTE_CURL_PRIMARY)
|
|
$(QUIET_LNCP)$(RM) $@ && \
|
|
- ln $< $@ 2>/dev/null || \
|
|
ln -s $< $@ 2>/dev/null || \
|
|
cp $< $@
|
|
|
|
@@ -2449,14 +2447,12 @@
|
|
for p in $(filter $(install_bindir_programs),$(BUILT_INS)); do \
|
|
$(RM) "$$bindir/$$p" && \
|
|
test -z "$(NO_INSTALL_HARDLINKS)" && \
|
|
- ln "$$bindir/git$X" "$$bindir/$$p" 2>/dev/null || \
|
|
ln -s "git$X" "$$bindir/$$p" 2>/dev/null || \
|
|
cp "$$bindir/git$X" "$$bindir/$$p" || exit; \
|
|
done && \
|
|
for p in $(BUILT_INS); do \
|
|
$(RM) "$$execdir/$$p" && \
|
|
test -z "$(NO_INSTALL_HARDLINKS)" && \
|
|
- ln "$$execdir/git$X" "$$execdir/$$p" 2>/dev/null || \
|
|
ln -s "git$X" "$$execdir/$$p" 2>/dev/null || \
|
|
cp "$$execdir/git$X" "$$execdir/$$p" || exit; \
|
|
done && \
|
|
@@ -2464,7 +2460,6 @@
|
|
for p in $$remote_curl_aliases; do \
|
|
$(RM) "$$execdir/$$p" && \
|
|
test -z "$(NO_INSTALL_HARDLINKS)" && \
|
|
- ln "$$execdir/git-remote-http$X" "$$execdir/$$p" 2>/dev/null || \
|
|
ln -s "git-remote-http$X" "$$execdir/$$p" 2>/dev/null || \
|
|
cp "$$execdir/git-remote-http$X" "$$execdir/$$p" || exit; \
|
|
done && \
|
|
diff -ru git-2.13.1/path.c git-2.13.1-new/path.c
|
|
--- git-2.13.1/path.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/path.c 2017-07-05 12:23:08.831145653 -0700
|
|
@@ -604,6 +604,7 @@
|
|
return -1;
|
|
}
|
|
|
|
+/*
|
|
static struct passwd *getpw_str(const char *username, size_t len)
|
|
{
|
|
struct passwd *pw;
|
|
@@ -612,6 +613,7 @@
|
|
free(username_z);
|
|
return pw;
|
|
}
|
|
+*/
|
|
|
|
/*
|
|
* Return a string with ~ and ~user expanded via getpw*. If buf != NULL,
|
|
@@ -643,10 +645,7 @@
|
|
convert_slashes(user_path.buf);
|
|
#endif
|
|
} else {
|
|
- struct passwd *pw = getpw_str(username, username_len);
|
|
- if (!pw)
|
|
goto return_null;
|
|
- strbuf_addstr(&user_path, pw->pw_dir);
|
|
}
|
|
to_copy = first_slash;
|
|
}
|
|
diff -ru git-2.13.1/progress.c git-2.13.1-new/progress.c
|
|
--- git-2.13.1/progress.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/progress.c 2017-06-25 15:19:22.957421624 -0700
|
|
@@ -52,11 +52,13 @@
|
|
|
|
progress_update = 0;
|
|
|
|
+ /*
|
|
memset(&sa, 0, sizeof(sa));
|
|
sa.sa_handler = progress_interval;
|
|
sigemptyset(&sa.sa_mask);
|
|
sa.sa_flags = SA_RESTART;
|
|
sigaction(SIGALRM, &sa, NULL);
|
|
+ */
|
|
|
|
v.it_interval.tv_sec = 1;
|
|
v.it_interval.tv_usec = 0;
|
|
@@ -74,8 +76,7 @@
|
|
|
|
static int is_foreground_fd(int fd)
|
|
{
|
|
- int tpgrp = tcgetpgrp(fd);
|
|
- return tpgrp < 0 || tpgrp == getpgid(0);
|
|
+ return 1;
|
|
}
|
|
|
|
static int display(struct progress *progress, unsigned n, const char *done)
|
|
diff -ru git-2.13.1/rerere.c git-2.13.1-new/rerere.c
|
|
--- git-2.13.1/rerere.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/rerere.c 2017-06-25 15:19:22.960754978 -0700
|
|
@@ -682,7 +682,7 @@
|
|
* A successful replay of recorded resolution.
|
|
* Mark that "postimage" was used to help gc.
|
|
*/
|
|
- if (utime(rerere_path(id, "postimage"), NULL) < 0)
|
|
+ if (1)
|
|
warning_errno("failed utime() on %s",
|
|
rerere_path(id, "postimage"));
|
|
|
|
diff -ru git-2.13.1/run-command.c git-2.13.1-new/run-command.c
|
|
--- git-2.13.1/run-command.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/run-command.c 2017-07-24 18:38:38.359269687 -0700
|
|
@@ -120,9 +120,9 @@
|
|
#ifndef GIT_WINDOWS_NATIVE
|
|
static inline void dup_devnull(int to)
|
|
{
|
|
- int fd = open("/dev/null", O_RDWR);
|
|
+ int fd = open("null:", O_RDWR);
|
|
if (fd < 0)
|
|
- die_errno(_("open /dev/null failed"));
|
|
+ die_errno(_("open null: failed"));
|
|
if (dup2(fd, to) < 0)
|
|
die_errno(_("dup2(%d,%d) failed"), fd, to);
|
|
close(fd);
|
|
@@ -138,7 +138,7 @@
|
|
return NULL;
|
|
|
|
while (1) {
|
|
- const char *end = strchrnul(p, ':');
|
|
+ const char *end = strchrnul(p, ';');
|
|
|
|
strbuf_reset(&buf);
|
|
|
|
@@ -483,21 +483,21 @@
|
|
struct argv_array nargv = ARGV_ARRAY_INIT;
|
|
|
|
if (cmd->no_stdin)
|
|
- fhin = open("/dev/null", O_RDWR);
|
|
+ fhin = open("null:", O_RDWR);
|
|
else if (need_in)
|
|
fhin = dup(fdin[0]);
|
|
else if (cmd->in)
|
|
fhin = dup(cmd->in);
|
|
|
|
if (cmd->no_stderr)
|
|
- fherr = open("/dev/null", O_RDWR);
|
|
+ fherr = open("null:", O_RDWR);
|
|
else if (need_err)
|
|
fherr = dup(fderr[1]);
|
|
else if (cmd->err > 2)
|
|
fherr = dup(cmd->err);
|
|
|
|
if (cmd->no_stdout)
|
|
- fhout = open("/dev/null", O_RDWR);
|
|
+ fhout = open("null:", O_RDWR);
|
|
else if (cmd->stdout_to_stderr)
|
|
fhout = dup(fherr);
|
|
else if (need_out)
|
|
diff -ru git-2.13.1/send-pack.c git-2.13.1-new/send-pack.c
|
|
--- git-2.13.1/send-pack.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/send-pack.c 2017-06-25 15:19:22.960754978 -0700
|
|
@@ -570,7 +570,7 @@
|
|
if (args->stateless_rpc)
|
|
close(out);
|
|
if (git_connection_is_socket(conn))
|
|
- shutdown(fd[0], SHUT_WR);
|
|
+ ; // XXX
|
|
|
|
/*
|
|
* Do not even bother with the return value; we know we
|
|
diff -ru git-2.13.1/setup.c git-2.13.1-new/setup.c
|
|
--- git-2.13.1/setup.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/setup.c 2017-06-25 15:19:22.904087966 -0700
|
|
@@ -1143,21 +1143,21 @@
|
|
return read_gitfile_gently(suspect, return_error_code);
|
|
}
|
|
|
|
-/* if any standard file descriptor is missing open it to /dev/null */
|
|
+/* if any standard file descriptor is missing open it to null: */
|
|
void sanitize_stdfds(void)
|
|
{
|
|
- int fd = open("/dev/null", O_RDWR, 0);
|
|
+ int fd = open("null:", O_RDWR, 0);
|
|
while (fd != -1 && fd < 2)
|
|
fd = dup(fd);
|
|
if (fd == -1)
|
|
- die_errno("open /dev/null or dup failed");
|
|
+ die_errno("open null: or dup failed");
|
|
if (fd > 2)
|
|
close(fd);
|
|
}
|
|
|
|
int daemonize(void)
|
|
{
|
|
-#ifdef NO_POSIX_GOODIES
|
|
+#if 1
|
|
errno = ENOSYS;
|
|
return -1;
|
|
#else
|
|
diff -ru git-2.13.1/sha1_file.c git-2.13.1-new/sha1_file.c
|
|
--- git-2.13.1/sha1_file.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/sha1_file.c 2017-06-25 15:19:23.014088636 -0700
|
|
@@ -723,7 +723,7 @@
|
|
"pack_report: getpagesize() = %10" SZ_FMT "\n"
|
|
"pack_report: core.packedGitWindowSize = %10" SZ_FMT "\n"
|
|
"pack_report: core.packedGitLimit = %10" SZ_FMT "\n",
|
|
- sz_fmt(getpagesize()),
|
|
+ sz_fmt(4096),
|
|
sz_fmt(packed_git_window_size),
|
|
sz_fmt(packed_git_limit));
|
|
fprintf(stderr,
|
|
diff -ru git-2.13.1/strbuf.c git-2.13.1-new/strbuf.c
|
|
--- git-2.13.1/strbuf.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/strbuf.c 2017-07-05 12:24:29.957791169 -0700
|
|
@@ -446,6 +446,11 @@
|
|
for (;; guessed_len *= 2) {
|
|
strbuf_grow(sb, guessed_len);
|
|
if (getcwd(sb->buf, sb->alloc)) {
|
|
+ if (strncmp(sb->buf, "file:", 5) == 0) {
|
|
+ char *x = strdup(sb->buf);
|
|
+ strcpy(sb->buf, x+5);
|
|
+ free(x);
|
|
+ }
|
|
strbuf_setlen(sb, strlen(sb->buf));
|
|
return 0;
|
|
}
|
|
diff -ru git-2.13.1/wrapper.c git-2.13.1-new/wrapper.c
|
|
--- git-2.13.1/wrapper.c 2017-06-04 18:08:11.000000000 -0700
|
|
+++ git-2.13.1-new/wrapper.c 2017-06-25 15:19:23.014088636 -0700
|
|
@@ -227,6 +227,7 @@
|
|
}
|
|
}
|
|
|
|
+#if 0
|
|
static int handle_nonblock(int fd, short poll_events, int err)
|
|
{
|
|
struct pollfd pfd;
|
|
@@ -244,6 +245,7 @@
|
|
poll(&pfd, 1, -1);
|
|
return 1;
|
|
}
|
|
+#endif
|
|
|
|
/*
|
|
* xread() is the same a read(), but it automatically restarts read()
|
|
@@ -260,8 +262,6 @@
|
|
if (nr < 0) {
|
|
if (errno == EINTR)
|
|
continue;
|
|
- if (handle_nonblock(fd, POLLIN, errno))
|
|
- continue;
|
|
}
|
|
return nr;
|
|
}
|
|
@@ -282,8 +282,6 @@
|
|
if (nr < 0) {
|
|
if (errno == EINTR)
|
|
continue;
|
|
- if (handle_nonblock(fd, POLLOUT, errno))
|
|
- continue;
|
|
}
|
|
|
|
return nr;
|
|
@@ -653,7 +651,7 @@
|
|
|
|
void sleep_millisec(int millisec)
|
|
{
|
|
- poll(NULL, 0, millisec);
|
|
+ //poll(NULL, 0, millisec);
|
|
}
|
|
|
|
int xgethostname(char *buf, size_t len)
|
|
@@ -663,8 +661,6 @@
|
|
* specify whether the buffer will be null-terminated, so to
|
|
* be safe, do it ourselves.
|
|
*/
|
|
- int ret = gethostname(buf, len);
|
|
- if (!ret)
|
|
- buf[len - 1] = 0;
|
|
- return ret;
|
|
+ strcpy(buf, "redox");
|
|
+ return 0;
|
|
}
|