[PATCH v2 0/2] Honor .gitattributes with rebase --am
- From
brian m. carlson <sandals@crustytoothpaste.net>
- Date
- Aug 11, 2019, 17:47 UTC
- Message-ID
- <20190811174748.33552-1-sandals@crustytoothpaste.net>
- In-Reply-To
- <20190809100217.427178-1-sandals@crustytoothpaste.net>
This series makes rebase --am honor the .gitattributes file for subsequent patches when a patch changes it.
Changes from v1: * Add has_path_suffix in a separate commit.
brian m. carlson (2): path: add a function to check for path suffix apply: reload .gitattributes after patching it
apply.c | 7 +++++++ convert.c | 9 ++++++++- convert.h | 6 ++++++ path.c | 39 ++++++++++++++++++++++++++++++--------- path.h | 3 +++ t/t3400-rebase.sh | 23 +++++++++++++++++++++++ 6 files changed, 77 insertions(+), 10 deletions(-)
Range-diff against v1:
-: ---------- > 1: e865872fc3 :rebase-gitattributes
-: ---------- > 2: 125fda966c path: add a function to check for path suffix
1: d7ea19aeef ! 3: f54af7e595 apply: reload .gitattributes after patching it
@@ apply.c: static int apply_patch(struct apply_state *state,
*listp = patch;
listp = &patch->next;
+
-+ if (!flush_attributes && patch->new_name) {
-+ char *dummy = strip_path_suffix(patch->new_name, GITATTRIBUTES_FILE);
-+ /* The patch applied to a .gitattributes file. */
-+ if (dummy)
-+ flush_attributes = 1;
-+ free(dummy);
-+ }
++ if (!flush_attributes && patch->new_name &&
++ has_path_suffix(patch->new_name, GITATTRIBUTES_FILE))
++ flush_attributes = 1;
}
else {
if (state->apply_verbosity > verbosity_normal)