Opened 12 years ago
Last modified 21 months ago
#1514 new enhancement
Automatically update official 0ad Git repos after SVN commits
Reported by: | historic_bruno | Owned by: | |
---|---|---|---|
Priority: | Nice to Have | Milestone: | Backlog |
Component: | Non-game systems | Keywords: | |
Cc: | Kieran P, Philip Taylor | Patch: |
Description (last modified by )
We still want to continue using SVN for 0ad's source code, but there's an increasing number of people (mostly programmers) using forks/clones of the 0ad repo on github or gitorious for their local work due to its numerous advantages. Currently some manual work is required to synchronize the Git repos with our SVN trunk, involving pestering k776 to do whatever he does on his system :)
It would be nicer if an SVN commit triggered an automatic update of these Git repos.
Change History (14)
comment:1 by , 12 years ago
follow-up: 4 comment:2 by , 12 years ago
Alternatively, just a quick script we can run that'll start the sync, or a cron to do it every 5 minutes. Whatever is simplest.
We need a server where I can setup the latest Git, and then rsync my local Git copy to it, which has the sync information needed for it to run smoothly.
Also, we need to setup a user which can commit to Git. I don't want to pop my private SSH keys on the server ;-)
comment:3 by , 12 years ago
Milestone: | Backlog → Alpha 12 |
---|
comment:4 by , 12 years ago
Replying to k776:
Alternatively, just a quick script we can run that'll start the sync, or a cron to do it every 5 minutes. Whatever is simplest.
It would be a simple script once the server was setup with git and a local repo, only a few commands. Or what did you have in mind?
follow-up: 6 comment:5 by , 12 years ago
This is all I do (mapped to an alias '0ad_mirror').
git svn fetch && git merge remotes/trunk --no-edit && git reflog expire --expire=now --all && git gc --auto --prune=now && git push github master && git push gitorious master
comment:6 by , 12 years ago
Replying to k776:
git svn fetch && git merge remotes/trunk
Just that you don't miss it:
21:10 <@vtsj> k776 -- I'm curious; is it possible to update git's master branch by rebasing rather than merging? 21:12 <@vtsj> would make for a nice way to do auto-syncs with the svn repo and avoid tons of useless "merge remote-tracking branch" commits
so the quoted part would be replaced by git svn rebase
.
comment:7 by , 12 years ago
The short answer is no. The longer answer is yes, but it'll rewrite Git history, causing everyones git clone to be out of sync and have massive merge issues unless they themselves know how to and do a rebase when pulling the 0ad git repo. So probably best to stick to the current method.
comment:8 by , 12 years ago
Description: | modified (diff) |
---|---|
Summary: | Automatically update 0ad repo on github on SVN commits → Automatically update official 0ad Git repos after SVN commits |
comment:9 by , 12 years ago
Milestone: | Alpha 12 → Backlog |
---|
comment:11 by , 10 years ago
I wouldn't say this should be merged with the Git transition, but rather that once we have started using Git this will be fixed as invalid.
comment:13 by , 4 years ago
Description: | modified (diff) |
---|---|
Milestone: | Backlog → Work In Progress |
Owner: | set to |
comment:14 by , 21 months ago
Milestone: | Work In Progress → Backlog |
---|---|
Owner: | removed |
Backlogging due to lack of progress and the user retiring.
It might work like this:
git svn
magic to pull updates from the "remote" SVN repo to the local git repok776 can probably fill in some more details based on what he is currently doing.