From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE,URIBL_SBL_A autolearn=ham autolearn_force=no version=3.4.4 Received: from tb-ob20.topicbox.com (tb-ob20.topicbox.com [173.228.157.66]) by inbox.vuxu.org (Postfix) with ESMTP id 010AF2351D for ; Thu, 18 Apr 2024 23:48:43 +0200 (CEST) Received: from tb-mx0.topicbox.com (tb-mx0.nyi.icgroup.com [10.90.30.73]) by tb-ob20.topicbox.com (Postfix) with ESMTP id 8130D2F6BA for ; Thu, 18 Apr 2024 17:48:42 -0400 (EDT) (envelope-from bounce.mM3ce44eda7af52e08323343b1.r522be890-2105-11eb-b15e-8d699134e1fa@9fans.bounce.topicbox.com) Received: by tb-mx0.topicbox.com (Postfix, from userid 1132) id 2513615DDC8C; Thu, 18 Apr 2024 17:48:42 -0400 (EDT) ARC-Authentication-Results: i=3; topicbox.com; arc=pass (as.1.mailchannels.net=pass, ams.1.mailchannels.net=pass) smtp.remote-ip=23.83.214.40; dkim=pass (2048-bit rsa key sha256) header.d=ecloud.org header.i=@ecloud.org header.b=qxVpHOFz header.a=rsa-sha256 header.s=dreamhost x-bits=2048; dmarc=none policy.published-domain-policy=none policy.applied-disposition=none policy.evaluated-disposition=none (p=none,d=none,d.eval=none) policy.policy-from=p header.from=ecloud.org; spf=pass smtp.mailfrom=lists@ecloud.org smtp.helo=cornsilk.maple.relay.mailchannels.net; x-internal-arc=fail (as.2.topicbox.com=pass, ams.2.topicbox.com=fail (body has been altered), as.1.mailchannels.net=pass, ams.1.mailchannels.net=fail (message has been altered)) (Message modified while forwarding at Topicbox) ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d= topicbox.com; h=from:content-type:mime-version:subject:date :references:to:in-reply-to:message-id:list-help:list-id :list-post:list-subscribe:reply-to:content-transfer-encoding :list-unsubscribe; s=sysmsg-1; t=1713476921; bh=I79WhrIX0jGMrdMR JoErSlU1m66YwDskswq6oI4/uXM=; b=VQwYMb1XkAgiAsrKzzzRaQaVypPZp7Jx o6T5TauNDCYZzAZLd2/a9wnqLNgcgd0SsojUnwkioAq8xmbHljdXL+qHKOCdi80C xTeKCNK7ONw/2jP2thqmb5JOUxjXdlTmIzP8/ffP39MJAU0QKJ8wN9yYbxArmuJI 6tb3KYDds6Q= ARC-Seal: i=3; a=rsa-sha256; cv=pass; d=topicbox.com; s=sysmsg-1; t= 1713476921; b=pTEW0TW4RPVHLplrjtRHHzfunCXtpgzckzJbf4kDomtrzbfBCf h29ygDy3jjwQNh0rqxiMygiO0+JocDIpyb592M4cDLW9ochPMwvIqOkzwvkjkLHT GlzKEUknh1423VcI412/fL211uKf0WCGoDjTCWbdYFHLUAYkyVj7JZNBU= Authentication-Results: topicbox.com; arc=pass (as.1.mailchannels.net=pass, ams.1.mailchannels.net=pass) smtp.remote-ip=23.83.214.40; dkim=pass (2048-bit rsa key sha256) header.d=ecloud.org header.i=@ecloud.org header.b=qxVpHOFz header.a=rsa-sha256 header.s=dreamhost x-bits=2048; dmarc=none policy.published-domain-policy=none policy.applied-disposition=none policy.evaluated-disposition=none (p=none,d=none,d.eval=none) policy.policy-from=p header.from=ecloud.org; spf=pass smtp.mailfrom=lists@ecloud.org smtp.helo=cornsilk.maple.relay.mailchannels.net; x-internal-arc=fail (as.2.topicbox.com=pass, ams.2.topicbox.com=fail (body has been altered), as.1.mailchannels.net=pass, ams.1.mailchannels.net=fail (message has been altered)) (Message modified while forwarding at Topicbox) X-Received-Authentication-Results: tb-mx0.topicbox.com; arc=pass (as.1.mailchannels.net=pass, ams.1.mailchannels.net=pass) smtp.remote-ip=23.83.214.40; bimi=skipped (DMARC did not pass); dkim=pass (2048-bit rsa key sha256) header.d=ecloud.org header.i=@ecloud.org header.b=qxVpHOFz header.a=rsa-sha256 header.s=dreamhost x-bits=2048; dmarc=none policy.published-domain-policy=none policy.applied-disposition=none policy.evaluated-disposition=none (p=none,d=none,d.eval=none) policy.policy-from=p header.from=ecloud.org; iprev=pass smtp.remote-ip=23.83.214.40 (cornsilk.maple.relay.mailchannels.net); spf=pass smtp.mailfrom=lists@ecloud.org smtp.helo=cornsilk.maple.relay.mailchannels.net; x-aligned-from=pass (Address match); x-me-sender=none; x-ptr=pass smtp.helo=cornsilk.maple.relay.mailchannels.net policy.ptr=cornsilk.maple.relay.mailchannels.net; x-return-mx=pass header.domain=ecloud.org policy.is_org=yes (MX Records found: mx1.mailchannels.net,mx2.mailchannels.net); x-return-mx=pass smtp.domain=ecloud.org policy.is_org=yes (MX Records found: mx1.mailchannels.net,mx2.mailchannels.net); x-tls=pass smtp.version=TLSv1.2 smtp.cipher=ECDHE-RSA-AES256-GCM-SHA384 smtp.bits=256/256; x-vs=clean score=49 state=0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=9fans.net; h=from :content-type:mime-version:subject:date:references:to :in-reply-to:message-id:list-help:list-id:list-post :list-subscribe:reply-to:content-transfer-encoding :list-unsubscribe; s=dkim-1; t=1713476921; x=1713563321; bh=+rwt k5X1B9w0yB2oLxe8KfIjoGqZj2vB0tM1kIn+WJY=; b=mKf4HMb45bfK6Hv1zOLT 7h92zNpAjmyyhJ1LJ8Y7nzhp91B/Op7iwUOc3Now39h/BH9ilBaQ0dfh2lQntND2 SIA6qu8Lz/fy/UHn6U6jVeLUl6iBFoc+4QH2jFPVMWA1QqLzk0W1qR8kY5NpEqAv nrm/w9bTUGKJUyPyAVqVxqU= Received: from tb-mx0.topicbox.com (localhost.local [127.0.0.1]) by tb-mx0.topicbox.com (Postfix) with ESMTP id BE41D15DD840 for <9fans@9fans.net>; Thu, 18 Apr 2024 17:48:28 -0400 (EDT) (envelope-from lists@ecloud.org) Received: from tb-mx0.topicbox.com (localhost [127.0.0.1]) by tb-mx0.topicbox.com (Authentication Milter) with ESMTP id 2AAF00A4CAB; Thu, 18 Apr 2024 17:48:28 -0400 ARC-Seal: i=2; a=rsa-sha256; cv=pass; d=topicbox.com; s=arcseal; t= 1713476908; b=tJpQQO01nBhtvh41zo1Dx5Z1651kKHw/2rStfqYIwoK3PCcFmQ bRI4kejtlnhgElEjy9WmPAqzScqknTJVzxmlVyONHN9tT/SQVTy4D1VNFcEpaemK jqZhWXj0/kxQAzR69kVBrvcIspY0QOywavgdIYg9Leka40Aepbs5cHdBoArcRj+0 bZKE5eWLJSXkUQQvTkVfnZOoOVi2MDaYYG6F4UFW9gP8pivdXdK2PWU1kPX7+OHF WmmdDVlfY64arTsTV6sM65LiCG4b0VKYg2Wx/+qRgqF0VrElQoUM1WFpp4anY6hq wQ1m6nh9cUFvyiBURLHqVQ/IAWV0rbdnzKTg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d= topicbox.com; h=from:content-type:mime-version:subject:date :references:to:in-reply-to:message-id; s=arcseal; t=1713476908; bh=QNQqwXYZaj/NzG2MHux2ZdU0lg6cjxCIGZyEIf4QthY=; b=m2aIeVYAkInk GT+1bSjXFA55Zi8q14bPqNshFb+RM2sdxZiWJ0gP84vds4z+GHSn3qZtugjuOx2U kABc2bwCC/OiyRXRY0Ls9y/KGLW6llb/MjaN+OmR3/elvBi6VXsg/snhWXOccxxX mdxRpAedia1qnA2123PM7TbOgbR4FKPX7pLKWd01ZppozDdrQLRAdbgQdohXBij2 gI+3YWGKVj2FV9OXtswymGDnpsQuynHmB4atjZQBWb1eN5nJri1WPODEEbgQHuGD XToF9R9MTcYvxfrgcigzJ/dyzEUBWmURmZDwm9Cr1OxDMxfiqwFMPFheDJT2AFpn XElK3S8CXw== ARC-Authentication-Results: i=2; tb-mx0.topicbox.com; arc=pass (as.1.mailchannels.net=pass, ams.1.mailchannels.net=pass) smtp.remote-ip=23.83.214.40; bimi=skipped (DMARC did not pass); dkim=pass (2048-bit rsa key sha256) header.d=ecloud.org header.i=@ecloud.org header.b=qxVpHOFz header.a=rsa-sha256 header.s=dreamhost x-bits=2048; dmarc=none policy.published-domain-policy=none policy.applied-disposition=none policy.evaluated-disposition=none (p=none,d=none,d.eval=none) policy.policy-from=p header.from=ecloud.org; iprev=pass smtp.remote-ip=23.83.214.40 (cornsilk.maple.relay.mailchannels.net); spf=pass smtp.mailfrom=lists@ecloud.org smtp.helo=cornsilk.maple.relay.mailchannels.net; x-aligned-from=pass (Address match); x-me-sender=none; x-ptr=pass smtp.helo=cornsilk.maple.relay.mailchannels.net policy.ptr=cornsilk.maple.relay.mailchannels.net; x-return-mx=pass header.domain=ecloud.org policy.is_org=yes (MX Records found: mx1.mailchannels.net,mx2.mailchannels.net); x-return-mx=pass smtp.domain=ecloud.org policy.is_org=yes (MX Records found: mx1.mailchannels.net,mx2.mailchannels.net); x-tls=pass smtp.version=TLSv1.2 smtp.cipher=ECDHE-RSA-AES256-GCM-SHA384 smtp.bits=256/256; x-vs=clean score=49 state=0 X-ME-VSCause: gggruggvucftvghtrhhoucdtuddrgedvledrudekuddgtdefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucgoufhushhpvggtthffoh hmrghinhculdegledmnecujfgurhephfgtggfuffhfvfgjkffosegrtdhmrehhtdejnecu hfhrohhmpefuhhgrfihnucftuhhtlhgvughgvgcuoehlihhsthhssegvtghlohhuugdroh hrgheqnecuggftrfgrthhtvghrnheplefghedvgfejteekheejhfetgfelffejledutdel ueetgeefjeevteetheehgffhnecuffhomhgrihhnpehgihhthhhusgdrihhopdhgihhthh husgdrtghomhenucfkphepvdefrdekfedrvddugedrgedtpdeljedrudekvddrudeitddr heegnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepvdefrdekfe drvddugedrgedtpdhhvghloheptghorhhnshhilhhkrdhmrghplhgvrdhrvghlrgihrdhm rghilhgthhgrnhhnvghlshdrnhgvthdpmhgrihhlfhhrohhmpeeolhhishhtshesvggtlh houhgurdhorhhgqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeeolehfrghnshes lehfrghnshdrnhgvtheq X-ME-VSScore: 49 X-ME-VSCategory: clean Received-SPF: pass (ecloud.org: Sender is authorized to use 'lists@ecloud.org' in 'mfrom' identity (mechanism 'include:netblocks.dreamhost.com' matched)) receiver=tb-mx0.topicbox.com; identity=mailfrom; envelope-from="lists@ecloud.org"; helo=cornsilk.maple.relay.mailchannels.net; client-ip=23.83.214.40 Received: from cornsilk.maple.relay.mailchannels.net (cornsilk.maple.relay.mailchannels.net [23.83.214.40]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tb-mx0.topicbox.com (Postfix) with ESMTPS for <9fans@9fans.net>; Thu, 18 Apr 2024 17:48:27 -0400 (EDT) (envelope-from lists@ecloud.org) X-Sender-Id: dreamhost|x-authsender|lists@ecloud.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id B3E772C3273 for <9fans@9fans.net>; Thu, 18 Apr 2024 21:48:26 +0000 (UTC) Received: from pdx1-sub0-mail-a293.dreamhost.com (unknown [127.0.0.6]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 4D3E52C2ED0 for <9fans@9fans.net>; Thu, 18 Apr 2024 21:48:26 +0000 (UTC) ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1713476906; a=rsa-sha256; cv=none; b=Qi/SECwvxJcjRTxmB+58hERmZrTMTYd3GrYEpRbxgfCC1NXyQFiQOjD+wOMpltnKPPfiNs T3BxnPOgbbNL105jLWE0BYcRp57r2tHVXfjhB9pdoAOx3DL6IDEnDDSFw2bkCp5yz9q5Rd RSRbom6oTv17r+Ue4PkJGB4FE+Mk0ya1DV9Y2KteaTUYHNB/jWmZViujQF5n62JYmTBewG 2MWs7TPmWWfuBKEkD5Toj64I8P67uZxyk9l86N/cw912TKJf1X0HFLn+F1wV533wu8A5GW uYieRPoGrrcFuRr+98b1eu/yYPwQleRssrsWldRl1Yy8YeXRFaM2WacfYEsXKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1713476906; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references:dkim-signature; bh=QNQqwXYZaj/NzG2MHux2ZdU0lg6cjxCIGZyEIf4QthY=; b=WEY1t/+WvjAednvXESNo/DUMMNyNGxAt8QL8wkH3hjNYbVTfTT/tLXAhxGttqhZuK+t04w sStVXttmlSyArGiGfCQa4pN8dvD1Lj4Onkgn3iMSASac64RVsPuWk/kpcoZ02Ki9nZeaNY XSmvQmZxHkyIgUa9foyYs42KIJsmbRYfI0srzs7UqE+0eII5r2jfZrlA7mEdOsGtnOX5mA rewnrpwqTUbH4JBISuup2tLurd0SGur498HU424BM7jSAPHgqBp7w4009rcAOtemsL1H4R 1GWSkCET6R9abRu53VsxqqEBN4tBZlABtV2MPuXFsQqHUVMN70HrKoMnJ3S0EQ== ARC-Authentication-Results: i=1; rspamd-878bcf566-rpk8k; auth=pass smtp.auth=dreamhost smtp.mailfrom=lists@ecloud.org X-Sender-Id: dreamhost|x-authsender|lists@ecloud.org X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|lists@ecloud.org X-MailChannels-Auth-Id: dreamhost X-Arch-Wipe: 13ea9e2f6ecc19f4_1713476906537_2283693069 X-MC-Loop-Signature: 1713476906537:1751926305 X-MC-Ingress-Time: 1713476906536 Received: from pdx1-sub0-mail-a293.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.117.22.173 (trex/6.9.2); Thu, 18 Apr 2024 21:48:26 +0000 Received: from smtpclient.apple (54.sub-97-182-160.myvzw.com [97.182.160.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: lists@ecloud.org) by pdx1-sub0-mail-a293.dreamhost.com (Postfix) with ESMTPSA id 4VLBGy0HJhz3V for <9fans@9fans.net>; Thu, 18 Apr 2024 14:48:25 -0700 (PDT) From: Shawn Rutledge Content-Type: multipart/alternative; boundary="Apple-Mail=_49D8ABBB-DBF0-49EB-932B-1CFB24A5B5C3" Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.500.171.1.1\)) Subject: Re: [9fans] VCS on Plan9 Date: Thu, 18 Apr 2024 14:48:14 -0700 References: <4AB7C637-0E7D-492E-AA3A-BEAA980B22BB@iitbombay.org> To: 9fans <9fans@9fans.net> In-Reply-To: Message-Id: <00DCFE18-5213-4A5E-92E2-AB75B15B5A42@ecloud.org> X-Mailer: Apple Mail (2.3774.500.171.1.1) Topicbox-Policy-Reasoning: allow: sender is a member Topicbox-Message-UUID: 6711077e-fdcd-11ee-8c68-8ac9fe8b7b06 Archived-At: =?UTF-8?B?PGh0dHBzOi8vOWZhbnMudG9waWNib3guY29tL2dyb3Vwcy85?= =?UTF-8?B?ZmFucy9UYWIyNzE1YjBlNmYzZTBhNS1NM2NlNDRlZGE3YWY1MmUwODMyMzM0?= =?UTF-8?B?M2IxPg==?= List-Help: List-Id: "9fans" <9fans.9fans.net> List-Post: List-Software: Topicbox v0 List-Subscribe: Precedence: list Reply-To: 9fans <9fans@9fans.net> Content-Transfer-Encoding: 7bit List-Unsubscribe: , Topicbox-Delivery-ID: 2:9fans:437d30aa-c441-11e9-8a57-d036212d11b0:522be890-2105-11eb-b15e-8d699134e1fa:M3ce44eda7af52e08323343b1:1:qvduGH0MFZpleFVKKqDSE9T28Z-eWgdP87LMcgzkGxM --Apple-Mail=_49D8ABBB-DBF0-49EB-932B-1CFB24A5B5C3 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 > On Apr 18, 2024, at 1:41=E2=80=AFPM, Dan Cross wrote: >=20 > Git and Jujitsu are, frankly, superior. Aha, I had never heard of Jujutsu until now; you mean https://martinvonz.gi= thub.io/jj/ right? Monitoring file changes and treating changes to the wor= king copy as an implicit work-in-progress commit sounds like a good idea, g= ood for filesystem-integrated revision control. In my usual markdown edito= r that I use for notes (https://github.com/ec1oud/nettebook) I=E2=80=99m pl= anning to add UI for making git commits. I suppose prompting for a customi= zed commit message would still be a good idea, but otherwise getting commit= s automatically without needing to add that as an application feature or re= membering to do it on the command line might be a good feature. Interesting that it's Rust. Just another reason to eventually have Rust on= Plan 9=E2=80=A6 For prose purposes (especially auto-wrapped Markdown) it bothers me that gi= t diff mainly does line diffs. So I=E2=80=99ve been trying to find an effi= cient algorithm for word diffs. (Yes there is git diff --word-diff, but fo= r an application to show this graphically, I=E2=80=99m not a big fan of run= ning a separate process for it. And the output needs parsing anyway.) It = seems a common technique is the facepalm one: turn every space into a newli= ne and then do line diffs. But there=E2=80=99s another old Bell project: h= ttps://github.com/HaikuArchives/Spiff.git It=E2=80=99s kindof ugly code an= d with lots of comments about how inefficient it is, but at least it starts= by tokenizing and then working with word lists in memory instead of charac= ter substitution. So I=E2=80=99m working on a fork to try to turn it into = a library (will see if that=E2=80=99s worthwhile or just leads to a suffici= ent understanding of the algorithm that I=E2=80=99d rather start over). Bu= t this could also be the sort of thing Jujutsu could improve upon, I suppos= e. ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/Tab2715b0e6f3e0a5-M3ce44= eda7af52e08323343b1 Delivery options: https://9fans.topicbox.com/groups/9fans/subscription --Apple-Mail=_49D8ABBB-DBF0-49EB-932B-1CFB24A5B5C3 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=UTF-8
On Apr 18, 2024, at 1:41 PM, Dan Cross <cr= ossd@gmail.com> wrote:

Git and Jujitsu ar= e, frankly, superior.

Aha, I had = never heard of Jujutsu until now; you mean https://martinvonz.github.io/jj/ right?  Mo= nitoring file changes and treating changes to the working copy as an implic= it work-in-progress commit sounds like a good idea, good for filesystem-int= egrated revision control.  In my usual markdown editor that I use for = notes (https://github.com/e= c1oud/nettebook) I’m planning to add UI for making git commits. &= nbsp;I suppose prompting for a customized commit message would still be a g= ood idea, but otherwise getting commits automatically without needing to ad= d that as an application feature or remembering to do it on the command lin= e might be a good feature.

Interesting that it&#= 39;s Rust.  Just another reason to eventually have Rust on Plan 9&hell= ip;

For prose purposes (especially auto-wrapped Markd= own) it bothers me that git diff mainly does line diffs.  So I’v= e been trying to find an efficient algorithm for word diffs.  (Yes the= re is git diff --word-diff, but for an application to show this graphically= , I’m not a big fan of running a separate process for it.  And t= he output needs parsing anyway.)  It seems a common technique is the f= acepalm one: turn every space into a newline and then do line diffs.  = But there’s another old Bell project: https://github.com/HaikuArchives/Spiff.git=   It’s kindof ugly code and with lots of comments about how inef= ficient it is, but at least it starts by tokenizing and then working with w= ord lists in memory instead of character substitution.  So I’m w= orking on a fork to try to turn it into a library (will see if that’s= worthwhile or just leads to a sufficient understanding of the algorithm th= at I’d rather start over).  But this could also be the sort of t= hing Jujutsu could improve upon, I suppose.

= --Apple-Mail=_49D8ABBB-DBF0-49EB-932B-1CFB24A5B5C3--