Re: [eigen] Bitbucket migration |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Bitbucket migration
- From: Joseph Mirabel <joseph.mirabel@xxxxxxx>
- Date: Wed, 11 Sep 2019 19:37:36 +0200
- Autocrypt: addr=joseph.mirabel@xxxxxxx; keydata= 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 tuiytIlVETHqaQ==
- Openpgp: preference=signencrypt
Dear Eigen developers,
First of all, I am not an expert with mercurial and I am fairly good
with git. I am in favor of switching to git.
I played a bit with fast-export[1]. The changes and same basic usage are
on my fork [3].
To see the result, either follow the steps in the README of my fork [3]
of fast-export or visit the temporary repository[4].
So far, here is what I did (or did not):
- I have an error related to unamed head in mercurial,
- I can convert all reference like to revisions or mercurial hashes that
follows the regex in [2].
- I did not try to convert URLs although it should not be hard.
- I manually edited the author file [5] so that they would fit git
author format. If you find yourself in the list and want to update it,
you can contact me.
It should not be hard to add more rules to the plugin convert_references
if anyone feels like doing it.
Best,
Joseph
[1] https://github.com/frej/fast-export.git
[2]
https://github.com/jmirabel/fast-export/blob/1fdc76e0626acd6adfcc0d900d14f36b459c4798/plugins/convert_references/__init__.py#L16
[3] https://github.com/jmirabel/fast-export
[4] https://github.com/jmirabel/eigen_tmp.git
[5]
https://github.com/jmirabel/fast-export/blob/master/eigen/authors_reworked
Le 11/09/2019 à 18:03, Gael Guennebaud a écrit :
> To prepare the migration from bitbucket, I started to play a bit with
> its API to see what could be done. So far I've quickly draft two
> (ugly) python scripts to archive the forks and pull-requests. Since
> this is a one shot for us, I did not cared about robustness, safety,
> generality, beauty, etc.
>
> You can see them there
> : https://gitlab.com/ggael/bitbucket-migration-tools and contribute!
>
> ** Forks **
>
> You can see the summary of the fork script
> there: http://manao.inria.fr/eigen_tmp/archive_forks_log.html
>
> The hg clones (history+checkout) represents 20GB, maybe 12GB if we
> remove the checkouts. Among the 460 forks, 214 seems to have no change
> at all (according to "hg out") and could be dropped. I don't know yet
> where to host them though.
>
> This script can be ran incrementally.
>
>
> ** Pull-Requests **
>
> You can find the output of the pull-requests script
> there: http://manao.inria.fr/eigen_tmp/pullrequests/
>
> There is a short summary, and then for each PR a static .html file
> plus diff/patch files, and other details. For instance,
> see: http://manao.inria.fr/eigen_tmp/pullrequests/OPEN/686/pr686.html
>
> Currently this script cannot be ran incrementally. You have to run it
> just before closing the respective repository!
>
> Also, this script does not grab inline comments. Only the main
> discussions is archived. Those can be obtained by iterating over the
> "activity" pages, but I don't think that's worth the effort because
> they would be difficult to exploit anyway.
>
>
> ** hg to git **
>
> As discussed in the other thread, if we switch from hg to git, then
> all hashes will have to be updated. Generating a map file is easy, and
> thus updating the links/hashes in bug comments and PR comments should
> not be too difficult (we only have to figure out the right regex to
> catch all variants).
>
> However, updating the hashes within the commit messages will require
> to rewrite the whole history in a careful order. Does anyone here
> feels brave enough to write such a script? If not, I guess we could
> live with an online php script doing the hash conversion on demand. I
> don't think we'll have to follow such hashes so frequently.
>
> cheers,
> gael
>
>