Migration to Heptapod

You must make the request on Heptapod like explained on Tryton - How to Develop

Following the deactivation of the Mailgun account, it was no more possible to post message. Now the emails have been deactivated so it is working again. So please post and close reviews when you convert into a merge request.

1 Like

Here are some tips to setup mercurial to smooth the usage with Heptapod:
https://octobus.net/blog/2020-11-26-modern-mercurial.html

4 Likes

If you are like me annoyed to not see which merge request have threads solved, I wrote a script based on GitHub - Krystofee/gitlab-unresolved-threads: Chrome extension to show unresolved threads on merge request list. that can be loaded with Greasemonkey: https://www.b2ck.com/~ced/heptapod-mr.user.js

Here is the result

I’m sharing a simple script we developed to download the patch files from the old codereview server:


import requests
import os
import argparse
from bs4 import BeautifulSoup

parser = argparse.ArgumentParser()
parser.add_argument("-u", dest='user', type=str, required=True)
parser.add_argument("-p", dest='path', type=str, required=True)
args = parser.parse_args()
user = args.user
savepath = args.path

try: 
    os.mkdir(savepath) 
except OSError as error: 
    print("This path already exist, the files inside will probably be replaced")  

URL = "https://codereview.tryton.org/user/" + user
page = requests.get(URL)
soup = BeautifulSoup(page.content, "html.parser")

primer_tr = soup.find("tr", class_="header outgoing")
second_tr = soup.find("tr", class_="header unsent")

keep = False
for search in soup.find_all("tr"):
    if search == primer_tr or keep == True:
        rows = search.find("div", class_="subject")
        keep = True

        if rows:
            SECOND_URL = "https://codereview.tryton.org" + "/" + rows.find("a", href=True).getText() + "/"

            page2 = requests.get(SECOND_URL)
            soup2 = BeautifulSoup(page2.content, "html.parser")
            download = soup2.find("a", string="[raw]")
            download = "https://codereview.tryton.org" + download["href"]

            save = requests.get(download)
            soup3 = BeautifulSoup(save.content, "html.parser")
            filename = download.split("issue")
            write = open(savepath + "/" + filename[1], "w")
            write.write(soup3.text)
            write.close()

    if search == second_tr:
        break

This allows anyone to download the patches to its local computer to upload them latter to heptapod.

Hope it helps!

5 Likes

With Mercurial 6.4, you can add in .hg/hgrc:

[merge-patterns]
**/CHANGELOG = internal:union-other-first

This will resolve automatically and correctly the common rebase conflict on CHANGELOG file.

2 Likes