Talk:FlightGear Git: splitting FGData
Moved some text that was clearly part of a plan that is currently not very likely to be continued into the discussion page:
Starting new aircraft
New aircraft should not be commited to fgdata. A separate repository should be created instead. Contact a FlightGear Aircraft admin to get your repository included in the FlightGear Aircraft project. You, as author, will get commit rights for that repository.
The current fgdata developers will have access to every single aircraft repository. In order to maintain aircraft that no longer have an active author, fix global bugs etc. Other users can create merge requests to get their fixes/improvements commited.
Step 1: Split aircraft into separate repositories (DONE)
Aircraft are split into "private" repositories, under the FlightGear Aircraft project. Repositories for all aircraft in current fgdata have been created as of 17 October. Repository names equal directory-names (with the exceptions of dots (.) and capitals (ABC), as those are not supported by Gitorious.
There are two workflows that both do the trick:
Method 1
Note: the split branch (737-300-split in this example) must NOT exist beforehand.
cd $FG_ROOT git subtree split -P Aircraft/737-300 -b 737-300-split mkdir -p ../split-aircraft/737-300 cd ../split-aircraft/737-300 git init git fetch $FG_ROOT 737-300-split git checkout -b master FETCH_HEAD git push git@gitorious.org:flightgear-aircraft/737-300.git master
Method 2
(need to check this one)
cd fgdata git clone --no-hardlinks /fgdata /737-300 git filter-branch --subdirectory-filter Aircraft/737-300 HEAD -- --all git reset --hard rm -rf .git/refs/original/ git reflog expire --expire=now --all git gc --aggressive --prune=now
Then all aircraft should be pushed to their new repositories. A script will take care of that.
Step 2: Remove all aircraft from fgdata
A new fgdata repository without any aircraft is created, pushed to gitorious and tested.
Step 3: Write/update manuals
Since the aircraft development flow will be different, we should teach our developers how to use the new system.
To be written:
To be updated:
Step 4: Switch fgdata
Once tests show that the new repository is working fine and no data has been lost, the repositories will be switched. The exisiting repository is renamed, and the new repository takes its place and access to the new repository is setup. The historic fgdata is kept but stays frozen, at least until we're sure everything is safe. It may also be a good idea to keep the existing repo, since it contains release branches - which are not part of the new repository and would be lost otherwise.
Step 5: Inform the crowd
Post an announcement at the mailing list, forum, Facebook (?) and in the upcoming newsletter edition. Link to the respective wiki articles (see Step 3) that contain details on how to work with the new system.
Questions
- What to do with Aircraft/UIUC should it be placed like "one" aircraft in a aircraft-repository? Or each individual?
- An flightgear-aircraft/UIUC repo has been created, we can delete it if needed later on.
- Gitorious does not support dots in repository names.
- For now we just skipped dots, so Supermarine-S.6B has a repo called supermarine-s6b (note that Gitorious also does not distinct capitals. This does not seem to be a problem though, since git clone uses the original directory name).
- What rights should aircraft authors get?
- Commit/review might be best. If they are granted admin rights, they can delete the repo and remove the fgdata-developers as collaborators. When they do the later, there's no way we can regain control over the repo. We won't even be able to delete it from the FlightGear Aircraft project.
- Should we support multiple licenses under the FlightGear Aircraft project?
- Possible, but then the Aircraft Downloadpage would maybe need an update. Better create one Place for GNU-GPL and one for other licences.
- How long should we test? FGData is increasing again as new aircraft are continuously added again.
--Durk 17:48, 16 November 2011 (EST)
Keeping the page though it is soon outdated
As the split has begun and the aircraft have copied the aircraft to SourceForge (see FlightGear Newsletter September 2014#Aircraft moved to SVN), this page could soon be considered obsolete.
As the split has been discussed for some time and is a bit of a watershed I feel that it could be a good idea to maybe add links to relevant developer mailing list treads and forum topics and keep this page for historical reference.
I have added a messagebox template, {{historical}}, for this and similar purposes (here filled in for this page):
This article talk page is outdated but is kept for historical reference.
This split had been discussed for years and finally begun in September 2014. See FlightGear Newsletter September 2014#Aircraft moved to SVN. |