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

preventing accidental commit

From: Marshall Schor <msa_at_schor.com>
Date: Thu, 06 Jun 2013 14:46:16 -0400

I'm using Subversion on an Apache project (UIMA).

Apache has standardized on a release process whereby the release happens when
changes are committed to the dist.apache.org/repos/dist/release/...

Our build process, for one part of our distribution (our "Eclipse Update Site"),
for a new release, adds some files and replaces others at the distribution point
(the replaced files are the "catelog" of the list of versions of various
plugins, and other metadata). To do this, one proposed approach is to

  a) checkout the part of the update site from the ...dist/release... spot;
  b) update that, changing some files, adding others
  c) put it somewhere for a vote, and after the vote passes,
  d) commit the changes to the ...dist/release... spot

This would work fine, I think. What I'm hoping to find out how to do is how to
prevent the Release Manager from accidentally committing this before the vote
passes. What I'd like is some kind of lock that would prevent the same user who
checked out the files, from committing. I almost thought the svn lock mechanism
would work, but it doesn't prevent the same user from doing the commit.

What is the best approach? One person suggested I use an ant task run as part
of the Maven build to rename the checked-out ".svn" files to ".hidesvn" - then
the commit would not work (of course), until another action was taken to rename
these back to .svn. Would that work? Is there a better approach?

-Marshall Schor

P.S., one other complexity: Our project is built using Maven and follows the
conventions for that. We have a project for building the Eclipse Update Site,
which is checked into our source SVN (not the dist.apache.org one). This
project has a "target/" directory, which is "svn-ignored" by the source SVN
repository. All the work in building a release is done inside this target/
directory, including step "a" above - which results in having the target/ marked
"svn-ignore" by the source SVN checkout, containing inside it a directory which
is a checkout of the dist/release... SVN. According to the svn book, this is
allowed :-), but may affect the renaming "trick" (of .svn files) proposed above.
Received on 2013-06-06 20:46:55 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.