From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id uDPrMsZ9cGPDEgEAbAwnHQ (envelope-from ) for ; Sun, 13 Nov 2022 06:16:54 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id UIsBMsZ9cGPyPwAAG6o9tA (envelope-from ) for ; Sun, 13 Nov 2022 06:16:54 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 6412A3A5DB for ; Sun, 13 Nov 2022 06:16:54 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ou5Lb-0004pX-9F; Sun, 13 Nov 2022 00:15:59 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ou5LZ-0004p7-VN for emacs-orgmode@gnu.org; Sun, 13 Nov 2022 00:15:58 -0500 Received: from mail-lj1-x22c.google.com ([2a00:1450:4864:20::22c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ou5LX-0006nd-RV for emacs-orgmode@gnu.org; Sun, 13 Nov 2022 00:15:57 -0500 Received: by mail-lj1-x22c.google.com with SMTP id l8so9017222ljh.13 for ; Sat, 12 Nov 2022 21:15:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=PkkKh1q8PdLUntNtIz1iihz4F2hPjBWGjAsHL9YVFQg=; b=TKSNWyc1gmr1OtP+VGHbiAsFgfsf7VPLgT5fCleIPS5ExRFt35MbvyzsbODJ52jsmR tPB1opjs5nDWr6GRP0hjrxUv64itc0p8BBhCemR2oU4b31wFPG48jbanOvVBk4FDCAUt 6qGmu5IVdD8hx4vxnxVHUIaShL/IyH5TU3RfJZSAB5vnIgIjfSXygOykCMUoS3cT9Zjl MK1aGg15tS0lu0HABXQ9OuA1u2WnikZ5sI3YJVXmdIakKAtQtsx3MCr3E46mjbs6DKNW PMQUnuOL6xxP6JzJQVMpxR2WY9HT89q8RUkWKk30v7DgC+ACqUijiaCp+vhcW1YIg3NU YSAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=PkkKh1q8PdLUntNtIz1iihz4F2hPjBWGjAsHL9YVFQg=; b=Od+pgnJFXfdCprVbltAdsiQrR5/WGFGeL+faqSsjrIDqX4YBoHrIFQKxp9KfcV8Mvk p8valxHPRIokcPknmsue4Slweq0jDe1oQKuum6ap6+6TAqEk/4uU0GIqWLGiIWeqMkql ng/+GnQYMln55iJaxDQqHt7i2feYuGoVZ3FWgvBP/7BHisBouH88gSlfmHm01TDkmEN5 l/SyzpGc0T9pMSgBuz3P+JcBqzYR+WlY3fRBydKb7JSg3zflL7kMijSVKBgueGFPgKKl SQApRen1ntsEjuDERTl8+9/RYU4bGkZP5Lfun7yxiDg53c3Uxkl3rRMTFW7YJ3aa8DJ2 x1AQ== X-Gm-Message-State: ANoB5pmA23WLXcG/18u/0yYj66WvHMiADiUKy3lgFx555Y7ij04qIVs+ kWbxpGC0P9GfQeG02tfdpEYvSiYgrFC7zoGDwxiEuiMbkfwfrpRu X-Google-Smtp-Source: AA0mqf5o41l4kHkGComTQy41kXpIbE5feQEvXSlgTXdLr+ExPnsgsv9RMuWbVMD9K2A/atroL4Q1yuCk8NkqmABX21A= X-Received: by 2002:a2e:9913:0:b0:26f:a402:51cc with SMTP id v19-20020a2e9913000000b0026fa40251ccmr2777985lji.208.1668316552487; Sat, 12 Nov 2022 21:15:52 -0800 (PST) MIME-Version: 1.0 Received: by 2002:a05:6520:4af1:b0:22a:e96a:7f9b with HTTP; Sat, 12 Nov 2022 21:15:51 -0800 (PST) From: Samuel Wales Date: Sat, 12 Nov 2022 22:15:51 -0700 Message-ID: Subject: [OT] org and diff To: emacs-orgmode@gnu.org Content-Type: text/plain; charset="UTF-8" Received-SPF: pass client-ip=2a00:1450:4864:20::22c; envelope-from=samologist@gmail.com; helo=mail-lj1-x22c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1668316614; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=PkkKh1q8PdLUntNtIz1iihz4F2hPjBWGjAsHL9YVFQg=; b=IfKE4NqPVeCyeSPpTedF6CZvmIUhel4VYzh1nul2uJwY9oqocx6GLHyxDc1zIAk/NP3SSM C1c+KH6hZpOamcEMGZk7C8j+xR7IVxHGZxhPP9SAemTtBqrUYC2lNjlxNVvl08NtZ7QsVN H1qKQD69PNhRhoBKzV6pd4tbJvl9+u44U/mVz94PmM3bzti3XXjhmpa0OExvsoH6MrU7BE wlHK/IAfWCk/t/Wmp670AffUZ5Qhx689NZpOMQl8d2OBZldmNk5XD8oO9AKUCt22pu+X9S dAmoBnkigmXYf1BXj9QYNcegvIAM96itC95rxgZTUsVAV+wvSZjoQANxK8yr5w== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1668316614; a=rsa-sha256; cv=none; b=Bn0XgehZC+uU7jZPM94sAzWXziNFIXQXXhFm0yZNuTLommVwCkTxm3gVA+WjUsraCX1f3M KSOCTQ2BYqm2IH8Qn9K/DIHGJulDoNLlIGGzdGJxxHNKc1cRQ7x7pKX5+IYwTat0Ao0KTs noLUGMaZiEO8Px+4Oe2UaRBM2pw1N6DIdCm1GQm+or2/pyXPAR0BI7psiVPKVMNByS3gDV PJoF0LW1bN0pqI0zBkwlhxyJMJ1kECLgkJ20Au5WF4EROoD+PxU0AzJqxMLTXArpoKLoNE SEScP9cSD8XZqMl3Pb599oiwhLm3d4J7vNBQcZovekK2kAG0GHrQRJY0ARZVvg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=TKSNWyc1; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -6.04 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=TKSNWyc1; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 6412A3A5DB X-Spam-Score: -6.04 X-Migadu-Scanner: scn0.migadu.com X-TUID: PtmAtKJnIkh3 i have a very old version of Magit, for reasons I won't get into. Fancier diff settings might be differnet or not available. But something drives me crazy. Probably not too Org-related, but it might be. I just want to know why, is all. I have a 24k line org file, and it's not that complex wrt levels. 2 or 3 levels with odd stars only. various types of content. someplace in it, is an entry with a 234-item plain list. if i try to move this entry, and make no other changes, diff goes insane. if i try to refile this entry to a different org file, diff similarly goes insane, with the - part. only that change. ok, what it does is, intersperse or mingle entries. so suppose i want to stage this one tiny little change, namely moving one entry [the one with the large plain list] to a different location in the same file. even if i move it really distantly. i.e. i want to put the - and the + of the move to the staging area in magit. unstaged changes should then not have this file in it at all after the staging operations. then, basically, staged changes will have this move. as a user, i want diff to make this two hunks, a big - and a big +. but diff mingles parts of another entry or entries with this list, so that it is scattered all over the diff. to get the result i want requires tons of intra-hunk stage operations. at best. so, what aspect of diff or org is triggering this kind of behavior? what is it that diff needs to understand about org, or what minimality etc. settings does it want to create a better diff? i know org has lots of similar lines [e.g. planning headers with scheduled dates that are identical]. but still, this is a nontrivial size org file, with no other changes that i made. diff's insanity still occurs even if i move the entry distantly. i am of course aware of histogram, patience, etc. and that git diff has a few experimental choices of options. also long ago i read diff manual with its discussion of end of file beg of file and minimality with --minimal and all that stuff. however, here, though, i am mostly interested in specifically what diff's, or git diff's, or magit's, /deal/ is. in /this/ case. where does it get off doing that? everything else is the same, so why is it keying on the wrong thing? does it think i made the changes as it presents them, or does it go for some other goal like minimality or speed and not really care what i did? is it because it e.g. ignores end or beg of file or so? or is it getting confused by some line? i have of course heard of merge something or others. which presumably tell diff about the structure of files or so. like, the fact that the planning line always follows the header. or perhaps i am imagining this kind of tool. now, whether i can mitigte it is interesting /after/ that. my paleolithic magit version might not be capable, but still. -- The Kafka Pandemic A blog about science, health, human rights, and misopathy: https://thekafkapandemic.blogspot.com