On Fri, 23 Mar 2007, Bruno Cesar Ribas wrote:
On Fri, Mar 23, 2007 at 11:34:26AM +0100, Karl Hasselström wrote:
On 2007-03-23 01:36:11 +0000, Julian Phillips wrote:
In particular it's how the client finds out about things like
symlinks and line ending conversion. It may be necessary to provide
some basic support for some of the properties in the svn:...
namespace in order for the Subversion repo access library not to
refuse to talk to the git server.
Maybe the pragmatic solution would be to have built-in handling of a
few properties such as svn:executable and svn:ignore that have git
equivalents, and just emulate all other properties with files.
My idea is to write the git-svnserver!!! I think it will be easier.
Almost certainly - I don't think anyone was proposing otherwise? The repo
access library I was referring to is one of the libraries used by the
client - specifically the one used to talk to a remote server (I think
it may be called ra or something? I'm not familiar with Subversion
internals).
To begin coding, i plan to write basic functions [updade,commit,checkout,
copy,merge,...] then start to implement most "complex" instructions.
Ok, but ...
I don't think that merge is a basic function in Subversion. I believe
that it is all client side using diffs provided by the server into the
working copy, certainly it is up to the user to commit the result.
Unfortunately that would make it necesary to do some very nasty work
server side to try and autodetect merges - git-svnimport (and git-svn?)
already does this sort of thing. There are noises about this changing at
some point though ...
As spearce said before, the idea of this is to migrate from svn to git
without many trouble in transition, so basic can work as the initial thought.
Which means that you have to at the very least support the basic
operations of the Subversion supplied svn client. And my point was that I
wouldn't be surprised if this meant dealing with properties, since
subversion uses properties to expose things like the log message, commit
date and author for revisions and other misc. info for files. You may not
even be able to get commit/checkout working without _some_ property
support.
Having said that, I don't think it would be a _bad_ thing if this work
went far enough that one could replace a Subversion server without any
users even noticing ;)
--
Julian
---
You know you're using the computer too much when:
a party sucks if theres no computers to use.
-- electrofreak