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)

Reply via email to