On Wed, Nov 20, 2024 at 7:48 PM Marvin Renich <m...@renich.org> wrote:
>
> * Tony Mechelynck <antoine.mechely...@gmail.com> [241120 04:27]:
> > The "official" solution, if the Mercurial server is retired forever,
> > is to use git instead, but to at least one of us (me) and possibly
> > more, git is so foreign that we would rather explore all other
> > possible solutions before resorting to it. This message is written by
> > and for this kind of user.
>
> [snip]
>
> > Solution 3 : Enable the "gif" extension in Mercurial, learn how to use
> > it, and use it to make the official git repository appear like a
> > Mercurial repository from where we sit.
> > -- The problem here is "learn how to use it" : indeed, the online
> > Mercurial help about the git extension is practically nil : here it is
> > :
> >     hg config extensions.git=  help git
> >         git extension - grant Mercurial the ability to operate on Git
> > repositories. (EXPERIMENTAL)
> >         This is currently super experimental. It probably will consume
> > your firstborn a la Rumpelstiltskin, etc.
> >         no commands defined
> > That's all. (I've added indentation to separate the lines of output
> > even if linebreaks are added in e-mail transit.) To me, such a
>
> I have, in the past, used the hggit extension
> (https://hg-git.github.io/), rather than the git extension.  It is
> packaged in Debian as mercurial-git.  To use it, simply add
> «[extensions] hggit = » to your .hgrc, then use git URLs to clone the
> repo, e.g. «hg clone git+https://github.com/vim/vim.git».  Other than
> that, you simply use hg as you normally would.  And, it has help.
>
> Note that the instructions on the website say to also add
> hgext.bookmarks= to your .hgrc, but if you read more carefully, it says
> this is only needed for hg versions prior to 1.7, which is _very_ old.
> I didn't add this and it seems to work fine.
>
> I just tried the above clone in a fresh VM.  It works fine, but it takes
> a while to clone, as there are more than 20,000 commits.  There is a
> progress bar during the download, but when all the commits are
> downloaded, there is a long pause without any feedback while the
> extension converts the git commits to mercurial.
>
> ...Marvin

Since I posted the above, I found that my Linux distro includes an
hggit package ; so I installed it but didn't yet enable it. Strangely
as it may seem, Mercurial regards it as "external" but doesn't need to
be told where it is :

linux-tuxedo:~/.build/vim/vim-hg # hg --config extensions.hggit=  version -v
Mercurial Distributed SCM (version 6.8.2)
(see https://mercurial-scm.org for more information)

Copyright (C) 2005-2024 Olivia Mackall and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Enabled extensions:

  churn  internal
  fetch  internal
  hggit  external  1.1.3 (dulwich 0.22.1)
  mq     internal
  pager  internal
  strip  internal
linux-tuxedo:~/.build/vim/vim-hg #

The part I don't understand in the hggit help is the need to download
a separate git clone on my hard drive outside my Mercurial repository
of Vim, even though the latter includes the .gitignore and other files
needed by git but not by Mercurial. (It also includes, of course, the
.hgignore and other files needed by Mercurial but not by git.) I would
have thought that, let's say, after having set the "default" remote
source to the proper git: URL for the Vim server on github, I could
use "hg in" and "hg fetch --switch-parent" on my existing Mercurial
repository as usual and that it would list or pull (respectively) any
new changesets available on github, converting them to proper
Mercurial changesets as it went and committing them as descendants
from the existing ones (downloaded from Christian's Mercurial server
and before that from Bram's), without the need to rebuild the whole
stuff from scratch.

I have a hint that the authors of the hggit help are interested mostly
in "pushing" to git while I am interested only and exclusively in
"pulling" from git in order to "make" from the source thus downloaded
successively better Vim executables configured to my will and wish. If
I ever feel the need to contribute changes to the source and the
runtime files, I will, like in the past, write them as local mq
patches and send them to the list in "unified git diff" format as
produced by Mercurial even without the hggit extension.

Best regards,
Tony.

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/vim_dev/CAJkCKXt8RomR2uG26Re9snuxGg%2Ba1e4L9X1Y%3DJ7Xp9r%3DpTZn-g%40mail.gmail.com.

Raspunde prin e-mail lui