[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Commit bot without password

From: Branko Čibej <brane_at_wandisco.com>
Date: Wed, 03 Sep 2014 21:37:32 +0200

On 03.09.2014 21:21, Kim Gräsman wrote:
> Hello,
>
> I'm new to the list, so forgive me if this has been discussed before.
> I didn't find anything in the archives.
>
> At my workplace, we run a simple home-cooked "gated commit" system on
> top of Subversion 1.8. Users run their working copy changes through a
> client program, it assembles all changes and sends them with a work
> order (what to build, test and run other analysis steps for) to a
> server, which runs all steps and commits on the user's behalf if they
> pass.
>
> This works really well for us, but we haven't been able to avoid
> sending the user's SVN credentials together with the work order, and
> this is clearly not desirable.
>
> Is there some way to convince Subversion to commit on a user's behalf?
> We'd like to designate one SVN account as the commit bot account and
> let it impersonate users at will.

The standard command-line client won't let you do that. It's possible to
write a script or program, using our bindings or API; but it's rather a
lot of work.

You could try the following trick: on the build machine, with the bot's
credentials, do this:

    $ svn commit -m ... --with-revprop on-behalf-of=username

then on the server, add a pre-commit hook script that looks at the
revision properties of the transaction (svnlook propget --revprop)
that's about to be committed; and if svn:author is the bot, and the
on-behalf-of property exists, the script would replace the svn:author
value and delete the on-behalf-of property (svnadmin setrevprop).

This is just a blue-sky idea, I've never actually done that; but I don't
see a reason, offhand, why it wouldn't work.

-- Brane
Received on 2014-09-03 21:38:04 CEST

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.