unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* VC hg backend that use mercurial command server.
@ 2019-04-13 20:08 Andrii Kolomoiets
  2019-04-14 21:59 ` Dmitry Gutov
  0 siblings, 1 reply; 7+ messages in thread
From: Andrii Kolomoiets @ 2019-04-13 20:08 UTC (permalink / raw)
  To: emacs-devel

Hello.

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.

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 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? 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?

Source code is here:
https://github.com/muffinmad/emacs-vc-hgcmd/blob/master/vc-hgcmd.el

Hope you'll find it useful ;)


Andrii



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: VC hg backend that use mercurial command server.
  2019-04-13 20:08 VC hg backend that use mercurial command server Andrii Kolomoiets
@ 2019-04-14 21:59 ` Dmitry Gutov
  2021-05-27 18:18   ` Xinglu Chen
  0 siblings, 1 reply; 7+ messages in thread
From: Dmitry Gutov @ 2019-04-14 21:59 UTC (permalink / raw)
  To: Andrii Kolomoiets, emacs-devel

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.



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: VC hg backend that use mercurial command server.
  2019-04-14 21:59 ` Dmitry Gutov
@ 2021-05-27 18:18   ` Xinglu Chen
  2021-05-27 20:01     ` Andrii Kolomoiets
  0 siblings, 1 reply; 7+ messages in thread
From: Xinglu Chen @ 2021-05-27 18:18 UTC (permalink / raw)
  To: Dmitry Gutov, Andrii Kolomoiets, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 308 bytes --]

A little late to the party (just 2 years :-)), has there been any
updates on this?

I have used it for a bit and found it very useful, I especially like the
‘vc-change-log’ view which shows a graph rather than just a linear
history.

I think it would be great if this could become part of Emacs.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: VC hg backend that use mercurial command server.
  2021-05-27 18:18   ` Xinglu Chen
@ 2021-05-27 20:01     ` Andrii Kolomoiets
  2021-05-28 15:49       ` Xinglu Chen
  0 siblings, 1 reply; 7+ messages in thread
From: Andrii Kolomoiets @ 2021-05-27 20:01 UTC (permalink / raw)
  To: Xinglu Chen; +Cc: emacs-devel, Dmitry Gutov

Xinglu Chen <public@yoctocell.xyz> writes:

> A little late to the party (just 2 years :-)), has there been any
> updates on this?

Not much.  My proposal to include it in ELPA gained little to no
interest :)

https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg00938.html

> I have used it for a bit and found it very useful, I especially like the
> ‘vc-change-log’ view which shows a graph rather than just a linear
> history.

Well, you can achieve the same behavior with vc-hg backend:

    (setq vc-hg-log-graph t)


-- 
Andrii



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: VC hg backend that use mercurial command server.
  2021-05-27 20:01     ` Andrii Kolomoiets
@ 2021-05-28 15:49       ` Xinglu Chen
  2021-05-28 20:41         ` Andrii Kolomoiets
  2021-06-10 14:05         ` Andrii Kolomoiets
  0 siblings, 2 replies; 7+ messages in thread
From: Xinglu Chen @ 2021-05-28 15:49 UTC (permalink / raw)
  To: Andrii Kolomoiets; +Cc: Dmitry Gutov, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 796 bytes --]

On Thu, May 27 2021, Andrii Kolomoiets wrote:

> Xinglu Chen <public@yoctocell.xyz> writes:
>
>> A little late to the party (just 2 years :-)), has there been any
>> updates on this?
>
> Not much.  My proposal to include it in ELPA gained little to no
> interest :)
>
> https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg00938.html

That’s unfortunate.

>> I have used it for a bit and found it very useful, I especially like the
>> ‘vc-change-log’ view which shows a graph rather than just a linear
>> history.
>
> Well, you can achieve the same behavior with vc-hg backend:
>
>     (setq vc-hg-log-graph t)

Oh, I didn’t know about that, but the built-in Hg backend doesn’t
support ‘hg shelve/unshelve’ right, or have i missed something again? :)


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: VC hg backend that use mercurial command server.
  2021-05-28 15:49       ` Xinglu Chen
@ 2021-05-28 20:41         ` Andrii Kolomoiets
  2021-06-10 14:05         ` Andrii Kolomoiets
  1 sibling, 0 replies; 7+ messages in thread
From: Andrii Kolomoiets @ 2021-05-28 20:41 UTC (permalink / raw)
  To: Xinglu Chen; +Cc: Dmitry Gutov, emacs-devel

Xinglu Chen <public@yoctocell.xyz> writes:

> built-in Hg backend doesn’t support ‘hg shelve/unshelve’ right, or
> have i missed something again? :)

You are right.  Support for shelve/unshelve was copy-pasted from git
backend.  But shelve UI in vc-git was improved in Emacs 28.  vc-hgcmd is
out of sync at the moment and uses the old UI.  Would be great to move
the shelve/unshelve UI to vc "core".


-- 
Andrii



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: VC hg backend that use mercurial command server.
  2021-05-28 15:49       ` Xinglu Chen
  2021-05-28 20:41         ` Andrii Kolomoiets
@ 2021-06-10 14:05         ` Andrii Kolomoiets
  1 sibling, 0 replies; 7+ messages in thread
From: Andrii Kolomoiets @ 2021-06-10 14:05 UTC (permalink / raw)
  To: Xinglu Chen; +Cc: Dmitry Gutov, emacs-devel

Xinglu Chen <public@yoctocell.xyz> writes:

>>> A little late to the party (just 2 years :-)), has there been any
>>> updates on this?
>>
>> Not much.  My proposal to include it in ELPA gained little to no
>> interest :)
>>
>> https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg00938.html
>
> That’s unfortunate.

Thanks to Stefan, vc-hgcmd is on ELPA now:
http://elpa.gnu.org/packages/vc-hgcmd.html


-- 
Andrii



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-06-10 14:05 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-13 20:08 VC hg backend that use mercurial command server Andrii Kolomoiets
2019-04-14 21:59 ` Dmitry Gutov
2021-05-27 18:18   ` Xinglu Chen
2021-05-27 20:01     ` Andrii Kolomoiets
2021-05-28 15:49       ` Xinglu Chen
2021-05-28 20:41         ` Andrii Kolomoiets
2021-06-10 14:05         ` Andrii Kolomoiets

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).