[Networkit] [ACTION REQ.] GitHub Migration

Kolja Esders kolja.esders at student.kit.edu
Wed Jan 4 08:42:20 CET 2017


thank you very much for your input.

I very much agree with you about the size of the repository and the
resulting loading times. As you pointed out, this is especially annoying
when you have to clone the repository or forks on a regular basis (which
probably few users do though).
The migration is a good chance to remove unneeded files. Just need to
discuss during the next developer meeting the details.
After the migration we can take a closer look at the loading times during
cloning. Maybe the new infrastructure is already helpful. Also in case we
are transitioning to a development process that is more branch-based this
might no longer be a major issue.

Travis is something we def. have on our roadmap. After ensuring a smooth
migration to GitHub and some urgent documentation improvements this makes
sense for sure.

The points you mentioned will hopefully all be discussed during the next
developer meeting.


On 3 January 2017 at 16:54, Maximilian Vogel <
maximilian.vogel at student.kit.edu> wrote:

> Hi all,
> On 15.12.2016 00:46, Kolja Esders wrote:
>> Do not hesitate to ask in case of questions or if you want to point out
>> some potential issues with the migration.
> The current mercurial repository is quite huge with about 444MB (current
> numbers might differ as this is from an older snapshot). This amount
> distributes as follows:
> - the repository folder .hg/ takes most of it with about 320MB.
> - the input/ folder has about 80MB with out.ca-cit-HepTh accounting for
> 59MB.
> - the actual source directory networkit/ only makes up 4.4MB.
> The repository size also matters when cloning/forking the repository. I
> would suggest to use the migration as an opportunity to clean the
> repository in some of the following ways:
> - Remove unused stuff (e.g. several scripts on the top level of the
> repository or the scripts folder if this stuff is not actually used)
> - Check in the current files as a new git repository to strip the
> mercurial history. This also loses all the branches and opens new
> possibilities regarding the development workflow with git. For archival
> reasons the current repository may be imported via GitHub's importer as
> well.
> - Check the input/ folder and make sure only "small" graphs as in file
> size are in there.
> I don't know whether the repository size is an issue for any one at all,
> but I always felt that cloning the repository was a nuisance and kind of
> hindered the workflow to develop in forks instead of branches. I think this
> is not only due to algohub's/RhodeCode's performance but to some extent
> also due to the size of the repository. Maybe there are other ways to
> improve on this, I don't know what Mercurial has to offer with regards to
> repository maintenance.
> Another suggestion I want to make is to use continuous integration via
> travis. As far as I know it is free for open source projects. Michael and I
> experimented on this already and got NetworKit to compile and run the
> unittests on different configurations (Ubuntu and Mac OS X with both g++
> and clang++)[1]. The travis configuration file is linked below[2].
> On 15.12.2016 09:18, Michael Hamann wrote:
>> In general, that's great news as it will make contributions also for me
>> much easier as I'm working with Git locally already. However, could you
>> please explain how you converted the Mercurial commits to Git? I'm asking
>> because I'm using git-remote-hg [0] and the commit ids of the current
>> repository on GitHub are different from the ones I have.
> GitHub offers an import assistant. I don't know, what it does exactly, but
> it appears to do quite some work as it took ages when I used it to put the
> NetworKit repository on GitHub. I don't remember the details very well, but
> I think it converts branches from Mercurial to git in a different way than
> git-remote-hg does.
> [1]: https://travis-ci.org/networkitproject/networkit-mirror/
> builds/162431669 The only reason why this is shown as failed is because
> some unittests fail.
> [2]: https://github.com/networkitproject/networkit-mirror/blob/
> Dev/.travis.yml
> Best,
> Max
> _______________________________________________
> NetworKit mailing list
> NetworKit at ira.uni-karlsruhe.de
> https://lists.ira.uni-karlsruhe.de/mailman/listinfo/networkit
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ira.uni-karlsruhe.de/pipermail/networkit/attachments/20170104/25d15d70/attachment.html>

More information about the NetworKit mailing list