You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Holger Stratmann <ti...@finch.de> on 2006/01/09 00:11:48 UTC

Web Interfaces (was Re: Newbie Questions)

Paul Koning wrote:

> Holger> Apart from the questions you asked: I highly recommend a
> Holger> "useful" web interface for repository viewing. It really
> Holger> makes the difference! 
> Holger> [ I like WebSVN better than ViewCVS / ViewVC ]
>
>I'll put in a different opinion.
>
Sure, go ahead :-)
I must say that I have not done a thorough evaluation of "all" available 
interfaces - mainly due to the fact that there weren't really so many 
available when I looked (almost 2 years ago). However, I know ViewCVS 
because we used it for CVS and now, of course, WebSVN because we use it 
for Subversion :-)
I'd be happy to find an even better interface, so my points below are 
neither defense nor attack, they're simply for checking if things have 
changed and if I might want to switch to a different frontend (they can 
usually be used in parallel very nicely). Unfortunately, all of them 
require some setup work to get diffs and syntax highlighting and access 
controls and all that stuff working nicely so it takes more than half an 
hour to try one...

>I looked briefly at WebSVN but didn't like it, perhaps just a question
>of esthetics, but anyway...
>
well, if it's about aesthetics, you can customize a lot there :-)

>I tried Insurrection, which is slick but fragile
>
I took a brief look and thought it had quite a "complex" browser 
interface for the features it offers (at least in a browser, I like five 
icons better than DHTML drow down context menus)...

>After getting the Insurrection complaints I then looked further, and
>looked at ViewVC (formerly ViewCVS), and ended up selecting that as
>our browser tool.  The V1.0-dev version has decent Subversion support.
>Yes, it doesn't add a whole lot, but then again Subversion is in many
>ways similar to CVS ("culturally compatible" -- "just like CVS but
>without the design errors")
>
Yes, it "works", there's no doubt and no complaints about that.
However, I found one "big difference" between CVS and Subversion - a 
"cultural difference" :-)
IMHO, CVS is "file centric" (who changed a specific file and when) while 
Subversion is "revision centric" (who did anything and what was it?). 
That's one of the main reasons I prefer Subversion over CVS and I just 
have a strong feeling that WebSVN was written with this idea in mind 
while ViewVC was just made "Subversion compatible" but uses none of its 
additional features...

>IOW "who made changes since the last good build of our code?"
>
Yes, exactly. How do you find out in CVS and how do you find out in ViewVC?
In Subversion (command line), this is as simple as "svn log [trunk]". It 
tells me exactly who made the last changes and what they wrote about 
them. I expect *at least* that of a "GUI".

In WebSVN, every single file and (!) every directory has a "log"-link 
which shows exactly that. I have not found that in ViewVC - directories 
have no dates and no history... (when I last checked)
Then I get a list of revisions and can click them to "show changed 
files" - "ah ok, Fred just committed a change this morning - which files 
did he touch?"

For my personal use, I've found that WebSVN answered my questions pretty 
directly while ViewCVS always caused some "clicking and searching".

>There are some obvious issues around
>property support, at least right now.  That doesn't seem all that hard
>to fix.
>
Yeah well... that's not really critical for me. We don't use properties 
a lot and they don't change frequently...

>One nice feature of ViewVC is that it has Bonsai-style query machinery
>integrated, and that works well.  I did some tweaking and correcting
>in there to make it do Subversion a bit nicer.  For example, I can now
>do a query that is limited to a range of revisions.
>
Built in in WebSVN 2.0 (currently at beta 7).
Just as I haven't taken a look at ViewVC in a while and might take a new 
look, maybe you should (???) have another look at WebSVN.
Oh, one more question about ViewVC: Do you know how it handles access 
permissions? That was one big problem I had with WebSVN 1.6 which was 
solved very nicely in 2.0: It now uses the SVN access file and supports 
repository and path based authorization. It displays only the files and 
repositories the user is allowed to see with just one line of additional 
configuration (telling it where to find the svn_access.txt). How does 
ViewVC handle that? After all, that's not a CVS feature :-)

>
>A final comment: browser interfaces are likely to be at least in part
>a matter of taste, so try several and see which one you like best.
>
I agree. Not only "aesthetics", but also "typical use". They just need 
to answer "your questions" nicely and those questions can vary by size 
of code, size of team, type of content and so many other things :-)

Anyway: it's nice to see a couple of Subversion frontends evolving...

Holger

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Web Interfaces (was Re: Newbie Questions)

Posted by Paul Koning <pk...@equallogic.com>.
>>>>> "Holger" == Holger Stratmann <ti...@finch.de> writes:

 Holger> Paul Koning wrote: 
 >> After getting the Insurrection complaints I then looked further,
 >> and looked at ViewVC (formerly ViewCVS), and ended up selecting
 >> that as our browser tool.  The V1.0-dev version has decent
 >> Subversion support.  Yes, it doesn't add a whole lot, but then
 >> again Subversion is in many ways similar to CVS ("culturally
 >> compatible" -- "just like CVS but without the design errors")
 >> 
 Holger> Yes, it "works", there's no doubt and no complaints about
 Holger> that.  However, I found one "big difference" between CVS and
 Holger> Subversion - a "cultural difference" :-) IMHO, CVS is "file
 Holger> centric" (who changed a specific file and when) while
 Holger> Subversion is "revision centric" (who did anything and what
 Holger> was it?).  That's one of the main reasons I prefer Subversion
 Holger> over CVS and I just have a strong feeling that WebSVN was
 Holger> written with this idea in mind while ViewVC was just made
 Holger> "Subversion compatible" but uses none of its additional
 Holger> features...

Mostly true.  Then again, given that we have a team which has used CVS
for 4 years and is changing over to Subversion as I write this, having
a browser that has a CVS-like style is actually a benefit in our case.

 >> IOW "who made changes since the last good build of our code?"
 >> 
 Holger> Yes, exactly. How do you find out in CVS and how do you find
 Holger> out in ViewVC?  In Subversion (command line), this is as
 Holger> simple as "svn log [trunk]". It tells me exactly who made the
 Holger> last changes and what they wrote about them. I expect *at
 Holger> least* that of a "GUI".

 Holger> In WebSVN, every single file and (!) every directory has a
 Holger> "log"-link which shows exactly that. I have not found that in
 Holger> ViewVC - directories have no dates and no history... (when I
 Holger> last checked)

It does now.  Very nice.  It also has a "view a revision" by revision
number. 

   paul


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Web Interfaces (was Re: Newbie Questions)

Posted by Ximon Eighteen <xi...@int.greenpeace.org>.
Holger Stratmann wrote:
> Ximon Eighteen wrote:
> 
>>> access permissions in ViewVC?
>>
>>
>> It doesn't.
> 
> 
> Ah. Good to know :-(
> 
>> I hacked my ViewCVS ...... using Apache to enforce access controls by
>> URL and using Python code
> 
> 
> Hmm - are you sure there's no way to "circumvent" path based access? I
> had this problem with WebSVN 1.x before it supported path based access:
> You could still access files if you just passed the correct parameters!

Possibly, but I modified ViewCVS to not serve content, history or file
properties or anything without a permissions check first so I doubt it
could be done through a ViewCVS URL - but like I say below I'm not
saying it was production quality.

> is exactly the reason I don't want to "hack" stuff like that myself.
> Producing "production quality" code that can be committed involves a
> rather large overhead ("do I REALLY know what I'm doing?"), doing it
> just for yourself causes lots of headaches in the long run...

Completely agreed. In our case the 'hack' was acceptable, but it was not
fully tested and probably not secure - but the people we were aiming the
controls at would not have breached it.

X

-- 

----------------------------------------------------------
GPI ICT Application Development Team Leader
MSN   : ximon_eighteen@hotmail.com  Yahoo!: ximon18
ICQ   : 315597094                   Desk  : +31 20 7182134
GMail : ximon.eighteen@gmail.com    Mobile: +31 6 42594359
----------------------------------------------------------


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Web Interfaces (was Re: Newbie Questions)

Posted by Ximon Eighteen <xi...@int.greenpeace.org>.
> Oh, one more question about ViewVC: Do you know how it handles access 
> permissions? That was one big problem I had with WebSVN 1.6 which was 
> solved very nicely in 2.0: It now uses the SVN access file and supports 
> repository and path based authorization. It displays only the files and 
> repositories the user is allowed to see with just one line of additional 
> configuration (telling it where to find the svn_access.txt). How does 
> ViewVC handle that? After all, that's not a CVS feature :-)

It doesn't.

I hacked my ViewCVS (before it became ViewVC but still had Subversion 
support) to provide authentication using the repository access file. My 
changes were a combination of using Apache to enforce access controls by 
URL and using Python code (based initially on the code in Trac, then 
later I modified it and ideally I'd like to implement the mod_authz_svn 
logic directly using the Python bindings but last time I tried the 
bindings weren't mature enough) in ViewCVS to handle the other cases.

I submitted my (admittedly hacky, but apparently working) solution to 
the ViewCVS patch tracker. Unfortunately that was quite a while ago and 
I'm about to have to solve this problem again against my current ViewVC 
code base which has changed a lot since the ViewCVS one I modified.

I tried WebSVN a few months ago (wow, time flies, maybe it was as long 
as six months ago) and neither I nor my time liked it. We are long time 
users of ViewCVS and the query database feature it has. I also modified 
the query feature to do far more than normal ViewCVS does.

It's probably time I took another look at WebSVN before trying to dive 
into modifying the ViewVC code again, or tinkering with Python bindings. 
The nice thing about ViewVC is at least it *is* written in Python making 
it very compatible with the authz permission file format.

Ximon


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org