From patchwork Mon Jul 13 10:10:41 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Phillip Wood X-Patchwork-Id: 11659295 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 053E7618 for ; Mon, 13 Jul 2020 10:11:00 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id DCBBA2077D for ; Mon, 13 Jul 2020 10:10:59 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="A5VJyxmk" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728883AbgGMKK4 (ORCPT ); Mon, 13 Jul 2020 06:10:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44420 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728382AbgGMKKz (ORCPT ); Mon, 13 Jul 2020 06:10:55 -0400 Received: from mail-wm1-x342.google.com (mail-wm1-x342.google.com [IPv6:2a00:1450:4864:20::342]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B4BCBC061755 for ; Mon, 13 Jul 2020 03:10:54 -0700 (PDT) Received: by mail-wm1-x342.google.com with SMTP id l2so12595989wmf.0 for ; Mon, 13 Jul 2020 03:10:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references:reply-to :mime-version:content-transfer-encoding; bh=9hFeyKroMXhJ4hUtuuytTGLjnzZZrnfY5FNHzGLb1AM=; b=A5VJyxmkw8yYfdsBT4m6U5VVJtEn4iOMMvnOIm/RRpuFbcvpRugm0otP7t5+a2/+L4 gfCehSPsVoRf/rxAzUuNoHDOnkuyhTVWzXxWqoQCS5LE+GZxOn7kOxT6BLM8IRNKMxW8 dXz28y5TgnoXz9AG7CNe92vyxmS79MX118wJa+fsHPD7D9C+1SfbYDKKAxvzjOS8EkcS 3+QdPC4bxh7O9B3q39Rz2Xrvi0CxfMqN2dZdo8NozSMFVDV0lpRyng1OUyY8INCHmqTC ofJoaP70JAV7QwW1aTilPH/8gURNK09gvnO3/SDw+ka2OnTRESV8nycdB3wBgkFDWST+ /apw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:reply-to:mime-version:content-transfer-encoding; bh=9hFeyKroMXhJ4hUtuuytTGLjnzZZrnfY5FNHzGLb1AM=; b=Q7NxFeJyOYTEK78RzItNGKtnycY+BCioQI04XUroU7lYjcq/D4cUIrXnHTHfdF1SY4 PnLA1rIlAwsVjiTXXERxrcw4fr4WtXuNJ+mksoEHPm/4ZfdyhIAwr7xms3suCy5CaTZR vWJ3EL1Sni1YI9y0QO481Nm93VjX2jWYWDLJYrWhZ3mUY3lGHQw6/Q6DRIvciM9irtqn /cVAgkY58G+KW2T3tswuNKOByIf9GQlhV2PW5pX3pteWz6BVFs03PHU++oEj2sScS7Oo StFFGubeOaL52AfSW+u5NNuOjdXy87CcphOSZhK7+E+VfQgtXNLmjn6KDIHnlmTNXk4/ dDww== X-Gm-Message-State: AOAM531jRNc1PN0VgtuQ99zXYCU31xj0kw4/xR6dQujeLr/2bqulKHh9 N/k9ET4zr88u5iaeXj09/ns= X-Google-Smtp-Source: ABdhPJzwPzrJWozdWnf81x3TSsm0JHme/spYVwnpDgYJrRqMzSoLgJvzlNzeNHiA/nGAQuLlMW8hJw== X-Received: by 2002:a7b:c403:: with SMTP id k3mr17917141wmi.35.1594635053377; Mon, 13 Jul 2020 03:10:53 -0700 (PDT) Received: from localhost.localdomain (130.20.198.146.dyn.plus.net. [146.198.20.130]) by smtp.gmail.com with ESMTPSA id v7sm23811549wrp.45.2020.07.13.03.10.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jul 2020 03:10:52 -0700 (PDT) From: Phillip Wood To: Johannes Schindelin , Junio C Hamano , Elijah Newren , Rohit Ashiwal , =?utf-8?b?xJBvw6BuIFRy4bqnbiBD?= =?utf-8?b?w7RuZyBEYW5o?= , Alban Gruin , Git Mailing List Cc: Phillip Wood Subject: [PATCH v6 1/5] rebase -i: add --ignore-whitespace flag Date: Mon, 13 Jul 2020 11:10:41 +0100 Message-Id: <20200713101045.27335-2-phillip.wood123@gmail.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200713101045.27335-1-phillip.wood123@gmail.com> References: <20200407141125.30872-1-phillip.wood123@gmail.com> <20200713101045.27335-1-phillip.wood123@gmail.com> Reply-To: Phillip Wood MIME-Version: 1.0 Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org From: Rohit Ashiwal Rebase is implemented with two different backends - 'apply' and 'merge' each of which support a different set of options. In particular the apply backend supports a number of options implemented by 'git am' that are not implemented in the merge backend. This means that the available options are different depending on which backend is used which is confusing. This patch adds support for the --ignore-whitespace option to the merge backend. This option treats lines with only whitespace changes as unchanged and is implemented in the merge backend by translating it to -Xignore-space-change. Signed-off-by: Rohit Ashiwal Signed-off-by: Phillip Wood --- Documentation/git-rebase.txt | 19 +++++++- builtin/rebase.c | 19 ++++++-- t/t3422-rebase-incompatible-options.sh | 1 - t/t3436-rebase-more-options.sh | 60 ++++++++++++++++++++++++++ 4 files changed, 93 insertions(+), 6 deletions(-) create mode 100755 t/t3436-rebase-more-options.sh diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt index f7a6033607..b003784f01 100644 --- a/Documentation/git-rebase.txt +++ b/Documentation/git-rebase.txt @@ -422,8 +422,23 @@ your branch contains commits which were dropped, this option can be used with `--keep-base` in order to drop those commits from your branch. --ignore-whitespace:: + Ignore whitespace differences when trying to reconcile +differences. Currently, each backend implements an approximation of +this behavior: ++ +apply backend: When applying a patch, ignore changes in whitespace in +context lines. Unfortunately, this means that if the "old" lines being +replaced by the patch differ only in whitespace from the existing +file, you will get a merge conflict instead of a successful patch +application. ++ +merge backend: Treat lines with only whitespace changes as unchanged +when merging. Unfortunately, this means that any patch hunks that were +intended to modify whitespace and nothing else will be dropped, even +if the other side had no changes that conflicted. + --whitespace=