Menu

Git

2014-12-16
2015-11-29
  • Leif Gruenwoldt

    Leif Gruenwoldt - 2014-12-16

    Hello all,

    Now that my world domination plans for migrating open-dis to the Maven build system are in place, I've set my sights on my next ambitious goal!

    Is there any interest within the community to migrate open-dis source code from svn to git?

    If there is I'd be happy to lend a hand. I've migrated a number of small and large projects to git before. They were all cvs projects mind you, but I have experience using the "git svn" bridge [1] so I expect it to be straight forward. I expect it would go smoothly and preserve all history.

    My personal motivation is because a) I love git b) and I want to include open-dis source code as a submodule in one of my git projects. Obviously, without open-dis being a git project it makes that pretty difficult! (I could host a svn to git mirror like I did last time, but that's added maintenance I'd prefer to avoid).

    Again, if there is interest, I see two options for the migration; stay on SourceForge and just migrate the repository to git or... drum roll... move to GitHub, where all the cool projects are these days. The former would be least disruptive. The later would expose the open-dis project to the many great features [2] of GitHub like pull-requests and issues.

    So what does everyone (in particular Don) ?

    Cheers

    1. https://www.kernel.org/pub/software/scm/git/docs/git-svn.html
    2. https://github.com/features
     
  • Don McGregor

    Don McGregor - 2015-01-02

    Sounds wonderful. I've been using git a bit, and there's some javascript files at https://github.com/mcgredonps/open-dis for use with the node package manager.

     
  • Leif Gruenwoldt

    Leif Gruenwoldt - 2015-01-27

    Fantastic.

    If we were to host the source code on GitHub, one option would be to create an organization account for "Open DIS". This would act like an umbrella for the project so that you could have one or more code repositories under the organization. It may also make it easier to manage permissions for contributors if you wish to do so. And we'd get an organization website url e.g. http://open-dis.github.io

    One hair brain idea I had would be to split up the single open-dis svn repository into multiple git repositories e.g. one per languages, one per app, etc. This may make your skin crawl, if so let me know and we can skip it. But it has it's advantages in the GitHub world. Doing this would encapsulate things like issues and pull requests with the language or app. So users of the java language wouldn't have to see things that affect the other languages for example. One possible disadvantage though (or maybe it's an advantage) would be that when you go to cut the next open-dis release e.g. 4.X, you'd have to tag each repository one at a time. I'm part of the asciidoctor organization on GitHub and this is how they've structured their projects, it's a fairly common pattern now.

    So here's one way thought for how the Open-DIS Organization on GitHub might look in terms of repositories:

    // git repositories for languages

    • open-dis-cpp.git
    • open-dis-csharp.git
    • open-dis-java.git
    • open-dis-javascript.git
    • open-dis-objective-c.git
    • open-dis-python.git

    // git repositories for apps (i'd need some help naming these repositories)

    • open-dis-xplane
    • DisMapIpad
    • darkstar
      ... etc

    // misc git repositories

    • open-dis-hla.git (<--- portico code dump, maybe we don't need to keep?)

    // git repository for the website (has to be named like this to just-work)

    • open-dis.github.io

    If you're not comfortable this idea that's fine too, we could ignore this whole step and just do a plain svn to git migration. Let me know what you think and if it's worth exploring further. I could start by creating the organization account.

    Cheers

     

    Last edit: Leif Gruenwoldt 2015-01-27
  • Ian Mayo

    Ian Mayo - 2015-02-26

    Great, let's go for it!

    I fully recommend the GitHub pull-request system.

    Last year I moved my Open Source defence analysis tool from SVN (on Assembla) to Git (on GitHub). It worked really well, and all of the history transferred without any trouble: https://github.com/debrief/debrief

    The organisation route also worked well.

    I'd also recommend breaking Open-Dis down into separate language repos. Git stores the whole repo on each developer's machine - so there's no reason for a Java developer to have a local copy of all of the sources in the other languages.

    Good luck with it :-)

    Ian

     
MongoDB Logo MongoDB