Hi all,
I have a graphics-unrelated question, but I am sure there is a lot of expertise about it in this group none the less. In our lab, we use subversion for version control and backup of our codes (matlab, java, tex, labview, igor). There are quite a few people who are not into programming but still should be able to easily access a script every once in a while. For them it is too much to check out a complete repository (installing TortoiseSVN etc) just to get hold of a file. So we thought it would be good to have a copy of the repository on a server that is automatically updated whenever something is commited to the system. We did not find a simple solution to that, however. Does anybody have experience with such an issue and could give us advice? (Here, it is all windows-based) Thanks in advance Heinrich -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
There are various "continuous build" solutions that can monitor SVN (or
many other repositories) and perform a "build" whenever the repository changes (most have other triggers as well). HUDSON (http://hudson-ci.org/) is one such build environment that is heavily weighted to JAVA technologies and "builds" can be defined as ANT (http://ant.apache.org/) scripts and can be as complicated or as simple as you'd like. CruiseControl.NET (http://www.cruisecontrolnet.org/) is another such tool that is heavily weighted to Microsoft .NET technologies. Both of those are, perhaps, overkill for your requirements (necessary details are missing from your post...for example, what is the end-user going to do with the checkout on the server: 1) run the scripts on that server? 2) copy the files to their own system? 3) make the files accessible via some other filesharing service?). Depending on your requirements, the easily thing to do might just be to "WebDAV" enable the SVN server so that users can mount the SVN repository as a local share on their windows client (Windows 7 "enhancements" have made this more difficult on the client-side because it appears that M$ has disabled Basic Auth by default; regedit hack to re-enable.)... Even without WebDAV for mapping the repository into the Windows filesystem, the users could still browse the repository using a web-browser and save the scripts locally. PS: Since this is a bit off-list-topic, feel free to contact me off list if you have specific questions. Best of luck, -Woody On 6/14/2013 3:21 AM, Heinrich Grabmayr wrote: > Hi all, > > > > I have a graphics-unrelated question, but I am sure there is a lot of > expertise about it in this group none the less. > > In our lab, we use subversion for version control and backup of our codes > (matlab, java, tex, labview, igor). There are quite a few people who are not > into programming but still should be able to easily access a script every > once in a while. For them it is too much to check out a complete repository > (installing TortoiseSVN etc) just to get hold of a file. So we thought it > would be good to have a copy of the repository on a server that is > automatically updated whenever something is commited to the system. We did > not find a simple solution to that, however. Does anybody have experience > with such an issue and could give us advice? (Here, it is all windows-based) > > > > Thanks in advance > > Heinrich > > > -- > ImageJ mailing list: http://imagej.nih.gov/ij/list.html -- This email, including attachments, may include confidential information and is intended solely for the use of the individual or entity to which it is addressed. If you are not the intended recipient, be advised that any dissemination, distribution or copying of this email is prohibited. If you have received this email in error, please notify the sender via telephone or by replying to this message, and destroy this message immediately. -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
In reply to this post by Heerpa
Hi Heinrich,
On Fri, 14 Jun 2013, Heinrich Grabmayr wrote: > In our lab, we use subversion for version control and backup of our > codes (matlab, java, tex, labview, igor). There are quite a few people > who are not into programming but still should be able to easily access a > script every once in a while. For them it is too much to check out a > complete repository (installing TortoiseSVN etc) just to get hold of a > file. So we thought it would be good to have a copy of the repository on > a server that is automatically updated whenever something is commited to > the system. We did not find a simple solution to that, however. Does > anybody have experience with such an issue and could give us advice? > (Here, it is all windows-based) By far the quickest solution I can think of is to use a Git-SVN mirror. It might seem a bit convoluted, but hear me out first, after looking at an example: https://github.com/openspim/micromanager/ This is a Git-SVN mirror of the Subversion repository of Micro-Manager 1.4. While we use it for active development, the side effect is that you have a very convenient web interface to access the current version of the files. All we needed to do is to add a Jenkins job (but of course you use the Windows Task Scheduler instead: http://support.microsoft.com/kb/313565). Of course, if you have any shared drive in your lab, you could let the scheduled task execute "svn up" in a directory on that drive (after an initial "svn co ..."), too. You might want to give write permission only to the scheduled task in that case, though, to prevent inconsistencies by inadvertent modifications by users who might edit files in place by mistake. Ciao, Johannes -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
In reply to this post by Heerpa
2013/6/14 Heinrich Grabmayr <[hidden email]>:
> For them it is too much to check out a complete repository > (installing TortoiseSVN etc) just to get hold of a file. So we thought it > would be good to have a copy of the repository on a server that is > automatically updated whenever something is commited to the system. If you use Visual SVN Server on Windows, it automatically starts an HTTP server (on a port I cannot remember) through which you can always access the HEAD revision of your repositories with the proper authentication. Best, José. -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
In reply to this post by Heerpa
Hi Heinrich,
> In our lab, we use subversion for version control and backup of our > codes (matlab, java, tex, labview, igor). There are quite a few people > who are not into programming but still should be able to easily access > a script every once in a while. If you control the machine where the SVN server resides, you could install a web frontend, such as Trac (http://trac.edgewall.org/) or WebSVN ( http://websvn.tigris.org/). Then your users can simply click to download files from the latest trunk. You may already have such a web interface if you are using WebDAV with SVN (as suggested by Jeff); i.e., do you check out the repository using http://... links? If so, you should be able to give your users web links to any file at any revision. Alternately, if you are willing to consider a change in version control, I would enthusiastically, perhaps fanatically, recommend using Git on GitHub.com. It is much more powerful, has an awesome web interface (as pointed out by Johannes), and you can even treat repositories there as SVN repositories, for those who do not like changing their ways. Regards, Curtis On Fri, Jun 14, 2013 at 2:21 AM, Heinrich Grabmayr <[hidden email]>wrote: > Hi all, > > > > I have a graphics-unrelated question, but I am sure there is a lot of > expertise about it in this group none the less. > > In our lab, we use subversion for version control and backup of our codes > (matlab, java, tex, labview, igor). There are quite a few people who are > not > into programming but still should be able to easily access a script every > once in a while. For them it is too much to check out a complete repository > (installing TortoiseSVN etc) just to get hold of a file. So we thought it > would be good to have a copy of the repository on a server that is > automatically updated whenever something is commited to the system. We did > not find a simple solution to that, however. Does anybody have experience > with such an issue and could give us advice? (Here, it is all > windows-based) > > > > Thanks in advance > > Heinrich > > > -- > ImageJ mailing list: http://imagej.nih.gov/ij/list.html > -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
Hi,
thanks for all your input on that. We more or less used the way Johannes pointed out. SVN supplies hooks for all kinds of events, so in our case we can use the post-commit-hook.bat which is called every time something is committed to the server. In there, we call a client which updates a "local copy" which is stored in the network, easily accessible by and read only for all members of the lab. GitHub definitely seems powerful, and we will look into this when there is need for a change.. Tanks again, Heinrich > -----Ursprüngliche Nachricht----- > Von: ImageJ Interest Group [mailto:[hidden email]] Im Auftrag von > Curtis Rueden > Gesendet: Freitag, 14. Juni 2013 21:56 > An: [hidden email] > Betreff: Re: subversion - somewhat out-of-topic > > Hi Heinrich, > > > In our lab, we use subversion for version control and backup of our > > codes (matlab, java, tex, labview, igor). There are quite a few people > > who are not into programming but still should be able to easily access > > a script every once in a while. > > If you control the machine where the SVN server resides, you could install > web frontend, such as Trac (http://trac.edgewall.org/) or WebSVN ( > http://websvn.tigris.org/). Then your users can simply click to download files > from the latest trunk. You may already have such a web interface if you are > using WebDAV with SVN (as suggested by Jeff); i.e., do you check out the > repository using http://... links? If so, you should be able to give your users > web links to any file at any revision. > > Alternately, if you are willing to consider a change in version control, I would > enthusiastically, perhaps fanatically, recommend using Git on GitHub.com. It > is much more powerful, has an awesome web interface (as pointed out by > Johannes), and you can even treat repositories there as SVN repositories, for > those who do not like changing their ways. > > Regards, > Curtis > > > On Fri, Jun 14, 2013 at 2:21 AM, Heinrich Grabmayr > <[hidden email]>wrote: > > > Hi all, > > > > > > > > I have a graphics-unrelated question, but I am sure there is a lot of > > expertise about it in this group none the less. > > > > In our lab, we use subversion for version control and backup of our > > codes (matlab, java, tex, labview, igor). There are quite a few people > > who are not into programming but still should be able to easily access > > a script every once in a while. For them it is too much to check out a > > complete repository (installing TortoiseSVN etc) just to get hold of a > > file. So we thought it would be good to have a copy of the repository > > on a server that is automatically updated whenever something is > > commited to the system. We did not find a simple solution to that, > > however. Does anybody have experience with such an issue and could > > give us advice? (Here, it is all > > windows-based) > > > > > > > > Thanks in advance > > > > Heinrich > > > > > > -- > > ImageJ mailing list: http://imagej.nih.gov/ij/list.html > > > > -- > ImageJ mailing list: http://imagej.nih.gov/ij/list.html -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
Hi Heinrich,
On Wed, 19 Jun 2013, Heinrich Grabmayr wrote: > thanks for all your input on that. We more or less used the way Johannes > pointed out. SVN supplies hooks for all kinds of events, so in our case > we can use the post-commit-hook.bat which is called every time something > is committed to the server. In there, we call a client which updates a > "local copy" which is stored in the network, easily accessible by and > read only for all members of the lab. I am glad it works for you (and I am glad that this list proved -- once again -- very helpful and nice). > GitHub definitely seems powerful, and we will look into this when there > is need for a change.. While GitHub is really powerful, the major power comes from using Git instead of Subversion. Git is in general much, much faster than Subversion. This despite the fact that Git copies the complete revision history locally, which has two additional, major advantages over Subversion: you can look at, and change, the complete history even if you have no internet connection (essentially also having a complete local backup automatically), and Git also can offer much better options for collaboration as a consequence. To elaborate on the latter point a little: the thing I possibly like most about Git is that I can get a copy of any repository on GitHub, work on my local copy making commits, all kinds of changes, revert them, rewrite my changes into something prettier, and then -- iff I am comfortable with the end result -- can contribute my changes (in a beautiful, easily readable form) to the original project. Ciao, Johannes P.S.: A nice example how this contribution works can be seen here: https://github.com/fiji/fiji/pull/25. It shows that somebody (in this case, Niko Ehrenfeuchter) saw something in Fiji he wanted to change, got a copy of the source code, made the change -- without having to ask *anybody* for permission! -- contributed the change, and all I had to do was to click one button to integrate the changes. This is a workflow that is simply impossible with Subversion. -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
Free forum by Nabble | Edit this page |