Subversion 1.1 Released 60
crafterm writes "Subversion 1.1 has just been released with many new features, including performance speedups, a new file based repository format, localized messages, and more.
Release notes are available http://subversion.tigris.org/svn_1.1_releasenotes. html"
CVS-Subversion anyone? (Score:3, Insightful)
Thanks.
Re:CVS-Subversion anyone? (Score:4, Informative)
Re:CVS-Subversion anyone? (Score:5, Informative)
Hmm, let's see:
- No more vendor branch initial import silliness
- Even easier, faster branching
- Can point someone directly to a specific branch via URL
- Built-in repository browsing (via http)
- No lockfile headaches
- In general: faster, cleaner, more polished, slightly more streamlined workflow.
Re:CVS-Subversion anyone? (Score:2, Informative)
CVS works fine for me and works on all my machines. The only problem is the UI of the cvs command line tool which is a little crusty (how exactly do you import an existing code base into CVS again?).
Also I DO NOT like the "do-it-yourself" branching/tagging of Subversion. I like to use lots of floating tags, before and after big changes, pre/post merge markers, etc., and doing it subversion's way is just weird. I can appreciate the thinking behind it (hey, it's just more v
SVK. :-) (Score:5, Interesting)
In that case, do check out the svk [elixus.org] project, which supports distributed repositories, transparent CVS mirroring, and has an almost identical command set as Subversion.
One thing I really like about svk is that it can choose to present itself as a "single stack of revisions" monolithic system, or as a "multiple stacks, star-merged back and forth" decentralized system, or even a "shallow stack of patch chains, swapped freely" system, based on the current needs of the user.
I am implementing a darcs-compatible command set [elixus.org] and patch tracking algorithm [elixus.org] for svk, which should be merged to the main trunk on 0.23 or 0.24,
Also, svk interoperates [elixus.org] with existing p4, cvs, svn (and soon arch) repositories, as you don't have to convince everybody else to use the same system.
I sincerely encourage you to play with svk. The next biweekly release (0.22), to be released next Monday, would be an excellent choice.
Re:CVS-Subversion anyone? (Score:5, Informative)
Improvements include:
- Atomic commits
- Historically trackable file/directory renames, moves, and deletes
- Simplified branching and tagging
- Less network traffic between client and server
- Better binary handling
The big missing component at this time is robust merge tracking. You have to do a little manual work during complex merges from long-lived branches, but that should be addressed in 1.2 or 1.3.
Re:CVS-Subversion anyone? (Score:5, Informative)
Re:CVS-Subversion anyone? (Score:5, Informative)
For example, if I want to import changes between revisions 123 and 124 from trunk to current branch, I can just use svn merge url://path/to/repo/trunk -r123:124 and all changes in the trunk between those revisions will be merged in the current branch. Note that a revision is always the result of a commit and might include changes to a bunch of files and directories. And if something has been renamed in that commit, that change will be included too! If it later comes out (possibly after 10 more commits to the very same files) that such a merge was mistake, I can remove that merge just as easily with svn merge url://path/to/repo/trunk -r124:123. Note that I just reversed the repository numbers, so svn applies changes in reverse.
There're some things I don't like, though:
Just give the cvs2svn a try and play with svn with some real world sources. And keep the CVS repository running until you're comfortable with svn. Then use cvs2svn to do the conversion.
Re:CVS-Subversion anyone? (Score:2, Informative)
Re:CVS-Subversion anyone? (Score:2, Interesting)
okay. But now I have numerical revision "names" and I'd want to give more meaningful names for commits/revisions, how do I do that? There's difference between knowing that difference from r123 to r124 is bug fix to bug number 42 and having r124 an alias called bug42fix. That way I could more easily merge that fix to another branch. But I guess it all comes down to svn not really supporting changesets.
Re:CVS-Subversion anyone? (Score:2, Informative)
easy:
svn checkout -r 124 $REPO/trunk
svn cp trunk/ $REPO/tag/bug42fix
So $REPO/tag/bug42fix is $REPO/trunk at revision 124 forever, until the end of time. Or until you delete it.
If you commit to that tag, it becomes a branch.
Also, copying is light-weight. Even if
So, a tag is a copy you don't commit to, and a branch is a copy you commit to. Tags don't even have to be under
Re:CVS-Subversion anyone? (Score:2, Informative)
You can download a pre-compiled binary, but it was several builds behind and
Re:CVS-Subversion anyone? (Score:3, Informative)
Also, complaini
Re:CVS-Subversion anyone? (Score:2, Informative)
Re:CVS-Subversion anyone? (Score:2, Informative)
Re:CVS-Subversion anyone? (Score:5, Informative)
I fail to see how this is a Subversion problem. The developers (almost none of whom get paid to work on the project) shouldn't be required to compile binaries for every operating system out there. That should be the job of your OS's package maintainer.
I think you're abusing the word "unstable" here. Subversion may use the latest and greatest versions of some libraries, but I don't think any are in alpha or beta status. (Could you point out any that are?)
Now, if you are having problems with your dependencies not being up to date, take that up with your package maintainer, whoever that may be.
False.
Subversion most certainly allows you to configure permissions on a per-user basis. It even goes so far as to allow you to fine-tune those permissions on a directory level (i.e. /src/foo is read-writeable while /src/bar is only readable and /src/quux is off-limits).
Don't place the blame for your failure to thoroughly read the documentation on Subversion.
This issue has been beaten to death several times on the mailing lists. Please read the archives.
And who said you have to upgrade your webserver to run Subversion? You can run Apache 1 and 2 just fine on the same machine, just use a different port for Apache 2.
Overall, I'm not very impressed with your inability to read documentation before you make uneducated statements like "People told me that svn supported various things, and convinced me to make the upgrade; they were largely incorrect, and this "CVS replacement" doesn't really deserve to be at 1.0, let alone 1.1."
Subversion, like any other tool, requires a bit of effort to switch over to. But the Subversion devs are smart people who have dealt with (and solved) all of the issues that you brought up. It is not perfect, but it is being actively developed and baseless complaining doesn't help anyone. In future, I advise you to read the docs completely, and ask the proper questions in the proper channels before you begin to criticize.
Don't get me wrong, Subversion has its share of problems. Some of these can be fixed, others require significant design overhauls before they can be addressed. But unfounded claims such as yours shouldn't need to be addressed several times per week just because you can't be bothered to look into them properly.
Thomas
Re:CVS-Subversion anyone? (Score:4, Insightful)
If the issue has been "beaten to death
On the other hand, most of his complaints are answered right on the manual, so i don't get his problem either...
Here you go... (Score:2)
The documentation is not lacking, people are just too damn lazy to google for it or follow the links on the subversion site at tigris.
Re:CVS-Subversion anyone? (Score:2)
Re:CVS-Subversion anyone? (Score:2)
I use subversion on a daily basis and I find it is much less a PITA than CVS which we still use for older projects (we never did a migrate but just started using subversion for the new stuff).
Fast & painless merges, branches & tags, transactional commits, versionmanaged file & directory nam
Free book online (Score:5, Informative)
Re:Free book online (Score:2, Informative)
here is a good example (Score:5, Informative)
Other examples include The Commons TLP and the SpamAssassin project which are projects of the Apache foundation are already using subversion. To see all the projects Apache foundation projects using SubVersion just go here [apache.org]
Useful links: Subversion homepage [tigris.org]
Version Control with Subversion Book (mirror) [rush3d.com]
No more BerkeleyDB! (Score:2, Interesting)
But what I'd really prefer is if they moved the SQL RDBM backing feature up as a nearterm goal (roadmap say longterm).
Re:No more BerkeleyDB! (Score:2)
There is the little note;
"Note that the data files created by fsfs repositories are still in a binary format, and are not human editable!"
And can it do hot backup, with guaranteed atomicity ?
Re:No more BerkeleyDB! (Score:5, Informative)
It is a very big deal if you've used Subversion for any appreciable amount of time. See my other post in this thread for a more detailed overview of BDB vs. FSFS. Or just take a look at the Greg Hudson FSFS document. [mit.edu]
There is the little note; "Note that the data files created by fsfs repositories are still in a binary format, and are not human editable!"
Which brings up the question, why do you want your repositories to be human editable? With CVS, you needed it because CVS regularly screwed up your repository, with Subversion, that's guaranteed not to happen.
Also, when you use apps that use Berkeley DB, PostgreSQL, MySQL, Oracle, MS SQL, Sybase, or DB2 as a backend, does it bother you that your data is not human editable? Why should you worry so much about Subversion then?
And can it do hot backup, with guaranteed atomicity?
Yes, "svnadmin hotcopy" works just fine.
Thomas
Re:No more BerkeleyDB! (Score:2)
Yeah, right with *any XXX* corruptions can and will happen (rarely yes, but it will) unless your SW is garanteed to be bugfree..
Note that even with a human editable SW, the corruption can be so severe that you can't fix it (or it is time consuming).
So backup..
Re:No more BerkeleyDB! (Score:3, Informative)
Which brings up the question, why do you want your repositories to be human editable?
I find "grep -ri blah /../cvsroot" rather useful. I suspect I'm not the only one.
Re:No more BerkeleyDB! (Score:1)
Re:No more BerkeleyDB! (Score:1)
The existence of a repository, or a database storage component in the repository, does not relieve you of the necessity of making backups of the repository.
Re:No more BerkeleyDB! (Score:2)
Btw, what would taring up your repos do if someone happened to
commit at that point ?
svn ships a tool that (atomically) dumps the db in a textual representation, to be able to load it back regardless of platfor/version trouble.
Other reasons... (Score:4, Informative)
True client - server
Encrypted passwords
Built-in SSH support
FSFS (Score:5, Informative)
One of the bigger changes that users of 1.0.x will see when upgrading is Greg Hudson's awesome new FSFS filesystem.
Subversion uses a db-like transactional filesystem to store your files, up until v1.1, Subversion used Berkeley DB to implement this filesystem. But BDB was somewhat of a headache for many Subversion users. Some issues:
With FSFS this problem is gone.
This never happens with FSFS.
Of course there are a ton of other nice fixes and improvements to 1.1, but FSFS shines above the rest. Also, there are rumors that FSFS will soon become the default filesystem in Subversion, I for one will welcome that change.
For more information about FSFS, Greg Hudson's original FSFS document [mit.edu] is required reading.
I'm sorry if this post comes off as Berkeley DB bashing, I really didn't intend for it to be like that. To be fair, I think that Subversion put DB to use in ways that perhaps it was not intended to, and coupled with the fact that Berkeley DB is mostly a commercial product, I can sort of see why an opensource project like Subversion would take backseat to Sleepycat's paying customers. (I should probably mention that Sleepycat recently placed one of their employees as a "Subversion liaison" to help resolve BDB bugs/issues quicker.)
Thomas
Re:FSFS (Score:1)
distributed systems are more interesting (Score:4, Informative)
Distributed systems like these have a lot of advantages over the CVS/SVN model.
Re:distributed systems are more interesting (Score:5, Informative)
How does it compare to Arch? (Score:4, Interesting)
Re:How does it compare to Arch? (Score:2)
Arch has the advantage of being very small and light. Your change data gets stored in simple
I can't comment on the supposed design problems w
Easy (Score:2)
If you want to kill your brain cells figuring out how to use your frickin' code repository and have no brain cells left for coding, use arch.
Cool (Score:4, Funny)
HAHAHAHAHHAH FUNNY!!!!!! (Score:1)
What's with all the dependancies? (Score:3, Interesting)
There are over 30 subversion related packages in the install, including updated to db4, apr, httpd and mod_ssl. Moreover, it seems that (at least the last install I tried) these other packages must be updated as a pre-requisite for installing svn.
I want to use svn+ssh. I don't need any of the apache/webdav integration. And having to move to a custom version of apache is going to be a show-stopper for a lot of people.
And does anyone know why vanilla berkely db is not good enough for svn?
svn developers: please release a client/server that can be installed without requiring updates to other packages (unless you need that specific, extra, functionality). Do this and you'll increase the svn adoption rate.
--
CVS & SVN Hosting [rimuhosting.com]
Re:What's with all the dependancies? (Score:2, Informative)
And vanilla berkdb is indeed 'good enough'.
Still no optional lock and merge tracking (Score:5, Interesting)
I wrote about it here a few months ago http://www.gamesfromwithin.com/articles/0407/00002 6.html [gamesfromwithin.com].
Fortunately, both those features are coming up soon by looking at Subversion's roadmap http://subversion.tigris.org/roadmap.html [tigris.org]
Nice new feature: (Score:3, Interesting)
Haha.. otherwise know as "Who the fuck broke this bit of code"?
Application programming (Score:2, Funny)
I swear, when I find out who decided to call every damn parameter in the entire damn thing a 'baton'.
I hope they'll have a developer conference soon, I'll be bringing my 'baton' along.