Merge branch 'maint-1.7.1' into maint-1.7.2

* maint-1.7.1:
  fast-import: introduce "feature notes" command
  fast-import: clarify documentation of "feature" command
This commit is contained in:
Junio C Hamano 2011-02-16 14:32:54 -08:00
commit 6a7f71d376
3 changed files with 23 additions and 17 deletions

View File

@ -878,28 +878,31 @@ Require that fast-import supports the specified feature, or abort if
it does not. it does not.
.... ....
'feature' SP <feature> LF 'feature' SP <feature> ('=' <argument>)? LF
.... ....
The <feature> part of the command may be any string matching The <feature> part of the command may be any one of the following:
^[a-zA-Z][a-zA-Z-]*$ and should be understood by fast-import.
Feature work identical as their option counterparts with the date-format::
exception of the import-marks feature, see below. export-marks::
relative-marks::
no-relative-marks::
force::
Act as though the corresponding command-line option with
a leading '--' was passed on the command line
(see OPTIONS, above).
The following features are currently supported: import-marks::
Like --import-marks except in two respects: first, only one
"feature import-marks" command is allowed per stream;
second, an --import-marks= command-line option overrides
any "feature import-marks" command in the stream.
* date-format notes::
* import-marks Require that the backend support the 'notemodify' (N)
* export-marks subcommand to the 'commit' command.
* relative-marks Versions of fast-import not supporting notes will exit
* no-relative-marks with a message indicating so.
* force
The import-marks behaves differently from when it is specified as
commandline option in that only one "feature import-marks" is allowed
per stream. Also, any --import-marks= specified on the commandline
will override those from the stream (if any).
`option` `option`
~~~~~~~~ ~~~~~~~~

View File

@ -2800,6 +2800,8 @@ static int parse_one_feature(const char *feature, int from_stream)
relative_marks_paths = 0; relative_marks_paths = 0;
} else if (!prefixcmp(feature, "force")) { } else if (!prefixcmp(feature, "force")) {
force_update = 1; force_update = 1;
} else if (!strcmp(feature, "notes")) {
; /* do nothing; we have the feature */
} else { } else {
return 0; return 0;
} }

View File

@ -120,6 +120,7 @@ test_expect_success 'add notes with simple M command' '
test_tick test_tick
cat >input <<INPUT_END cat >input <<INPUT_END
feature notes
commit refs/notes/test commit refs/notes/test
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT data <<COMMIT