New developer concern - why a not Git

Discussion in 'Developers' Forum' started by jan.koprowski, May 6, 2011.

  1. jan.koprowski

    jan.koprowski New Member

    Hi,

    I'm starting my adventure with ISPConfig 3 right now :) Because I need something which isn't currently supported (php-fpm and nginx) I'm starting from point of future contributor of this project. But my first thing was: "Who the hell use Subversion today?". I thought: "Fine. I'll make my own for on github, I will write few additional modules. Then I will send my "push request" to community and after review my patches will be contributed." but .... wait! this is Subversion :|

    Is there any reason why ISPConfig3 are on Subversion? There are so many advantages from using Git I can't imagine why someone still use Subversion.

    Please - answer me because this blow my mind forever. I just can't live with this :)
     
  2. till

    till Super Moderator Staff Member ISPConfig Developer

    The ISPConfig project is older as the git project, so GIT and github does not even existed as the ispconfog development started. Also there are more tools available for SVN which are integrated in the development IDE's then for git.

    There is no reason for us to change the repositoy system as SVN works great for us.
     
  3. jan.koprowski

    jan.koprowski New Member

    Age of project is not an answer. Which tools are available for SVN which are absent for Git? I don't know any. But it is Your choice. My experience is switching to Git helps extend developer's audience. That is all. Thanks for explanation.
     
  4. vStone

    vStone New Member

    You can easily use git yourself i you want to and add the svn repository using git-svn. I do this myself. After importing the svn repository in your git repo (which will take a while), use
    Code:
     git svn rebase
    and
    Code:
    git svn dcommit
    (if you can commit to the ispconfig svn that is)
     
  5. nveid

    nveid ISPConfig Developer ISPConfig Developer

    Personally I'm a big fan of the ruby gem svn2git (converts the svn branches to real git branches and allows pushing back.. something git-svn I believe lacks). On second thought, looks like svn2git is just a one way tool to get your svn into a true git like setup.

    Though it would be nice if the actual development switched to using git. As in the days when svn came about it trumped cvs(even though on my personal projects I went towards darcs), git definitely trumps svn and its time to move away from its antiquated facilities.
     
    Last edited: Aug 28, 2011
  6. zbuzanic

    zbuzanic Member

    Hmm, I was wondering these days: can I for example modify ispconfig svn 2063 for my own needs and then merge it with latest svn patches? Is that possible with svn?
     
  7. till

    till Super Moderator Staff Member ISPConfig Developer

    Yes, thats possible with SVN. Just checkout the svn release that you want to use as basis for your changes and then add your changes in the code. Then run a svn update command from time to time to keep your sources up to date and svn just merges your local changes with the changes in the ispconfig repository.
     
  8. cfoe

    cfoe ISPConfig Developer ISPConfig Developer

    I really do see your point. You have great experience with svn but ...
    While I really love ISPConfig 3 the "environment around" the Core seams to be outdated.
    Let me just list my impressions from my point of view as a systems architect not as a programmer.
    You take following facts into consideration:
    1. ISPConfig is open-source
    2. people are willing to help improve ISPConfig (my impression in the forum)
    3. Bugtracker Flyspray is discontinued
    4. SVN is outdated (sorry, my personal opinion. do not take it the wrong way)
    5. the Wiki is not an open wiki
    6. vBulletin is a pain for me
    7. UI is not outdated but not 100% Web 2.0 (http://www.howtoforge.com/forums/showthread.php?t=55442)

    That leads me to the following conclusions:

    1. GitHub hosting would be totally free forever (I know sourceforge is free as well);
    2. <see other points>
    3. Bugzilla/MantisBT, maybe Trac are considered the "standards"; you need to abandon discontinued software - One example: I am not able to edit my own feature requests.
    4. GitHub would lower the threshold to contribute (one click for a fork) -> more forking by external contributors
    5. use a wiki software to let people contribute to the wiki -> you can search the wiki and do not need to search the forum and the other resources you provide on the website
    6. vBulletin + the subforum-style at howtoforge.com makes it hard to search at least for me (is anyone with me on that?)
    7. The new skin "larry" of Roundcube 0.8 beta totally blows me away.I am a sucker for simplicity. Would be great to have a matching skin for ISPConfig. Maybe with good collaboration it can be possible

    After all this critique I need to emphasize that I came from Plesk, WHM and Confixx and they are no match to ISPConfig.
    I am ready to contribute to a move to a more modern environment for ISPConfig if you want my help.

    Would be great to get a few replies to this post.

    Greetings
    Christian
     
  9. till

    till Super Moderator Staff Member ISPConfig Developer

    Thanks for your offer to help out. We are currently working on a redesign of the ispconfig website and we might use some other software to organize the project in future, so the infrastructure will get modernized step by step.

    We do not plan to switch to a different forum though as howtoforge is one of the largest sponsors of the ispconfig project.

    Many users like to contribute until they realise that it requires to dedicate some of their time to do it. For example the ui post that you linked above, never heard anything back from him. Same for the wiki, we started it 4 or 5 times as free wiki because users promised that they wanted to maintain it and crontribute information. It never lasted longer then 2 - 3 weeks until they stopped contributing as they realised that it causes some work to maintain a wiki and that they have to check it daily if they are the administrator in charge. At the end I had to delete all the spam comments daily myself and we had to close the wiki.

    You cant edit them because we had to disable that function as spammers posted reasonable requests first and when the requests moved to the second page after a few months they added spam links to their posts.

    Getting code contributions to ispconfig is a two sided sword. On the one side, its great to get some code contributed, on the other side it tooks often longer to fix it then it would have taken to write it on your own. To write secure code for a admin panel you have to know a lot about linux system administration, security and programming.

    For example the contributions of language files works great, they can be created with the ispconfig language editor, exported as a single file and then imported on other servers. Themes are uncritcal as well as the interface part does not run as root and the theme files do not contain any php code.

    Contribution to the other parts of ispconfig are more critical, we received contributions that destabilized the core, caused failing updates, destroyed jails etc. Nothing of these things happened due to bad habit, its just missing knowledge about details of Linux systems and you wont see this problems if you just take a short look at the code. So we have to decide if we want to set the focus on a stable software or more contributors and I guess most users of ispconfig would prefer the stability. Currently the development is done by employed developers of the companys ISPConfig UG and projektfarm GmbH and a few larger ISP's that use ispconfig. We welcome every new developer or company that likes to participate in the ispconfig development but as you might see from my explanations, contributing to ispconfig is not as easy as contributing to a cms system or writing a plugin for wordpress and thats not caused by the ispconfig enviroment only.
     
    Last edited: Apr 2, 2012
  10. cfoe

    cfoe ISPConfig Developer ISPConfig Developer

    To give my 2 cents, again:

    Roundcube just switched from SVN to GitHub. Look at the project page at https://github.com/roundcube/roundcubemail . It has a ton of watchers and a few forks already (about 10 days after the switch).
    As soon as my own projects reach v1.0 I will try to contribute to Roundcube and ISPC more.

    One (maybe dumb) question:
    Is there an equivalent to GitHub "pull request" for SVN?

    For me this is one of the great features of GitHub. Everyone can contribute and the maintainer can check all commits before merging the code.
     
  11. till

    till Super Moderator Staff Member ISPConfig Developer

    There is no direct equivalent to a pull request in svn. In the ispconfig project we have a branch called trunk were developers can commit their code to, but this requires a bit more communication and discussion of new features though.

    I will consider to switch to github in future.
     
  12. cfoe

    cfoe ISPConfig Developer ISPConfig Developer

  13. nveid

    nveid ISPConfig Developer ISPConfig Developer

    I'll add my own two to further on this discussion, I'm also a PHP Documentor and even they switched from svn to git. :)
     
  14. Croydon

    Croydon ISPConfig Developer ISPConfig Developer

    I don't know why, but I don't like git ;) I like using svn so I hope ispc stays with it :)
     
  15. cfoe

    cfoe ISPConfig Developer ISPConfig Developer

    The one mayor feature SVN lacks is the pull request you have on GitHub. So you do not need write access to submit code.

    The whole GitHub environment is a good thing for open-source software.
     
  16. Croydon

    Croydon ISPConfig Developer ISPConfig Developer

    Sure it is, for many many projects. But I think ispc is not that kind of open source project that needs this or can take profit from it.
     
  17. cfoe

    cfoe ISPConfig Developer ISPConfig Developer

    I Neither a svn nor a git pro but I do not see in what way svn is better than git. You have the server side in form of a remote repo eg on github. What bugs me about svn is the need to push every commit to the remote for all to see. In git you can experiment in your local repo and revert and commit as you like. When you are happy with you code you push it to the remote location.
     
  18. cfoe

    cfoe ISPConfig Developer ISPConfig Developer

    How about documenting the ISPConfig code? Would be nice.
     
  19. Croydon

    Croydon ISPConfig Developer ISPConfig Developer

    I think it is simply because I am used to it and all my projects are on svn.
    All commands I nead are svn up and svn commit - that's it, I do not need a local repository.
    But - You can work (nearly) like this in svn too, you just have to create a private branch. You then can work with this branch as you like and if you are happy you do a svn switch to the trunk and commit / merge your changes.
     
  20. cfoe

    cfoe ISPConfig Developer ISPConfig Developer

    I found some resources about syncing a SVN to GitHub.
    Maybe it is not too complicated. Would be just a one-way sync but for browsing the code it might be a nice feature to have.
     

Share This Page