From: Junio C Hamano Date: Sun, 17 Jan 2010 23:58:11 +0000 (-0800) Subject: Merge branch 'sr/gfi-options' X-Git-Tag: v1.7.0-rc0~95 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/fa232d457ebc1620ab31be504068c38403497179?ds=inline;hp=-c Merge branch 'sr/gfi-options' * sr/gfi-options: fast-import: add (non-)relative-marks feature fast-import: allow for multiple --import-marks= arguments fast-import: test the new option command fast-import: add option command fast-import: add feature command fast-import: put marks reading in its own function fast-import: put option parsing code in separate functions --- fa232d457ebc1620ab31be504068c38403497179 diff --combined Documentation/git-fast-import.txt index e6d364f53c,1a63835d27..ae87f09227 --- a/Documentation/git-fast-import.txt +++ b/Documentation/git-fast-import.txt @@@ -75,6 -75,20 +75,20 @@@ OPTION set of marks. If a mark is defined to different values, the last file wins. + --relative-marks:: + After specifying --relative-marks= the paths specified + with --import-marks= and --export-marks= are relative + to an internal directory in the current repository. + In git-fast-import this means that the paths are relative + to the .git/info/fast-import directory. However, other + importers may use a different location. + + --no-relative-marks:: + Negates a previous --relative-marks. Allows for combining + relative and non-relative marks by interweaving + --(no-)-relative-marks= with the --(import|export)-marks= + options. + --export-pack-edges=:: After creating a packfile, print a line of data to listing the filename of the packfile and the last @@@ -303,6 -317,15 +317,15 @@@ and control the current import process standard output. This command is optional and is not needed to perform an import. + `feature`:: + Require that fast-import supports the specified feature, or + abort if it does not. + + `option`:: + Specify any of the options listed under OPTIONS that do not + change stream semantic to suit the frontend's needs. This + command is optional and is not needed to perform an import. + `commit` ~~~~~~~~ Create or update a branch with a new commit, recording one logical @@@ -311,8 -334,8 +334,8 @@@ change to the project .... 'commit' SP LF mark? - ('author' SP SP LT GT SP LF)? - 'committer' SP SP LT GT SP LF + ('author' (SP )? SP LT GT SP LF)? + 'committer' (SP )? SP LT GT SP LF data ('from' SP LF)? ('merge' SP LF)? @@@ -657,7 -680,7 +680,7 @@@ lightweight (non-annotated) tags see th .... 'tag' SP LF 'from' SP LF - 'tagger' SP SP LT GT SP LF + 'tagger' (SP )? SP LT GT SP LF data .... @@@ -846,6 -869,62 +869,62 @@@ Placing a `progress` command immediatel inform the reader when the `checkpoint` has been completed and it can safely access the refs that fast-import updated. + `feature` + ~~~~~~~~~ + Require that fast-import supports the specified feature, or abort if + it does not. + + .... + 'feature' SP LF + .... + + The part of the command may be any string matching + ^[a-zA-Z][a-zA-Z-]*$ and should be understood by fast-import. + + Feature work identical as their option counterparts with the + exception of the import-marks feature, see below. + + The following features are currently supported: + + * date-format + * import-marks + * export-marks + * relative-marks + * no-relative-marks + * 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` + ~~~~~~~~ + Processes the specified option so that git fast-import behaves in a + way that suits the frontend's needs. + Note that options specified by the frontend are overridden by any + options the user may specify to git fast-import itself. + + .... + 'option' SP