Re: REST-API: Merging/Rebasing with Mercurial?

Ralf Schlatterbeck <[email protected]>
Newsgroups gmane.comp.bug-tracking.roundup.devel
Message-ID <[email protected]>
On Wed, Jan 23, 2019 at 08:52:47AM +0100, Thomas Arendsen Hein wrote:
[Description deleted]

I must confess that your description of the process completely
discouraged me. Life is too short to learn a second version control
system in a way you obviously mastered it, especially when it's so
different from what I'm used to. So what I did:
- Convert the whole hg repo to git (including the pulled changes from
  the GSOC Repo) using reposurgeon
- Rebase using git rebase --ignore-whitespace --whitespace=fix from the
  start of the GSOC branch with the destination of the current head
- I had to resolve the whitespace-problematic commits of the first change
  and a later commit (the fourth or so) where a second file showed up
  that had wrong line-endings in the bugs.python.org branch.
- During the merge I discovered two bug-fixes (that produced conflicts)
  on the bugs.python.org branch that I wanted to retain, so I
  cherry-picked them to a new branch based on head
- Rebased the resulting GSOC branch a second time onto my cherrypick
  branch this time without problems
- Fixed the new regression tests so that they run in our environment
- Fixed python3 problem so that tests now run with both python versions
- Fixed some security-related problems
- Added changelog and attribution

Now I though: Go back with this to mercurial. I discovered two tools
that claim to support this (I'm on what I think is the latest mercurial
version that I pulled with pip, version 4.8.2):
- hgext.convert shipped with mercurial. Unfortunately this tool produces
  completely different hashes for the same commits. Even the first
  commit by Richard Jones has a different hash.
  This tool doesn't even work when I convert a fresh checkout of roundup
  from Sourceforge to hg (hg to hg!). In that case the first commits are
  the same but starting with 4567 the hashes differ.
  At least for mercurial the number of commits is the same. When
  converting from git I'm not even getting the same numbering.
- fastimport claims to be able to read a git fast import file and
  convert this to a mercurial repo: This is even worse. It produces
  several additional heads and doesn't seem to have the latest commits.
  (reposurgeon tries to use this when exporting to hg that's why I tried
  this first)

So it looks like I'm back to step 1 and now need to apply a set of
patches I currently have in git on top of the current mercurial tip.
Any suggestions on the tooling to do this? (And yes, I know I shouldn't
have converted the thing to git but well..)

Ralf
-- 
Dr. Ralf Schlatterbeck                  Tel:   +43/2243/26465-16
Open Source Consulting                  www:   http://www.runtux.com
Reichergasse 131, A-3411 Weidling       email: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.