mirror of
https://github.com/git/git.git
synced 2025-01-22 15:33:59 +08:00
Bust the ghost of long-defunct diffcore-pathspec.
This concept was retired by 77882f6
(Retire diffcore-pathspec.,
2006-04-10), more than 2 years ago.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
aa5735bed4
commit
264e0b9a3c
@ -36,11 +36,25 @@ files:
|
||||
|
||||
- 'git-diff-tree' compares contents of two "tree" objects;
|
||||
|
||||
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
|
||||
called "diffcore", in a format similar to what is output when
|
||||
the -p option is not used. E.g.
|
||||
In all of these cases, the commands themselves first optionally limit
|
||||
the two sets of files by any pathspecs given on their command-lines,
|
||||
and compare corresponding paths in the two resulting sets of files.
|
||||
|
||||
The pathspecs are used to limit the world diff operates in. They remove
|
||||
the filepairs outside the specified sets of pathnames. E.g. If the
|
||||
input set of filepairs included:
|
||||
|
||||
------------------------------------------------
|
||||
:100644 100644 bcd1234... 0123456... M junkfile
|
||||
------------------------------------------------
|
||||
|
||||
but the command invocation was `git diff-files myfile`, then the
|
||||
junkfile entry would be removed from the list because only "myfile"
|
||||
is under consideration.
|
||||
|
||||
The result of comparison is passed from these commands to what is
|
||||
internally called "diffcore", in a format similar to what is output
|
||||
when the -p option is not used. E.g.
|
||||
|
||||
------------------------------------------------
|
||||
in-place edit :100644 100644 bcd1234... 0123456... M file0
|
||||
@ -52,9 +66,8 @@ unmerged :000000 000000 0000000... 0000000... U file6
|
||||
The diffcore mechanism is fed a list of such comparison results
|
||||
(each of which is called "filepair", although at this point each
|
||||
of them talks about a single file), and transforms such a list
|
||||
into another list. There are currently 6 such transformations:
|
||||
into another list. There are currently 5 such transformations:
|
||||
|
||||
- diffcore-pathspec
|
||||
- diffcore-break
|
||||
- diffcore-rename
|
||||
- diffcore-merge-broken
|
||||
@ -62,38 +75,14 @@ into another list. There are currently 6 such transformations:
|
||||
- diffcore-order
|
||||
|
||||
These are applied in sequence. The set of filepairs 'git-diff-{asterisk}'
|
||||
commands find are used as the input to diffcore-pathspec, and
|
||||
the output from diffcore-pathspec is used as the input to the
|
||||
commands find are used as the input to diffcore-break, and
|
||||
the output from diffcore-break is used as the input to the
|
||||
next transformation. The final result is then passed to the
|
||||
output routine and generates either diff-raw format (see Output
|
||||
format sections of the manual for 'git-diff-{asterisk}' commands) or
|
||||
diff-patch format.
|
||||
|
||||
|
||||
diffcore-pathspec: For Ignoring Files Outside Our Consideration
|
||||
---------------------------------------------------------------
|
||||
|
||||
The first transformation in the chain is diffcore-pathspec, and
|
||||
is controlled by giving the pathname parameters to the
|
||||
'git-diff-{asterisk}' commands on the command line. The pathspec is used
|
||||
to limit the world diff operates in. It removes the filepairs
|
||||
outside the specified set of pathnames. E.g. If the input set
|
||||
of filepairs included:
|
||||
|
||||
------------------------------------------------
|
||||
:100644 100644 bcd1234... 0123456... M junkfile
|
||||
------------------------------------------------
|
||||
|
||||
but the command invocation was `git diff-files myfile`, then the
|
||||
junkfile entry would be removed from the list because only "myfile"
|
||||
is under consideration.
|
||||
|
||||
Implementation note. For performance reasons, 'git-diff-tree'
|
||||
uses the pathname parameters on the command line to cull set of
|
||||
filepairs it feeds the diffcore mechanism itself, and does not
|
||||
use diffcore-pathspec, but the end result is the same.
|
||||
|
||||
|
||||
diffcore-break: For Splitting Up "Complete Rewrites"
|
||||
----------------------------------------------------
|
||||
|
||||
|
@ -92,7 +92,6 @@ extern struct diff_filepair *diff_queue(struct diff_queue_struct *,
|
||||
struct diff_filespec *);
|
||||
extern void diff_q(struct diff_queue_struct *, struct diff_filepair *);
|
||||
|
||||
extern void diffcore_pathspec(const char **pathspec);
|
||||
extern void diffcore_break(int);
|
||||
extern void diffcore_rename(struct diff_options *);
|
||||
extern void diffcore_merge_broken(void);
|
||||
|
Loading…
Reference in New Issue
Block a user