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