doc/fast-import: document feature import-marks-if-exists
fast-import command-line option --import-marks-if-exists was introduced in commit dded4f1 (fast-import: Introduce --import-marks-if-exists, 2011-01-15) --import-marks option can be set via a "feature" command in a fast-import stream and --import-marks-if-exists had support for such specification from the very beginning too due to some shared codebase. Though the documentation for this feature wasn't written in dded4f1. Add the documentation for "feature import-marks-if-exists=<file>". Also add a minimalistic test for it. Signed-off-by: Dmitry Ivankov <divanorama@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Dmitry Ivankov committed
Aug 17, 2011 at 16:42 UTC
3beb4fc461e72f0b93ae233dcc1cece0046b8eb8
2 files changed
+54
-3
Documentation/git-fast-import.txt
+7
-3
@@ -995,10 +995,14 @@ force::
995
(see OPTIONS, above).
996
997
import-marks::
998
+import-marks-if-exists::
999
Like --import-marks except in two respects: first, only one
999
- "feature import-marks" command is allowed per stream;
1000
- second, an --import-marks= command-line option overrides
1001
- any "feature import-marks" command in the stream.
1000
+ "feature import-marks" or "feature import-marks-if-exists"
1001
+ command is allowed per stream; second, an --import-marks=
1002
+ or --import-marks-if-exists command-line option overrides
1003
+ any of these "feature" commands in the stream; third,
1004
+ "feature import-marks-if-exists" like a corresponding
1005
+ command-line option silently skips a nonexistent file.
1006
1007
cat-blob::
1008
ls::
t/t9300-fast-import.sh
+47
@@ -1882,6 +1882,53 @@ test_expect_success 'R: --import-marks-if-exists' '
1882
test_cmp expect io.marks
1883
'
1884
1885
+test_expect_success 'R: feature import-marks-if-exists' '
1886
+ rm -f io.marks &&
1887
+ >expect &&
1888
+
1889
+ git fast-import --export-marks=io.marks <<-\EOF &&
1890
+ feature import-marks-if-exists=not_io.marks
1891
+ EOF
1892
+ test_cmp expect io.marks &&
1893
+
1894
+ blob=$(echo hi | git hash-object --stdin) &&
1895
+
1896
+ echo ":1 $blob" >io.marks &&
1897
+ echo ":1 $blob" >expect &&
1898
+ echo ":2 $blob" >>expect &&
1899
+
1900
+ git fast-import --export-marks=io.marks <<-\EOF &&
1901
+ feature import-marks-if-exists=io.marks
1902
+ blob
1903
+ mark :2
1904
+ data 3
1905
+ hi
1906
+
1907
+ EOF
1908
+ test_cmp expect io.marks &&
1909
+
1910
+ echo ":3 $blob" >>expect &&
1911
+
1912
+ git fast-import --import-marks=io.marks \
1913
+ --export-marks=io.marks <<-\EOF &&
1914
+ feature import-marks-if-exists=not_io.marks
1915
+ blob
1916
+ mark :3
1917
+ data 3
1918
+ hi
1919
+
1920
+ EOF
1921
+ test_cmp expect io.marks &&
1922
+
1923
+ >expect &&
1924
+
1925
+ git fast-import --import-marks-if-exists=not_io.marks \
1926
+ --export-marks=io.marks <<-\EOF
1927
+ feature import-marks-if-exists=io.marks
1928
+ EOF
1929
+ test_cmp expect io.marks
1930
+'
1931
+
1932
cat >input << EOF
1933
feature import-marks=marks.out
1934
feature export-marks=marks.new