subversion - somewhat out-of-topic

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

subversion - somewhat out-of-topic

Heerpa
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
Reply | Threaded
Open this post in threaded view
|

Re: subversion - somewhat out-of-topic

Jeffrey B. Woodward
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
Reply | Threaded
Open this post in threaded view
|

Re: subversion - somewhat out-of-topic

dscho
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
Reply | Threaded
Open this post in threaded view
|

Re: subversion - somewhat out-of-topic

José María Mateos
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
Reply | Threaded
Open this post in threaded view
|

Re: subversion - somewhat out-of-topic

ctrueden
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
Reply | Threaded
Open this post in threaded view
|

AW: subversion - somewhat out-of-topic

Heerpa
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
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

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: AW: subversion - somewhat out-of-topic

dscho
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