News:

Beta test the new forum at https://simutrans.forum/
Simutrans Wiki Manual
The official on-line manual for Simutrans. Read and contribute.

Github SVN synchronisation broken ?

Started by hreintke, July 13, 2013, 07:54:10 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

hreintke

On Github the latest version is 6578 (dated july 6th), svn update goes to version 6588.

Is the sync between the two still active ?

Herman

Dwachs

I think, ansgar needs to update his git mirror to include the new committer kierongreen.
Parsley, sage, rosemary, and maggikraut.

ansgar

Quote from: Dwachs on July 13, 2013, 08:03:12 AM
I think, ansgar needs to update his git mirror to include the new committer kierongreen.

Yes, git-svn complains with "Author: kierongreen not defined in .git/svn-authors file".

Ansgar

hreintke

LS,

Latest commit on aburch/simutrans is from sept 20 2014.
Latest on svn is from prissi on 8-10-2014 with several revisions in between.

Can the github sync be checked ?

Herman

ansgar

Yes, there's a new commiter that Git does not know about:

    Author: An_dz not defined in .git/svn-authors file

If you give me a "Name <email@address>" for An_dz, I'll add him to the file and the sync should work again. It's possible to use something like "Knightly <knightly@invalid>" if one doesn't want to make the real name or email address public.

Ansgar

ArthurDenture

It looks like the git-svn command accepts an argument --authors-prog=<program>, where the program might be something like echo "$1 <$1@invalid>". That flag would cause the failure mode for new authors to be "author has an invalid address" instead of "git sync silently stops working".

That or turn on emailing of cron failures ;-) (or some other means of getting alerted). Just a thought.

Frank

#6
The base.tab is missing in the repository on GitHub.

This file lists all the texts in the program code that need a translation.

If a text is added or changed, it should also be entered there.

ACarlotti

Quote from: ansgar on October 13, 2014, 07:22:56 AMthere's a new commiter that Git does not know about:

I believe I've just triggered this again. My details can be found in Extended commits.

ACarlotti

I think this is still an issue (either that, or I've failed to interact with the svn correctly).

prissi

As you can see, there is no one around to maintain the github. Ansgar had looked at it very sporadically. Maybe you can sent him a message from github?

ACarlotti

Github has no means of sending private messages; as far as I can tell the only options of notifying him through Github would be through a dummy pull request, or by mentioning him in a comment somewhere on Github. There's also the option of trying one of the email addresses I can find for him in other roles. (I haven't tried any of these yet.)

I'm wondering whether it would be worth setting up a Github 'organisation' for Simutrans, so that we're not dependant upon a former contributor for the ongoing maintenance of the git mirror (which, while unofficial, is nonetheless firmly embedded in the development of Simutrans Extended).

prissi

I think it would make much more sense to set up git (with gitsvn) on my server. But then I really avoided learning about git, since on the commandline it is really uncomfortable compared to svn (of course there are tools lit gitless etc.) So I have no clue how to set up a gitsvn server.

ACarlotti

I agree that hosting it on your server would make more sense. I can try to help work out the right commands, but my attempts to test setting up a server are hampered by the fact that I seem to keep getting my IP blocked while doing so.

A lot of the steps can be similar to those that I posted here, although there should probably be some differences since the server doesn't need to have a 'working' copy of the code. So maybe something like the following will work:

1. Clone aburch's mirror to a bare repository:
git clone --bare https://github.com/aburch/simutrans.git simutrans.git
where the last argument is the name of the directory on the server that will contain the repository.

2. Remove the experimental branch cloned from aburch's repository (no point leaving that around):
git branch -D experimental

3. Edit the config file to configure git-svn. Add the following:

[svn]
authorsfile = authors
[svn-remote "svn"]
url = svn://servers.simutrans.org
fetch = simutrans/trunk:refs/heads/master
branch = simutrans/branches/trunk:refs/heads/master
branches = simutrans/branches/*:refs/heads/*
tags = simutrans/tags/*:refs/remotes/svn/tags/*
rewriteRoot = svn://tron.homeunix.org/simutrans
ignore-paths = "^simutrans/branches"

Actually, the url can probably be changed to svn://localhost. The ignore-paths option will (I think) prevent branches other than trunk being fetched - this would match the behaviour of the Github mirror, but if you want to include other branches then you can remove that line.

4. Create an authors file. It should containing the following people - you'll have to add the other svn usernames to the file.

ACarlotti =  ACarlotti <andrew@carlotti.me.uk>
= André Zanghelini <an_dz@invalid>
= Christoph Mallon <christoph.mallon@gmx.de>
= DrSuperGood <drsupergood@yahoo.com>
= Dwachs <dwachs@gmx.net>
= Hajo <hajo@invalid>
= HaydenRead <simutrans@readdev.com>
= kierongreen <kierongreen@msn.com>
= Knightly <knightly@invalid>
= Markohs <jose.marcos.lopez@gmail.com>
= Markus Pristovsek <prissi@physik.tu-berlin.de>
= TurfIt <turfittt@gmail.com>


5. Run git svn fetch. If everything has worked so far, the master branch should include every svn revision, the author details as specified in the authors file should be included in the latest commits, and the last commit from aburch should still be present - you can run git log to check this.

If everything has worked so far, then I think there are just two more things to do. Firstly you'll need to configure automatic fetching from svn. This means running 'git svn fetch' in the repository either after every svn update (presuming svn has some way of triggering this), or at regular intervals (which will necessarily mean a delay in changes reaching the git mirror). Secondly, you'll need to make this repository available over the internet. It should be relatively easy to find information about how to do this on the internet - from Git's own website I can find this page on configuring http access, and this page on configuring access via the Git protocol (you only need to configure one of these).

I hope this is of some help.

Dwachs

It would be good to create this mirror repository directly at github, after all there is already a simutrans group there:

https://github.com/simutrans

Parsley, sage, rosemary, and maggikraut.

ACarlotti

Quote from: Dwachs on April 30, 2019, 06:45:06 AMhttps://github.com/simutrans
I hadn't realised that existed. It might be sensible to host a copy there even if it is also on prissi's server. Then I think it would be possible to make Github view it as the parent repository if aburch deletes his version of the repository and nominates this as the replacement parent. (I'm not totally sure how deleting a repository work, but I presume the replacement isn't just chosen automatically.)

In any case, we'd still need to have something mirroring the svn into a Git repository, and prissi's server might be the most sensible place to do this, since it already hosts the svn.

ceeac

Quote from: ACarlotti on May 01, 2019, 02:19:24 AMThen I think it would be possible to make Github view it as the parent repository if aburch deletes his version of the repository and nominates this as the replacement parent.

There is an option to transfer a repository which also preserves meta-information like forks, but I have never used it.

prissi

Sorry, it is just that I have sucessfully avoided git completely for the last ten years and thus do not feel comfortable to host anything I cannot properly maintain (because simple I lack the time to delve deeper into git). Furthermore, in terms of backup, another server might be a better option.

ACarlotti

In that case I think the best thing is either for Dwachs or An-dz (the existing Github simutrans organization members) to set up mirroring, or for one of them to add me to the organization so I can set it up.

Dwachs

Parsley, sage, rosemary, and maggikraut.


Dwachs

Parsley, sage, rosemary, and maggikraut.

ACarlotti

I've just seen that https://github.com/aburch/simutrans is updating again. So I think to avoid confusion we can continue using that unless/until either we have further problems or aburch suggests a change.

ceeac

Seems like the mirror is broken again: The SVN has new commits, but the latest commit on https://github.com/aburch/simutrans is from 5 days ago (as of today).

prissi

I think it is again the author issue, since a new author is added to svn.

Dwachs

I contacted Ansgar, everything is working again.
Parsley, sage, rosemary, and maggikraut.