From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.devel Subject: Re: VC hg backend that use mercurial command server. Date: Mon, 15 Apr 2019 00:59:28 +0300 Message-ID: References: <206E26D8-9891-4171-875D-24904CC79878@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="202263"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 To: Andrii Kolomoiets , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Apr 14 23:59:50 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hFnAD-000qWX-JU for ged-emacs-devel@m.gmane.org; Sun, 14 Apr 2019 23:59:49 +0200 Original-Received: from localhost ([127.0.0.1]:41321 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hFnAC-0001g9-Ch for ged-emacs-devel@m.gmane.org; Sun, 14 Apr 2019 17:59:48 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:56165) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hFnA5-0001g4-Fi for emacs-devel@gnu.org; Sun, 14 Apr 2019 17:59:42 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hFn9y-00040I-HU for emacs-devel@gnu.org; Sun, 14 Apr 2019 17:59:39 -0400 Original-Received: from mail-lj1-x231.google.com ([2a00:1450:4864:20::231]:42612) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hFn9y-0003zE-3a for emacs-devel@gnu.org; Sun, 14 Apr 2019 17:59:34 -0400 Original-Received: by mail-lj1-x231.google.com with SMTP id v22so13749071lje.9 for ; Sun, 14 Apr 2019 14:59:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=anfBWdLdmyJDlBLQ/ESndnMJ8YMzjPFNRVpJ0oxo0Ks=; b=uw0Gu+p0t4EwFfsN3CgQ2pCGNp4H8opwo8XQiAbw8z6LySqjIav5XgbvEaduUwgDQS Gn5Zt5vSP7hfCcHb8HaeWNUiSR7RTn/vMLjlZ3oN/TqdAwk+Hm7Qg1PCBpB4f4M62zdx I11unx8YLHsrNSUYoNip/A8tasVpsemvJyR1uYP6EuoJgY6Sw7vYtHloKxQGYrySZ8Ml 9XLo5lf4InfvazleEgy4UP5QiVU16wB3GZBbSv7DAJZgHp/hmkq+bWwhekxSF8/zZUPm /KfHadT42Iu5nLJBsgIEXmolHUXfHnHmg5pzZIevAo8Twavj7cjCyW7JZ4k4yy3NggPj SFJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=anfBWdLdmyJDlBLQ/ESndnMJ8YMzjPFNRVpJ0oxo0Ks=; b=qnBtbo2HfEvwln0X1Zlyii8XhSoFrzCsE0z2Uur9A7LUn09p33fUW4I7a5yoWz0K4M 5B6++6DlYzDn+P9d9uOmnwRIvx156PwxfU1Z8jX8DmgNGoWMMVJ+svJerkkXO3t+YZau kfqyM5yR66w2MOn9MUOCzNe26cQU/Gb7HH+WMKQBXvXWngABUG2cDv3GiJkJQPS4/0cW sQJZna7RTWI4Jvi8ltCi5K33Rg2LDKz171KJ+MW90bcjVrRvn+dWQwM7MRN2hFgJKtUk MKKsd3IPL4Asd6Wu4jZUTc9CMI975fbYihLKD5ytBiQob4CjLRvZFw8w2pHeSQDRVykC P++A== X-Gm-Message-State: APjAAAVyrCiMt4oU8oyFD87AEzjp/h5sJoXAM/2MIpWJPkZgGidTG+mK r0bAwpoMhzesdn9iIjcvgXojgezO X-Google-Smtp-Source: APXvYqxzXOEz3T4jm/pp3LEUdXprCMr+IktaRGvxmX/datdKEnuuSsga7893vRiV0YGxUlhkeN1c8g== X-Received: by 2002:a2e:97d3:: with SMTP id m19mr16957525ljj.63.1555279170934; Sun, 14 Apr 2019 14:59:30 -0700 (PDT) Original-Received: from [192.168.1.3] ([185.105.174.23]) by smtp.googlemail.com with ESMTPSA id k2sm9659924lfb.62.2019.04.14.14.59.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 14 Apr 2019 14:59:30 -0700 (PDT) In-Reply-To: <206E26D8-9891-4171-875D-24904CC79878@gmail.com> Content-Language: en-US X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::231 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:235460 Archived-At: Hi Andrii, On 13.04.2019 23:08, Andrii Kolomoiets wrote: > I'm finally ready to present you VC hg backend that uses mercurial > command server. It allows to communicate with single mercurial process > over pipe rather than execute hg process for every command. > > Also there is a possibility to answer to hg questions interactively. > It's useful during merge when hg is in doubt about right action. > > Besides that it has some changes and improvements described in > commentary section of the package. Thank you for this proposal. > Hg process can be controlled via pipe (Linux, MacOS) or pty (TRAMP, > Windows). > > I think this package can make working with hg repositories more > pleasant :) I've tried it out briefly, but I hope others on this list who use Mercurial would share their impressions with us as well. FWIW, my main brief impression is that it's prettier (which is a good thing, of course). The benefits of the approach alone didn't overcome the sluggishness of the monster that is the Mozilla repository (the only Hg repo I have). > I want to contribute to improve built-in hg support. > > May I ask which way it can be done better? > > I see that all other backends are process based, so can this > single-process backend be acceptable? I don't think "process based" is a requirement, so on that front we're good. But speaking of conventions, like other backends, it will need a list of implemented/unimplemented backend commands in the commentary at the top. > If so then is it better to replace > hg backend (saving customizable options as much as possible) or provide > two backends which share same options? Generally speaking, we'd first add it as an option and then see about removing the older one. But, again, I wonder what others think. > Source code is here: > https://github.com/muffinmad/emacs-vc-hgcmd/blob/master/vc-hgcmd.el > > Hope you'll find it useful ;) Thanks again.