all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Payas Relekar <relekarpayas@gmail.com>
To: "João Távora" <joaotavora@gmail.com>
Cc: emacs-devel@gnu.org
Subject: Re: Progress on merging Eglot?
Date: Sun, 18 Sep 2022 22:01:49 +0530	[thread overview]
Message-ID: <87fsgod4ee.fsf@gmail.com> (raw)
In-Reply-To: <87zgf993py.fsf@gmail.com>


Hello,

A bit later than I expected, but $LIFE and all..

I made a naive attempt to get eglot.el into emacs with history (took too
long to call it QnD, but its definitely dirty).

Here's the steps I followed:

***
# move to a directory where both repos can be cloned
cd ~/git

# clone repos
git clone https://github.com/joaotavora/eglot.git

git clone git clone -b master git://git.sv.gnu.org/emacs.git

# filter eglot with only eglot.el and find+replace # in commit messages
git filter-repo --path eglot.el --message-callback '
      return re.sub(b" #", b" https://github.com/joaotavora/eglot/issues/", message)
      return re.sub(b",#", b",https://github.com/joaotavora/eglot/issues/", message)
      return re.sub(b"(#", b"(https://github.com/joaotavora/eglot/issues/", message)
      return re.sub(b"Fix#", b"Fix: https://github.com/joaotavora/eglot/issues/", message)
      return re.sub(b"github#", b"Github: https://github.com/joaotavora/eglot/issues/", message)
      '

# back to emacs repo
cd ../emacs

# add filtered eglot as upstream
git remote add eglot ../eglot/

git fetch eglot master

# prepare emacs repo for merge
git merge remotes/eglot/master --allow-unrelated-histories --no-commit

# reset eglot to initial commit
cd ../eglot && git reset --hard 4970e7e1b605510c665c52bc1ddd83bcd1e255d4

# merge by pushing eglot.el into lisp/progmodes/
cd ../emacs && git read-tree --prefix=lisp/progmodes/ -u eglot/master

# make a commit
git commit -m "; Merge from joaotavora/eglot"

# push eglot to latest
cd ../eglot && git reset --hard 2f9cf0dcfb2d37f45ec8b9ea65ac9063da033b70

# pull all eglot history to emacs
cd ../emacs && git pull -s subtree eglot master
--allow-unrelated-histories
***

This is the repo I pushed for you to see:
https://github.com/bhankas/emacs/commits/master

There are couple of glaring issues with this:

1. commit message length is not validated, but can be part of 'git filter-repo' script
2. history does not show for eglot.el or lisp/progmodes, but only as part
  of entire emacs repo

I'm kinda unsure where to go from here, for #1 I can definitely use some
help, my bash skills are primitive at best.

As for #2, I've tried quite a few solutions after scouring Google  and
this seems to be the least bad. Another approach was to export patches
from our filtered eglot repo and apply them to particular file in emacs
repo, but that way leads to many many merge conflicts, that I am unsure
how to resolve automatically. I'll be happy to provide the patches to
anybody if it can help.

Further help appreciated.

Thanks,
Payas

Payas Relekar <relekarpayas@gmail.com> writes:

> João Távora <joaotavora@gmail.com> writes:
> I'd say focus just on keeping the history of eglot.el.  The history of
>> eglot-tests.el would
>> be nice too, but nowhere as important as eglot.el.
>>
>> Don't worry about the other files.
>>
>> João
>
> Very well. Thank you!
>
> Will get back once there is some progress.

--



  reply	other threads:[~2022-09-18 16:31 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-08 16:48 Progress on merging Eglot? Payas Relekar
2022-09-08 17:09 ` João Távora
2022-09-08 17:09   ` Payas Relekar
2022-09-08 17:16     ` João Távora
2022-09-08 17:26       ` Payas Relekar
2022-09-18 16:31         ` Payas Relekar [this message]
2022-09-18 20:30           ` Philip Kaludercic
2022-09-18 20:47             ` Dmitry Gutov
2022-09-18 21:00               ` Philip Kaludercic
2022-09-18 21:11                 ` Dmitry Gutov
2022-09-18 21:13                   ` João Távora
2022-09-18 21:12                 ` João Távora
2022-09-18 21:20                   ` Philip Kaludercic
2022-09-18 21:24                     ` João Távora
2022-09-19  2:37           ` Stefan Monnier
2022-09-19  4:25             ` Payas Relekar
2022-09-19  4:42               ` Payas Relekar
2022-09-19  7:23                 ` João Távora
2022-09-19  9:09                   ` Payas Relekar
2022-09-19  9:25                     ` Payas Relekar
2022-09-19  9:17                   ` Payas Relekar
2022-09-19 14:09                     ` João Távora
2022-09-23 15:23                     ` Progress on merging Eglot: update João Távora
2022-09-24  4:32                       ` Payas Relekar
2022-09-24  7:05                         ` Payas Relekar
2022-09-25  2:46                         ` Richard Stallman
2022-09-25  3:04                           ` Payas Relekar
2022-09-25  5:04                           ` Eli Zaretskii
2022-09-26 12:10                             ` Richard Stallman
2022-09-26 12:13                               ` João Távora
2022-09-27 16:16                                 ` Richard Stallman
2022-09-19 12:25                 ` Progress on merging Eglot? Stefan Monnier
  -- strict thread matches above, loose matches on Subject: below --
2022-09-19 16:32 Payas Relekar
2022-09-19 16:59 ` João Távora
2022-09-19 15:12 Payas Relekar
2022-09-19 16:09 ` João Távora
2022-09-19 13:11 Payas Relekar
2022-09-19 14:28 ` João Távora
2022-09-19 15:50   ` Payas Relekar
2022-09-18 16:55 Payas Relekar
2022-09-08 12:31 Payas Relekar
2022-09-08 13:09 ` João Távora
2022-09-08 13:55   ` Philip Kaludercic
2022-09-08 14:02     ` João Távora
2022-09-08 14:14       ` Philip Kaludercic
2022-09-08 14:24         ` Payas Relekar
2022-09-08 14:44           ` Philip Kaludercic
2022-09-08 14:47             ` João Távora
2022-09-08 14:54               ` Payas Relekar
     [not found]           ` <CALDnm50tiazUMnm9D3knBUCSLbT4FLvSPoX4ayUEmOtQSHbCtw@mail.gmail.com>
     [not found]             ` <87r10lor2c.fsf@gmail.com>
2022-09-08 16:08               ` João Távora
2022-09-08 14:26         ` João Távora

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87fsgod4ee.fsf@gmail.com \
    --to=relekarpayas@gmail.com \
    --cc=emacs-devel@gnu.org \
    --cc=joaotavora@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.