deprecate-grafts-v3
dscho
tagged this
20 Apr 22:19
It is fragile, as there is no way for the revision machinery to say "but now I want to traverse the graph ignoring the graft file" e.g. when pushing commits to a remote repository (which, as a consequence, can miss commits). And we already have a better solution with `git replace --graft <comit> [<parent>...]`. Changes since v2: - Fixed tyop in the description of --graft where it suggests --convert-graft-file instead. - Dropped the rant from the "libify create_graft()" commit. - Changed a die("BUG: ...") call to BUG() (instead of libifying it). - Truly libified create_graft() by replacing every single instance where die() (or lookup_commit_or_die()) was called with a proper error(), adding resource handling to avoid leaks, so that that rant that was dropped from the commit message would now truly be merited. - Graft files with commented lines are now handled correctly. - Graft files with empty lines are now handled correctly, too. - The graft file parser is now based on a shiny new argv_array_split(). - The script in contrib/ whose functionality is superseded by `git replace --convert-graft-file` was removed. Johannes Schindelin (11): argv_array: offer to split a string by whitespace commit: Let the callback of for_each_mergetag return on error replace: avoid using die() to indicate a bug replace: "libify" create_graft() and callees replace: introduce --convert-graft-file Add a test for `git replace --convert-graft-file` Deprecate support for .git/info/grafts filter-branch: stop suggesting to use grafts technical/shallow: describe the relationship with replace refs technical/shallow: describe why shallow cannot use replace refs Remove obsolete script to convert grafts to replace refs Documentation/git-filter-branch.txt | 2 +- Documentation/git-replace.txt | 11 +- Documentation/technical/shallow.txt | 24 ++- advice.c | 2 + advice.h | 1 + argv-array.c | 20 +++ argv-array.h | 1 + builtin/replace.c | 189 +++++++++++++++------- commit.c | 18 ++- commit.h | 4 +- contrib/convert-grafts-to-replace-refs.sh | 28 ---- log-tree.c | 13 +- t/t6001-rev-list-graft.sh | 9 ++ t/t6050-replace.sh | 20 +++ 14 files changed, 235 insertions(+), 107 deletions(-) delete mode 100755 contrib/convert-grafts-to-replace-refs.sh base-commit: fe0a9eaf31dd0c349ae4308498c33a5c3794b293 Submitted-As: https://public-inbox.org/git/cover.1524262793.git.johannes.schindelin@gmx.de In-Reply-To: https://public-inbox.org/git/0f0942043678fe76f8d654306482ee26fac643f0.1523617836.git.johannes.schindelin@gmx.de In-Reply-To: https://public-inbox.org/git/cover.1524125760.git.johannes.schindelin@gmx.de
Assets 2
-
2018-04-20T22:19:53Z -
2018-04-20T22:19:53Z - Loading