redox/recipes/git/git.patch
2017-08-15 13:38:11 -07:00

594 lines
15 KiB
Diff

diff -ru source/builtin/log.c source-new/builtin/log.c
--- source/builtin/log.c 2017-06-04 18:08:11.000000000 -0700
+++ source-new/builtin/log.c 2017-08-15 13:29:42.346302539 -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 source/common-main.c source-new/common-main.c
--- source/common-main.c 2017-06-04 18:08:11.000000000 -0700
+++ source-new/common-main.c 2017-08-15 13:29:42.346302539 -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 source/compat/hstrerror.c source-new/compat/hstrerror.c
--- source/compat/hstrerror.c 2017-06-04 18:08:11.000000000 -0700
+++ source-new/compat/hstrerror.c 2017-08-15 13:29:42.346302539 -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 source/compat/poll/poll.c source-new/compat/poll/poll.c
--- source/compat/poll/poll.c 2017-06-04 18:08:11.000000000 -0700
+++ source-new/compat/poll/poll.c 2017-08-15 13:29:42.346302539 -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 source/compat/terminal.c source-new/compat/terminal.c
--- source/compat/terminal.c 2017-06-04 18:08:11.000000000 -0700
+++ source-new/compat/terminal.c 2017-08-15 13:29:42.349635894 -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 source/config.c source-new/config.c
--- source/config.c 2017-06-04 18:08:11.000000000 -0700
+++ source-new/config.c 2017-08-15 13:29:42.349635894 -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 source/connect.c source-new/connect.c
--- source/connect.c 2017-06-04 18:08:11.000000000 -0700
+++ source-new/connect.c 2017-08-15 13:29:42.349635894 -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 source/credential-cache--daemon.c source-new/credential-cache--daemon.c
--- source/credential-cache--daemon.c 2017-06-04 18:08:11.000000000 -0700
+++ source-new/credential-cache--daemon.c 2017-08-15 13:29:42.349635894 -0700
@@ -156,6 +156,7 @@
strbuf_release(&action);
}
+#if 0
static int serve_cache_loop(int fd)
{
struct pollfd pfd;
@@ -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 source/daemon.c source-new/daemon.c
--- source/daemon.c 2017-06-04 18:08:11.000000000 -0700
+++ source-new/daemon.c 2017-08-15 13:30:19.439876374 -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");
}
@@ -1174,11 +1178,7 @@
if (!group_name)
c.gid = c.pass->pw_gid;
else {
- struct group *group = getgrnam(group_name);
- if (!group)
die("group not found - %s", group_name);
-
- c.gid = group->gr_gid;
}
return &c;
@@ -1349,7 +1349,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 */
diff -ru source/dir.c source-new/dir.c
--- source/dir.c 2017-06-04 18:08:11.000000000 -0700
+++ source-new/dir.c 2017-08-15 13:29:42.352969248 -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 source/fast-import.c source-new/fast-import.c
--- source/fast-import.c 2017-06-04 18:08:11.000000000 -0700
+++ source-new/fast-import.c 2017-08-15 13:29:42.352969248 -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 source/git-compat-util.h source-new/git-compat-util.h
--- source/git-compat-util.h 2017-06-04 18:08:11.000000000 -0700
+++ source-new/git-compat-util.h 2017-08-15 13:29:42.356302602 -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 source/Makefile source-new/Makefile
--- source/Makefile 2017-06-04 18:08:11.000000000 -0700
+++ source-new/Makefile 2017-08-15 13:29:42.356302602 -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 source/progress.c source-new/progress.c
--- source/progress.c 2017-06-04 18:08:11.000000000 -0700
+++ source-new/progress.c 2017-08-15 13:29:42.356302602 -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 source/rerere.c source-new/rerere.c
--- source/rerere.c 2017-06-04 18:08:11.000000000 -0700
+++ source-new/rerere.c 2017-08-15 13:29:42.356302602 -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 source/run-command.c source-new/run-command.c
--- source/run-command.c 2017-06-04 18:08:11.000000000 -0700
+++ source-new/run-command.c 2017-08-15 13:29:42.359635956 -0700
@@ -138,7 +138,7 @@
return NULL;
while (1) {
- const char *end = strchrnul(p, ':');
+ const char *end = strchrnul(p, ';');
strbuf_reset(&buf);
diff -ru source/send-pack.c source-new/send-pack.c
--- source/send-pack.c 2017-06-04 18:08:11.000000000 -0700
+++ source-new/send-pack.c 2017-08-15 13:29:42.359635956 -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 source/setup.c source-new/setup.c
--- source/setup.c 2017-06-04 18:08:11.000000000 -0700
+++ source-new/setup.c 2017-08-15 13:29:42.359635956 -0700
@@ -1157,7 +1157,7 @@
int daemonize(void)
{
-#ifdef NO_POSIX_GOODIES
+#if 1
errno = ENOSYS;
return -1;
#else
diff -ru source/sha1_file.c source-new/sha1_file.c
--- source/sha1_file.c 2017-06-04 18:08:11.000000000 -0700
+++ source-new/sha1_file.c 2017-08-15 13:29:42.359635956 -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 source/strbuf.c source-new/strbuf.c
--- source/strbuf.c 2017-06-04 18:08:11.000000000 -0700
+++ source-new/strbuf.c 2017-08-15 13:29:42.359635956 -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 source/wrapper.c source-new/wrapper.c
--- source/wrapper.c 2017-06-04 18:08:11.000000000 -0700
+++ source-new/wrapper.c 2017-08-15 13:29:42.359635956 -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)