Talk:Version control repository

From Second Life Wiki
Revision as of 19:38, 9 January 2007 by Kunnis Basiat (talk | contribs)
Jump to navigation Jump to search
  • Adam Zaius 06:38, 8 January 2007 (PST) votes for SVN
    • Directory structure something like:
      • /trunk -- Only editable by Linden Lab
      • /branches/users/<username>/ -- unlimited permissions by owner/creator for third-party source

Do we want to integrate the VCS with the Second Life authentication? Pluggability of authentication scheme seems like an important axis to consider. --Which Linden 09:27, 8 January 2007 (PST)

Giving users branches in SVN without a degree of trust is dangerous - purging history in SVN is intentionally very difficult, so a single (malicious) user could conceivably use up all the space in the server or host not-so-legal content (even if you svn rm something, it's still in the history). However if the trunk is pure svn, normal users can use things like svk if they want their own branches. --Ginko Bayliss 13:33, 9 January 2007 (PST)

Distributed version control

One reason I really like the distributed version control systems is because it really reduces the need for Linden Lab to be in the business of giving people their own sandboxes. Many of the newer systems are very easy to host, and merging from multiple repositories is much easier. -- Rob Linden 07:25, 8 January 2007 (PST)

Darcs

Darcs is something you may want to investigate. I've used it for other projects, and it was simple and effective enough that the less technical folks have actually started using it for their own projects, it is so simple and effective. A possible con would be that it IS written in Haskell.. but that's not that problematic. --Ky Aska 15:59, 8 January 2007 (PST)

We tried using darcs for a while in-house, and really wanted it to work, but it would frequently never finish operations on windows because it would consume too much memory. Phoenix Linden 09:25, 9 January 2007 (PST)

  • Out of curiosity, how long ago was darcs tried? It might've gotten better since then - though I've heard that performance during conflict resolution is still rather bad. --Ginko Bayliss 16:32, 9 January 2007 (PST)

Eddy Stryker 13:22, 9 January 2007 (PST) votes again SVN

  • Branching/merging capabilities are hacked in, so instead of doing push or pull commands you are looking up revision numbers to figure out when you last backported and where the new merge should start
  • No distributed version control like bitkeeper, git, mercurial, etc without using SVK which is a less than ideal solution
  • Not designed for very large codebases like Second Life, where branching becomes unbearable

SVN

I'm happy with a read only SVN.

We are all developers. We can set up our own local SVN if we want a sandbox. Gigs Taggart 15:13, 9 January 2007 (PST)

Agreed. I think our repo should have a struture like....

  • /trunk/slviewer/ Root of what we are given. You basically just need to check this one directory out to build the client.
  • /tags/slviewer/slviewer-*/ tag of each revision that's distroed by LL as a set, perhaps with it's binaries, and the build outputs. (map files and .asm files anyone?)
  • /branches/slviewer/slviewer-*.1/ Branches to deal with bugs that happen once a tag has been made. Any changes fixed on a branch should also be applied to the trunk too.

Kunnis Basiat 18:38, 9 January 2007 (PST)