about summary refs log tree commit diff
path: root/third_party/git/builtin/diff-files.c
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2021-09-21T10·03+0300
committerVincent Ambo <mail@tazj.in>2021-09-21T11·29+0300
commit43b1791ec601732ac31195df96781a848360a9ac (patch)
treedaae8d638343295d2f1f7da955e556ef4c958864 /third_party/git/builtin/diff-files.c
parent2d8e7dc9d9c38127ec4ebd13aee8e8f586a43318 (diff)
chore(3p/git): Unvendor git and track patches instead r/2903
This was vendored a long time ago under the expectation that keeping
it in sync with cgit would be easier this way, but it has proven not
to be a big issue.

On the other hand, a vendored copy of git is an annoying maintenance
burden. It is much easier to rebase the single (dottime) patch that we
have.

This removes the vendored copy of git and instead passes the git
source code to cgit via `pkgs.srcOnly`, which includes the applied
patch so that cgit can continue rendering dottime.

Change-Id: If31f62dea7ce688fd1b9050204e9378019775f2b
Diffstat (limited to 'third_party/git/builtin/diff-files.c')
-rw-r--r--third_party/git/builtin/diff-files.c82
1 files changed, 0 insertions, 82 deletions
diff --git a/third_party/git/builtin/diff-files.c b/third_party/git/builtin/diff-files.c
deleted file mode 100644
index 1e352dd8f77c..000000000000
--- a/third_party/git/builtin/diff-files.c
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * GIT - The information manager from hell
- *
- * Copyright (C) Linus Torvalds, 2005
- */
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
-#include "cache.h"
-#include "config.h"
-#include "diff.h"
-#include "commit.h"
-#include "revision.h"
-#include "builtin.h"
-#include "submodule.h"
-
-static const char diff_files_usage[] =
-"git diff-files [-q] [-0 | -1 | -2 | -3 | -c | --cc] [<common-diff-options>] [<path>...]"
-COMMON_DIFF_OPTIONS_HELP;
-
-int cmd_diff_files(int argc, const char **argv, const char *prefix)
-{
-	struct rev_info rev;
-	int result;
-	unsigned options = 0;
-
-	if (argc == 2 && !strcmp(argv[1], "-h"))
-		usage(diff_files_usage);
-
-	git_config(git_diff_basic_config, NULL); /* no "diff" UI options */
-	repo_init_revisions(the_repository, &rev, prefix);
-	rev.abbrev = 0;
-
-	/*
-	 * Consider "intent-to-add" files as new by default, unless
-	 * explicitly specified in the command line or anywhere else.
-	 */
-	rev.diffopt.ita_invisible_in_index = 1;
-
-	precompose_argv(argc, argv);
-
-	argc = setup_revisions(argc, argv, &rev, NULL);
-	while (1 < argc && argv[1][0] == '-') {
-		if (!strcmp(argv[1], "--base"))
-			rev.max_count = 1;
-		else if (!strcmp(argv[1], "--ours"))
-			rev.max_count = 2;
-		else if (!strcmp(argv[1], "--theirs"))
-			rev.max_count = 3;
-		else if (!strcmp(argv[1], "-q"))
-			options |= DIFF_SILENT_ON_REMOVED;
-		else
-			usage(diff_files_usage);
-		argv++; argc--;
-	}
-	if (!rev.diffopt.output_format)
-		rev.diffopt.output_format = DIFF_FORMAT_RAW;
-
-	/*
-	 * Make sure there are NO revision (i.e. pending object) parameter,
-	 * rev.max_count is reasonable (0 <= n <= 3), and
-	 * there is no other revision filtering parameters.
-	 */
-	if (rev.pending.nr ||
-	    rev.min_age != -1 || rev.max_age != -1 ||
-	    3 < rev.max_count)
-		usage(diff_files_usage);
-
-	/*
-	 * "diff-files --base -p" should not combine merges because it
-	 * was not asked to.  "diff-files -c -p" should not densify
-	 * (the user should ask with "diff-files --cc" explicitly).
-	 */
-	if (rev.max_count == -1 && !rev.combine_merges &&
-	    (rev.diffopt.output_format & DIFF_FORMAT_PATCH))
-		rev.combine_merges = rev.dense_combined_merges = 1;
-
-	if (read_cache_preload(&rev.diffopt.pathspec) < 0) {
-		perror("read_cache_preload");
-		return -1;
-	}
-	result = run_diff_files(&rev, options);
-	return diff_result_code(&rev.diffopt, result);
-}