From: Johannes Schindelin <Johannes.Schindelin@gmx.de> To: Elijah Newren <newren@gmail.com> Cc: git@vger.kernel.org, gitster@pobox.com, corrmage@gmail.com, avarab@gmail.com, sbeller@google.com Subject: Re: [PATCH 2/3] merge-recursive: add ability to turn off directory rename detection Date: Wed, 29 Aug 2018 14:54:20 +0200 (DST) Message-ID: <nycvar.QRO.7.76.6.1808291452070.71@tvgsbejvaqbjf.bet> (raw) In-Reply-To: <20180829070613.11793-3-newren@gmail.com> Hi Elijah, On Wed, 29 Aug 2018, Elijah Newren wrote: > Signed-off-by: Elijah Newren <newren@gmail.com> > --- > merge-recursive.c | 18 +++++++++++++----- > merge-recursive.h | 1 + > 2 files changed, 14 insertions(+), 5 deletions(-) > > diff --git a/merge-recursive.c b/merge-recursive.c > index f110e1c5ec..bf3cb03d3a 100644 > --- a/merge-recursive.c > +++ b/merge-recursive.c > @@ -2843,12 +2843,19 @@ static int handle_renames(struct merge_options *o, > head_pairs = get_diffpairs(o, common, head); > merge_pairs = get_diffpairs(o, common, merge); > > - dir_re_head = get_directory_renames(head_pairs, head); > - dir_re_merge = get_directory_renames(merge_pairs, merge); > + if (o->detect_directory_renames) { > + dir_re_head = get_directory_renames(head_pairs, head); > + dir_re_merge = get_directory_renames(merge_pairs, merge); > > - handle_directory_level_conflicts(o, > - dir_re_head, head, > - dir_re_merge, merge); > + handle_directory_level_conflicts(o, > + dir_re_head, head, > + dir_re_merge, merge); > + } else { > + dir_re_head = xmalloc(sizeof(*dir_re_head)); > + dir_re_merge = xmalloc(sizeof(*dir_re_merge)); This is not a suggestion to change anything, but a genuine question out of curiosity: would it make sense to put the `dir_re_head` and `dir_re_merge` structures into `struct merge_options` to avoid these extra `malloc()`s? Or would that cause issues with the recursive nature of the recursive merge? Ciao, Dscho > + dir_rename_init(dir_re_head); > + dir_rename_init(dir_re_merge); > + } > > ri->head_renames = get_renames(o, head_pairs, > dir_re_merge, dir_re_head, head, > @@ -3541,6 +3548,7 @@ void init_merge_options(struct merge_options *o) > o->renormalize = 0; > o->diff_detect_rename = -1; > o->merge_detect_rename = -1; > + o->detect_directory_renames = 1; > merge_recursive_config(o); > merge_verbosity = getenv("GIT_MERGE_VERBOSITY"); > if (merge_verbosity) > diff --git a/merge-recursive.h b/merge-recursive.h > index fa7bc6b683..e39ee5d78b 100644 > --- a/merge-recursive.h > +++ b/merge-recursive.h > @@ -18,6 +18,7 @@ struct merge_options { > unsigned renormalize : 1; > long xdl_opts; > int verbosity; > + int detect_directory_renames; > int diff_detect_rename; > int merge_detect_rename; > int diff_rename_limit; > -- > 2.18.0.12.g97a29da30a > >
next prev parent reply other threads:[~2018-08-29 12:54 UTC|newest] Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-08-28 12:27 A rebase regression in Git 2.18.0 Nikolay Kasyanov 2018-08-28 13:17 ` Ævar Arnfjörð Bjarmason 2018-08-28 13:33 ` Johannes Schindelin 2018-08-28 13:46 ` Nikolay Kasyanov 2018-08-28 15:35 ` Elijah Newren 2018-08-28 16:58 ` Junio C Hamano 2018-08-29 7:06 ` [PATCH 0/3] Turn off directory rename detection in am -3 Elijah Newren 2018-08-29 7:06 ` [PATCH 1/3] t3401: add another directory rename testcase for rebase and am Elijah Newren 2018-08-29 22:12 ` Junio C Hamano 2018-08-29 23:47 ` Elijah Newren 2018-08-30 16:01 ` Junio C Hamano 2018-08-30 16:26 ` Elijah Newren 2018-08-29 7:06 ` [PATCH 2/3] merge-recursive: add ability to turn off directory rename detection Elijah Newren 2018-08-29 12:54 ` Johannes Schindelin [this message] 2018-08-29 23:00 ` Elijah Newren 2018-08-29 7:06 ` [PATCH 3/3] am: avoid directory rename detection when calling recursive merge machinery Elijah Newren 2018-08-29 12:51 ` Johannes Schindelin 2018-08-30 16:41 ` A rebase regression in Git 2.18.0 Elijah Newren 2018-08-31 10:11 ` Johannes Schindelin 2018-08-31 19:37 ` Elijah Newren
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style List information: http://vger.kernel.org/majordomo-info.html * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=nycvar.QRO.7.76.6.1808291452070.71@tvgsbejvaqbjf.bet \ --to=johannes.schindelin@gmx.de \ --cc=avarab@gmail.com \ --cc=corrmage@gmail.com \ --cc=git@vger.kernel.org \ --cc=gitster@pobox.com \ --cc=newren@gmail.com \ --cc=sbeller@google.com \ --subject='Re: [PATCH 2/3] merge-recursive: add ability to turn off directory rename detection' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
git@vger.kernel.org list mirror (unofficial, one of many) This inbox may be cloned and mirrored by anyone: git clone --mirror https://public-inbox.org/git git clone --mirror http://ou63pmih66umazou.onion/git git clone --mirror http://czquwvybam4bgbro.onion/git git clone --mirror http://hjrcffqmbrq6wope.onion/git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V1 git git/ https://public-inbox.org/git \ git@vger.kernel.org public-inbox-index git Example config snippet for mirrors. Newsgroups are available over NNTP: nntp://news.public-inbox.org/inbox.comp.version-control.git nntp://ou63pmih66umazou.onion/inbox.comp.version-control.git nntp://czquwvybam4bgbro.onion/inbox.comp.version-control.git nntp://hjrcffqmbrq6wope.onion/inbox.comp.version-control.git nntp://news.gmane.io/gmane.comp.version-control.git note: .onion URLs require Tor: https://www.torproject.org/ code repositories for project(s) associated with this inbox: https://80x24.org/mirrors/git.git AGPL code for this site: git clone https://public-inbox.org/public-inbox.git