Subject: Re: GSOC Proposal draft: git-remote-svn

From: Andrew Sayers <[email-masked]>
Date: Sat, 14 Apr 2012 23:57:02 +0100

On 11/04/12 20:09, Florian Achleitner wrote:
> Furthermore the remote-helper has no way of asking the user something, right?
> So it can only fail if something is ambigous in the svn repository layout. So 
> I thought the SBL is exactly to describe these cases, and that's what I need.

Sorry, I missed this when it was first posted.

I'm not sure whether the remote helper is allowed to ask the user
things, but there can be times when that would be helpful.  The one that
jumps to mind is tag handling.

SVN considers tags and branches to be functionally identical, whereas
git likes to create "annotated tags" (commits with a special tag message
on top of the normal commit message) that can't be changed once they've
been created.  So if e.g. a tag is created then later committed to
again, what do you do?  Do you refuse to make annotated tags in case you
need to change them later?  Do you ignore later commits so that
annotated tags work nicely?

SBL can't provide much help here, as a tag could be created in one
update, then committed to again in another update.  Last time this was
discussed[1], the consensus seemed to be that there any clever solution
would drive straight past "it just works" into "why did it do that?"
territory, so the only sensible solution would be to ask what to do.

As I say, I don't really know anything about remote helpers, but I'd be
very surprised if you weren't allowed to at least fail with a message
like "Please set svn.tagStrategy, see `man git-config` for details".

	- Andrew

[1]http://thread.gmane.org/gmane.comp.version-control.git/192106/focus=192286