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)