subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marshall Schor <...@schor.com>
Subject preventing accidental commit
Date Thu, 06 Jun 2013 18:46:16 GMT
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. 



Mime
View raw message