emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Progress on merging Eglot: update


From: Payas Relekar
Subject: Re: Progress on merging Eglot: update
Date: Sat, 24 Sep 2022 12:35:19 +0530
User-agent: mu4e 1.8.10; emacs 29.0.50

Payas Relekar <relekarpayas@gmail.com> writes:

> João Távora <joaotavora@gmail.com> writes:
>
>> 5. HELP rewrite https://github.com/joaotavora/eglot
>>    to list/progmodes/eglot.el
>>
>>    I need to come up with a git incantation to run periodically so that
>>    the patches that happen in list/progmodes/eglot.el upstream can
>>    somehow be applied to the GitHub downstream-used-to-be-upstream.
>
> Can we use git-filter repo in similar manner as we did now, but instead
> of moving to child dir (lisp/progmodes/), we move to parent dir
> (../../)?
>
> Then we can simply force push to github. Admittedly I haven't tested
> this yet, but sounds doable. That way commit history will be preserved
> both ways.

Okay, tested and apparently working. It's a bit convoluted, but seems to
be working..

Here's the steps (assuming eglot/ and emacs/ repos are cloned in same
dir):

***
cd emacs/

# reduce to lisp/progmodes
git filter-repo --subdirectory-filter lisp/progmodes/

# reduce to eglot.el
git filter-repo --path eglot.el

cd ../eglot/

# remove eglot.el (to be pulled from emacs)
git filter-repo --invert-paths --path eglot.el

# add emacs.git as upstream
git remote add emacs ../emacs/

# fetch latest emacs.git with eglot.el
git fetch emacs master

# merge both repos
git merge remotes/emacs/master --allow-unrelated-histories --no-commit

# make a commit
git commit -m "; Merge from emacs.git"
***

Here's a repo with test commit added from emacs.git on top:
https://github.com/bhankas/eglot

I did not check extensively, but on (very) quick skim did not notice any
obvious duplication in the log.

Let me know if its helpful or needs more work.

Thanks,
Payas

--



reply via email to

[Prev in Thread] Current Thread [Next in Thread]