Closed Bug 347069 Opened 18 years ago Closed 18 years ago

Setup a production SVN server

Categories

(mozilla.org Graveyard :: Server Operations, task)

task
Not set
minor

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: mtschrep, Assigned: aravind)

References

Details

We'd like to get a production SVN server up an running as an optional VC system for webtools, the CMS, and future mozilla projects.   We should set this up in a hardware/OS configuration similar to CVS (i.e. NetApp, reasonably powerful hardware) so we don't have to migrate in the future as this gets used more.

Preed should be consulted as to optimal configuration - we should leverage the knoweldge of Gnome.org and collab.net in setting up a server.  I.e. using the file system backend instead of BDB, etc.  We should probably use the latest stable version (1.3.2) as of this writing.  Note that 1.4 is planned for release in August.

It would be nice to setup ViewVC (http://www.viewvc.org/) on the same server (requires local file access).  But this is a secondary requirement.
Other quick comment is that we should probably leverage the new LDAP infrastructure for managing accounts.

Group: mozillaorgconfidential
OS: Other → All
Assignee: server-ops → aravind
Couple of thoughts on this:

-- We should come up with an initial stab at a namespace policy before using the repo for production; that's the one part where if you do it right, life is great, but svn gives you enough rope to hang yourself with, and if you do it wrong, life can become really painful.

-- We should ask about whether or not its possible to merge svn repos. It's not a requirement and shouldn't block this, but I'm curious if we can set this up, and then do an import of the old CVS repo. I'm just curious how that would all work, since it might affect the way we set things up now.
OS: All → Other
namespace policy for what in particular? You mean arranging branches/tags in a sane manner?
(In reply to comment #3)
> namespace policy for what in particular? You mean arranging branches/tags in a
> sane manner?

The repository.

SVN is a flat namespace. This requires some organization at the top level, so that you can make sense of what's in the repository.

timeless was complaining about this on IRC; he was saying SVN sucked because he couldn't find anything in his company's repo. What he was *really* complaining about was that no one had set up a namespace policy early on. Because of this, he couldn't figure out what was a branch and what was a tag and what he should pay attention to and what he could ignore, since people had "svn copy"'d and "svn move"'d stuff all over the place.
OS: Other → All
i had a long comment, but firefox crashed.

in general it'd be nice to see an mxr+bonsai (code-bear has bonsai for svn)

could you possibly indicate which sorts of projects are planning to use this? you say webtools, which is something i tend to work on.

i think that in general there should be a policy against copying directories to create tags, and probably a parsable file (e.g. project.versions) in a rooted directory (e.g. /versions/) that describes all release tags ("pseudo_release_tag_name","directory/path","versionumber"). this single place of reference would enable people to maintain and update both permanent tags (releases) and dynamic "tags" (similar to the way we use the NSPRPUB_PRE_4_2_CLIENT_BRANCH for nspr).
in SVN all tags/branches are shallow copies of the source - the only time SVN will copy the actual data is if someone makes a commit to the tag.

if you create the structure ahead of time, then each subproject will have it's own tags folder that will list all tags - for example:

/mozilla/webtools/tags
                 /branches
                 /trunk
        /cms/tags
            /branches
            /trunk

then someone who is browsing ViewVC or the http interface to SVN will see the list of projects/modules that are in the repository and then can navigate to each projects trunk/branch/tag listing
So, I don't get it, from the comments on this bug--is this an optional system or the final production system? That is, is it that projects can optionally move to SVN from CVS, or that SVN will mirror CVS?
(In reply to comment #6)
> /mozilla/webtools/tags
>                  /branches
>                  /trunk

  And just in case somebody doesn't realize this before they do it, it should be more like /mozilla/webtools/mozbot/tags, /mozilla/webtools/mozbot/branches/, /mozilla/webtools/mozbot/trunk.
And, hahaha, sorry for my third comment in a row, but I heard that there was some research going on on what SCM to move to for mozilla in general. 

I know it's usually a somewhat controverisal subject, picking an SCM, but I trust that SVN was decided on by some process? :-)

That is, why SVN as opposed to, say, Bazaar?
Max,

This is an optional system.  Some of web teams (addons, server ops, etc) and folks who want to do experimental projects have expressed interest in moving their work to SVN.  Since the cost to setting up and running the server is low we are doing it.

Moving the core Mozilla/Gecko development code-base to SVN is a much longer, bigger deal since it impacts a much larger audience and no official decision to move has been made.   Requirements and discussion are being tracked here:

http://wiki.mozilla.org/Version_Control_System_Requirements

svn.mozilla.org is now ready.  You will need an LDAP account to checkin stuff.  Please file an IT bug to get an SVN enabled ldap account.  For anonymous browsing and checkout, use http://svn.mozilla.org

Once you have an LDAP account, the svn url will be svn+ssh://svn.mozilla.org/

Your LDAP e-mail address will be your svn login as well.  You can pass this user name directly on the svn url in the command line, but some svn clients get confused with commands like this.

svn co svn+ssh://aravind@mozilla.com@svn.mozilla.org/blah

They interpret mozilla.com to be the svn repository host name and svn.mozilla.org to be the revision.  To get around this, put this in your ~/.ssh/config

Host svn.mozilla.org
User aravind@mozilla.com

Then, you can simply use "svn co svn+ssh://svn.mozilla.org/blah"

Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
One note here, this is not meant to be a general testing area for mozilla related svn stuff.  Only specific projects are being moved to svn.  Please request access only if you are working on those specific projects, for now its only AMO.
(In reply to comment #12)
> One note here, this is not meant to be a general testing area for mozilla
> related svn stuff.  Only specific projects are being moved to svn.  Please
> request access only if you are working on those specific projects, for now its
> only AMO.
> 

We're also planning on putting the new mozilla.com in SVN.
Wow... looks like finally bug 329639 was not invalid...
On every svn command (`svn ls`, `svn co`, etc.) I get the error:

Could not chdir to home directory /home/wclouser: No such file or directory

The command still seems to work.  Is this something to start a new bug about?
Nope, I know about it.  Will fix it sometime in the next couple of weeks.  Its not a high priority right now since it doesn't impact any functionality.

You can log a bug if you want, but I will fix it regardless.
svn should not complain anymore about the "Could not chdir to home directory" problem.
Product: mozilla.org → mozilla.org Graveyard
You need to log in before you can comment on or make changes to this bug.