Hi
this may be of some use on the git vs svn debate http://maymay.net/blog/2009/02/24/how-to-use-git-svn-as-the-only-subversion-client-youll-need/ regards gary On 07/24/2013 10:44 AM, Edward d'Auvergne wrote: Hi Troels, This is the second message, the positive one :) I will start off with repeating the end of the last message (http://thread.gmane.org/gmane.science.nmr.relax.devel/4244/focus=4245). I think that switching to git is a good idea and I would personally benefit from having a distributed version control system (writing code on the train, plane, etc. would be much easier). Switching to git has been something that I have considered for many years now. The reason why relax still uses subversion is that git is not currently supported by the Gna! infrastructure. Note that a shift is also incredibly disruptive, so a quiet period in relax's development is needed for this to even be considered. I consider the migration to git as a real solution and that git-svn is just a distraction. Now, for the suggestion of using the archived mailing list messages, you should take note that the messages at http://www.mail-archive.com/relax-commits@xxxxxxx/ do not always appear. This is also a problem at http://dir.gmane.org/gmane.science.nmr.relax.scm. I don't know why, but at random times a message will not be archived. It is quite rare, but would be fatal for maintaining a separate git repository. The other aspect that would be fatal is that you can see that the revision numbers are out of order in these archives. The messages do not appear in order and can be delayed by days. We can, however, get the relax-commits mailing list to push out emails to a dedicated email address - partly resolving this issue. There are still issues of the automatic subversion hooks at Gna! sending the message to the relax-commits mailing list. I don't know if it is the svn hooks or the mailing list archivers which are the cause of the missing or delayed messages. Also note that the subversion work flow described in http://wiki.nmr-relax.com/Git_development is not correct. This is the work flow for a new developer. For an accepted developer, the subversion process is much simpler - write code, then commit. Patch review is not part of this process. If a process is in place, there should be no patches involved - it takes too much time. Therefore the figure http://wiki.nmr-relax.com/File:Git_development.png is not correct, and one of the standard git-svn solutions might be sufficient. One problem with this git-svn process is branch management. For this, the developer maintaining a branch will require their git repository, a copy of the branch in an svn checked out copy, and the use of the svnmerge.py script to keep the branch in sync (via the svn code). These complications might outweigh the benefits of using git. The better alternative, as mentioned above, would be to have the entire relax subversion repository migrated to git. This might have already have happened if the Gna! infrastructure supported git. This is not really a suitable solution for now, but having a wiki page in the future describing the full migration might be useful for the process. Therefore my suggestion is to have the goal of getting Gna! to support git. Note that the Gna! maintainers are quite inactive - they only make sure that the infrastructure continues to function correctly. Therefore they have refused in past service requests to add this feature. But they have indicated in private discussions with individual developers that they are happy to have someone join them to help make some minor changes. One of the key people to discuss this with is zerodeux (http://gna.org/users/zerodeux). You should know the admins (http://gna.org/projects/admin), especially the names of the top 3, as well as beuc (http://gna.org/users/beuc). And also note that Eric S. Raymond (http://gna.org/users/esr) is an admin (if you don't know who this is, see http://en.wikipedia.org/wiki/Eric_S._Raymond). If you are interested, persistent and competent enough, you may be able to join the Gna! admins and set up git. You don't have to be in the same league as ESR for this ;) But you should also research the history of the Savane project (http://en.wikipedia.org/wiki/GNU_Savannah#Savane). That Savane has stopped development (http://gna.org/projects/savane/). That there are two incomplete derivative projects (http://savannah.nongnu.org/p/savane-cleanup and http://savannah.nongnu.org/p/savane), but that Gna! is running on the old savane code. You should also read about Gna! (http://about.gna.org/) and know that Gna! is the European equivalent of GNA Savannah (US-based), but that the Gna! philosophy is slightly different - it is more 'free software' oriented than 'open source' oriented. Gna! is also smaller than Savannah, and less up to date (it uses the old savane code and hence it has no git support, whereas Savannah uses savane-cleanup and has git support). There are some very big names in open source there, including the one who pioneered the 'open source' philosophy. So I would suggest to first build up some trust. This would be to first contribute code to relax and to become an accepted developer. Then the Gna! people will take you more seriously. I would also recommend that you try to set up a project on Gna!, maybe with your original scripts (after becoming a relax developer). This is more as a permanent repository and reference rather than an active project. This will teach you a huge amount about the open source infrastructure - and that the source code repository is only a tiny part of this. This is the infrastructure behind SourgeForge, GNU Savannah, and Gna! There is a lot to learn. So maybe the suggestion of getting Gna! to support git, by becoming a Gna! admin and upgrading the entire site (maybe with ESR helping) to savane-cleanup, might be too much effort. The git-svn way might be easiest, but first try to get the code out and become a full relax developer. Then the git-svn picture (http://wiki.nmr-relax.com/Git_development) will be quite different and much simpler. I still think that git-svn would be a non-ideal temporary solution. Regards, Edward On 24 July 2013 01:54, Troels Emtekær Linnet <tlinnet@xxxxxxxxx> wrote:Hi relax developers. I would like to suggest yet another development possibility by using Git. Motivation: Subversion needs an online repository, to store each commits. Subsequent calls to svn diff > patch will generate the difference according to the last revision. Therefore the development at the moment require to: * make some lines of code * make a path file and a commit message * use the support tracker to upload patch and commit message wait for acceptance wait for commit to official repository then do an svn update then return to point 1 This takes time, and require that repository maintainer is online. If the above scheme is not followed, the patch files will come out of sync. I suggest to introduce yet another development possibility by using Git. I do not suggest to shift away from the GNA! infrasctructure, I merely suggest to use the powers of Git, to collaborate on a feature development, before releasing a patch for review and commit to SVN repository. This is maintained by a server, who tracks the relax-commit messages at http://www.mail-archive.com/relax-commits@xxxxxxx/ That server translates the history, and commits to github. Here a range of developers can pull the latest changes. Make feature branches. Share those branches. Make edits online. Use android/iphone apps. Work on trains/planes etc. Allowing offline commits. When the feature is ready, easily make a patch file, and upload to the GNA trackers. The patch file contains all the commit messages, and changes between each commit. That should make it easy to review, and comment on. Git also allow to squash commits and rewrite commits. A feature highly appreciated, based on the review comments. I have made a wiki page, from where we can start discussing. Here I tried to make an image of my idea. I am very skilled in MS paint. :-) http://wiki.nmr-relax.com/Git_development Best Troels Emtekær Linnet _______________________________________________ relax (http://www.nmr-relax.com) This is the relax-devel mailing list relax-devel@xxxxxxx To unsubscribe from this list, get a password reminder, or change your subscription options, visit the list information page at https://mail.gna.org/listinfo/relax-devel_______________________________________________ relax (http://www.nmr-relax.com) This is the relax-devel mailing list relax-devel@xxxxxxx To unsubscribe from this list, get a password reminder, or change your subscription options, visit the list information page at https://mail.gna.org/listinfo/relax-devel -- ------------------------------------------------------------------- Dr Gary Thompson [Homans Lab Research Coordinator] Astbury Centre for Structural Molecular Biology, University of Leeds, Leeds, LS2 9JT, West-Yorkshire, UK Tel. +44-113-3433024 email: garyt@xxxxxxxxxxxxxxx Fax +44-113-3431935 ------------------------------------------------------------------- |