Hi Lionel, On Tue, Apr 16, 2013 at 08:15:07AM +0200, Lionel Elie Mamane <lionel@mamane.lu> wrote:
Great, how do you make it do that? That is _so_ not my experience, when cherry-picking commits touching reportbuilder/java/{com,org} to/from libreoffice-4-0 from/to master.
I tried that on a sample repo, so thanks for bringing this up. It seems the git rename detection is O(N^2), so the default number of renamed files is limited to avoid long merges. I needed git config diff.renameLimit 3000 (the default is 1000) and then I could cherry-pick a sample change, affecting reportbuilder/java/org/libreoffice/report/JobDefinitionException.java from master to -4-0 without getting conflicts. NOTE: the fact that git doesn't warn you about this config setting being too low sounds like a bug to me, with https://github.com/vmiklos/git/commit/1352990e431d21cca0d6cc0fcf778a2a104f3766 I get: $ git cherry-pick 7b0ebb3 HEAD is now at eb5a62e Updated core warning: inexact rename detection was skipped due to too many files. warning: you may want to set your diff.renamelimit variable to at least 2596 and retry the command. error: could not apply 7b0ebb3... test: missing modeline hint: after resolving the conflicts, mark the corrected paths hint: with 'git add <paths>' or 'git rm <paths>' hint: and commit the result with 'git commit' Which is much more helpful. (Submitting that patch upstream is already in my TODO. :-) ) Miklos
Attachment:
signature.asc
Description: Digital signature