  		ln -s "git-remote-http$X" "$$execdir/$$p" 2>/dev/null || \
  		cp "$$execdir/git-remote-http$X" "$$execdir/$$p" || exit; \
  	done && \
-diff -ruw source/progress.c source-new/progress.c
---- source/progress.c	2017-06-04 19:08:11.000000000 -0600
-+++ source-new/progress.c	2018-12-26 19:13:24.522688882 -0700
-@@ -52,11 +52,13 @@
- 
- 	progress_update = 0;
- 
-+#if !defined(__redox__)
- 	memset(&sa, 0, sizeof(sa));
- 	sa.sa_handler = progress_interval;
- 	sigemptyset(&sa.sa_mask);
- 	sa.sa_flags = SA_RESTART;
- 	sigaction(SIGALRM, &sa, NULL);
-+#endif
- 
- 	v.it_interval.tv_sec = 1;
- 	v.it_interval.tv_usec = 0;
-@@ -74,8 +76,12 @@
- 
- static int is_foreground_fd(int fd)
- {
-+#if defined(__redox__)
-+        return 1;
-+#else
- 	int tpgrp = tcgetpgrp(fd);
- 	return tpgrp < 0 || tpgrp == getpgid(0);
-+#endif
- }
- 
- static int display(struct progress *progress, unsigned n, const char *done)
 diff -ruw source/run-command.c source-new/run-command.c
 --- source/run-command.c	2017-06-04 19:08:11.000000000 -0600
-+++ source-new/run-command.c	2018-12-26 19:19:21.042685078 -0700
++++ source-new/run-command.c	2019-03-13 15:56:57.331276675 -0600
 @@ -120,9 +120,9 @@
  #ifndef GIT_WINDOWS_NATIVE
  static inline void dup_devnull(int to)

diff -ruw source/builtin/log.c source-new/builtin/log.c
--- source/builtin/log.c	2017-06-04 19:08:11.000000000 -0600
+++ source-new/builtin/log.c	2018-12-26 18:36:28.141445392 -0700
@@ -308,6 +308,7 @@
 
 static void setup_early_output(struct rev_info *rev)
 {
+#if !defined(__redox__)
 	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 -ruw source/common-main.c source-new/common-main.c
--- source/common-main.c	2017-06-04 19:08:11.000000000 -0600
+++ source-new/common-main.c	2018-12-26 18:40:38.447229228 -0700
@@ -15,12 +15,14 @@
  */
 static void restore_sigpipe_to_default(void)
 {
+#if !defined(__redox__)
 	sigset_t unblock;
 
 	sigemptyset(&unblock);
 	sigaddset(&unblock, SIGPIPE);
 	sigprocmask(SIG_UNBLOCK, &unblock, NULL);
 	signal(SIGPIPE, SIG_DFL);
+#endif
 }
 
 int main(int argc, const char **argv)
diff -ruw source/compat/hstrerror.c source-new/compat/hstrerror.c
--- source/compat/hstrerror.c	2017-06-04 19:08:11.000000000 -0600
+++ source-new/compat/hstrerror.c	2018-12-26 18:37:12.495372666 -0700
@@ -5,6 +5,7 @@
 const char *githstrerror(int err)
 {
 	static char buffer[48];
+#if !defined(__redox__)
 	switch (err)
 	{
 	case HOST_NOT_FOUND:
@@ -16,6 +17,7 @@
 	case TRY_AGAIN:
 		return "Non-authoritative \"host not found\", or SERVERFAIL";
 	}
+#endif
 	snprintf(buffer, sizeof(buffer), "Name resolution error %d", err);
 	return buffer;
 }
diff -ruw source/compat/terminal.c source-new/compat/terminal.c
--- source/compat/terminal.c	2017-06-04 19:08:11.000000000 -0600
+++ source-new/compat/terminal.c	2018-12-26 18:39:47.177777683 -0700
@@ -137,6 +137,18 @@
 	return buf.buf;
 }

 #else
 
 char *git_terminal_prompt(const char *prompt, int echo)
diff -ruw source/configure source-new/configure
--- source/configure	2017-06-04 19:08:11.000000000 -0600
+++ source-new/configure	2019-03-27 19:53:37.398482599 -0600
@@ -6156,7 +6156,7 @@
 ac_res=$ac_cv_search_getaddrinfo
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-  NO_IPV6=
+  NO_IPV6=YesPlease
 else
   NO_IPV6=YesPlease
 fi
diff -ruw source/daemon.c source-new/daemon.c
--- source/daemon.c	2017-06-04 19:08:11.000000000 -0600
+++ source-new/daemon.c	2019-03-13 14:50:29.028179965 -0600
@@ -71,13 +71,21 @@
 	return hi->ip_address.buf;
 }
