From: Junio C Hamano Date: Thu, 8 Feb 2007 01:03:46 +0000 (-0800) Subject: Remove git-diff-stages. X-Git-Tag: v1.5.1-rc1~300^2 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=4cc41a16c15a6d73b13f9211eb8bf49ec869705f;p=git.git Remove git-diff-stages. Signed-off-by: Junio C Hamano --- diff --git a/.gitignore b/.gitignore index 3bdc36540..f15155d1b 100644 --- a/.gitignore +++ b/.gitignore @@ -33,7 +33,6 @@ git-daemon git-diff git-diff-files git-diff-index -git-diff-stages git-diff-tree git-describe git-fast-import diff --git a/Documentation/cmd-list.perl b/Documentation/cmd-list.perl index 0da58ccb7..d4fd72db4 100755 --- a/Documentation/cmd-list.perl +++ b/Documentation/cmd-list.perl @@ -90,7 +90,6 @@ git-describe mainporcelain git-diff-files plumbinginterrogators git-diff-index plumbinginterrogators git-diff mainporcelain -git-diff-stages plumbinginterrogators git-diff-tree plumbinginterrogators git-fast-import ancillarymanipulators git-fetch mainporcelain diff --git a/Documentation/diffcore.txt b/Documentation/diffcore.txt index cb4e56200..34cd306bb 100644 --- a/Documentation/diffcore.txt +++ b/Documentation/diffcore.txt @@ -6,8 +6,8 @@ June 2005 Introduction ------------ -The diff commands git-diff-index, git-diff-files, git-diff-tree, and -git-diff-stages can be told to manipulate differences they find in +The diff commands git-diff-index, git-diff-files, and git-diff-tree +can be told to manipulate differences they find in unconventional ways before showing diff(1) output. The manipulation is collectively called "diffcore transformation". This short note describes what they are and how to use them to produce diff outputs @@ -30,9 +30,6 @@ files: - git-diff-tree compares contents of two "tree" objects; - - git-diff-stages compares contents of blobs at two stages in an - unmerged index file. - In all of these cases, the commands themselves compare corresponding paths in the two sets of files. The result of comparison is passed from these commands to what is internally diff --git a/Documentation/git-diff-stages.txt b/Documentation/git-diff-stages.txt deleted file mode 100644 index b8f45b8cd..000000000 --- a/Documentation/git-diff-stages.txt +++ /dev/null @@ -1,42 +0,0 @@ -git-diff-stages(1) -================== - -NAME ----- -git-diff-stages - Compares two merge stages in the index - - -SYNOPSIS --------- -'git-diff-stages' [] [...] - -DESCRIPTION ------------ -DEPRECATED and will be removed in 1.5.1. - -Compares the content and mode of the blobs in two stages in an -unmerged index file. - -OPTIONS -------- -include::diff-options.txt[] - -,:: - The stage number to be compared. - -Output format -------------- -include::diff-format.txt[] - - -Author ------- -Written by Junio C Hamano - -Documentation --------------- -Documentation by Junio C Hamano. - -GIT ---- -Part of the gitlink:git[7] suite diff --git a/Makefile b/Makefile index 6a9431331..e38cb9f61 100644 --- a/Makefile +++ b/Makefile @@ -280,7 +280,6 @@ BUILTIN_OBJS = \ builtin-diff.o \ builtin-diff-files.o \ builtin-diff-index.o \ - builtin-diff-stages.o \ builtin-diff-tree.o \ builtin-fmt-merge-msg.o \ builtin-for-each-ref.o \ diff --git a/builtin-diff-stages.c b/builtin-diff-stages.c deleted file mode 100644 index 70bb89808..000000000 --- a/builtin-diff-stages.c +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright (c) 2005 Junio C Hamano - */ - -#include "cache.h" -#include "diff.h" -#include "builtin.h" - -static struct diff_options diff_options; - -static const char diff_stages_usage[] = -"git-diff-stages [] [...]" -COMMON_DIFF_OPTIONS_HELP; - -static void diff_stages(int stage1, int stage2, const char **pathspec) -{ - int i = 0; - while (i < active_nr) { - struct cache_entry *ce, *stages[4] = { NULL, }; - struct cache_entry *one, *two; - const char *name; - int len, skip; - - ce = active_cache[i]; - skip = !ce_path_match(ce, pathspec); - len = ce_namelen(ce); - name = ce->name; - for (;;) { - int stage = ce_stage(ce); - stages[stage] = ce; - if (active_nr <= ++i) - break; - ce = active_cache[i]; - if (ce_namelen(ce) != len || - memcmp(name, ce->name, len)) - break; - } - one = stages[stage1]; - two = stages[stage2]; - - if (skip || (!one && !two)) - continue; - if (!one) - diff_addremove(&diff_options, '+', ntohl(two->ce_mode), - two->sha1, name, NULL); - else if (!two) - diff_addremove(&diff_options, '-', ntohl(one->ce_mode), - one->sha1, name, NULL); - else if (hashcmp(one->sha1, two->sha1) || - (one->ce_mode != two->ce_mode) || - diff_options.find_copies_harder) - diff_change(&diff_options, - ntohl(one->ce_mode), ntohl(two->ce_mode), - one->sha1, two->sha1, name, NULL); - } -} - -int cmd_diff_stages(int ac, const char **av, const char *prefix) -{ - int stage1, stage2; - const char **pathspec = NULL; - - git_config(git_default_config); /* no "diff" UI options */ - read_cache(); - diff_setup(&diff_options); - while (1 < ac && av[1][0] == '-') { - const char *arg = av[1]; - if (!strcmp(arg, "-r")) - ; /* as usual */ - else { - int diff_opt_cnt; - diff_opt_cnt = diff_opt_parse(&diff_options, - av+1, ac-1); - if (diff_opt_cnt < 0) - usage(diff_stages_usage); - else if (diff_opt_cnt) { - av += diff_opt_cnt; - ac -= diff_opt_cnt; - continue; - } - else - usage(diff_stages_usage); - } - ac--; av++; - } - - if (!diff_options.output_format) - diff_options.output_format = DIFF_FORMAT_RAW; - - if (ac < 3 || - sscanf(av[1], "%d", &stage1) != 1 || - ! (0 <= stage1 && stage1 <= 3) || - sscanf(av[2], "%d", &stage2) != 1 || - ! (0 <= stage2 && stage2 <= 3)) - usage(diff_stages_usage); - - av += 3; /* The rest from av[0] are for paths restriction. */ - pathspec = get_pathspec(prefix, av); - - if (diff_setup_done(&diff_options) < 0) - usage(diff_stages_usage); - - diff_stages(stage1, stage2, pathspec); - diffcore_std(&diff_options); - diff_flush(&diff_options); - return 0; -} diff --git a/builtin.h b/builtin.h index 5108fd2d7..716014823 100644 --- a/builtin.h +++ b/builtin.h @@ -29,7 +29,6 @@ extern int cmd_describe(int argc, const char **argv, const char *prefix); extern int cmd_diff_files(int argc, const char **argv, const char *prefix); extern int cmd_diff_index(int argc, const char **argv, const char *prefix); extern int cmd_diff(int argc, const char **argv, const char *prefix); -extern int cmd_diff_stages(int argc, const char **argv, const char *prefix); extern int cmd_diff_tree(int argc, const char **argv, const char *prefix); extern int cmd_fmt_merge_msg(int argc, const char **argv, const char *prefix); extern int cmd_for_each_ref(int argc, const char **argv, const char *prefix); diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 865531a5f..7c0340348 100755 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -269,7 +269,6 @@ __git_commands () cvsimport) : import;; cvsserver) : daemon;; daemon) : daemon;; - diff-stages) : nobody uses it;; fast-import) : import;; fsck-objects) : plumbing;; fetch-pack) : plumbing;; diff --git a/git.c b/git.c index 45265f14d..6e6c44822 100644 --- a/git.c +++ b/git.c @@ -240,7 +240,6 @@ static void handle_internal_command(int argc, const char **argv, char **envp) { "diff", cmd_diff, RUN_SETUP | USE_PAGER }, { "diff-files", cmd_diff_files, RUN_SETUP }, { "diff-index", cmd_diff_index, RUN_SETUP }, - { "diff-stages", cmd_diff_stages, RUN_SETUP }, { "diff-tree", cmd_diff_tree, RUN_SETUP }, { "fmt-merge-msg", cmd_fmt_merge_msg, RUN_SETUP }, { "for-each-ref", cmd_for_each_ref, RUN_SETUP },