Alex Henrie <alexhenrie24@xxxxxxxxx> writes: >> > - if (options.root && fork_point > 0) >> > + if (options.root && options.fork_point > 0) >> > die(_("cannot combine '--root' with '--fork-point'")); >> >> Is that because of this code? > > Yes. I was trying to avoid annoying the user with errors when > rebase.forkPoint is set to "true" and --root is given on the command > line. > >> If so, perhaps the configuration parser should set the .fork_point >> to (-1), so that "[rebase] forkpoint = false" that appears in your >> ~/.gitconfig file can be countermanded with "[rebase] forkpoint" >> that is placed in .git/config for one particular project that you do >> not mind using the feature? > > That's a great point. I will make that change and resubmit. Thanks! By the way, is the feature itself something we can test easily? I think I saw the "we must interact with --root sensibly" test, but the actual feature not being tested include - rebase.forkpoint set to false and then to true; does it use the fork-point feature (your patch as-is would have failed this test); - rebase.forkpoint set to false and command line says --fork-point; - rebase.forkpoint set to true and command line says --no-fork-point; I offhand do not know if it is easy to observe it the fork-point feature gets triggered, but it seems that the difference in behaviour is big enough for you to care, so I am hoping you may think of a way. Thanks.