OT: Good SVN How-To?

A project I'm working on just shoved me over the threshold from RCS to SVN -- I just have to track multiple branches on this one.

But I'm not a version control maven, I'm a @#$% algorithm guy!

Any good SVN "How To's" out there? If O'Reilly has a book I'll probably buy it, but a good web-based one that's on the dips**t level (if you want to do "A" then type "B") would be nice in the mean time.

--
www.wescottdesign.com
Reply to
Tim Wescott
Loading thread data ...

If you're running Windows, grab yourself a copy of TortoiseSVN. The documentation's pretty good, and more importantly, as software it's got a very high "it just works" factor.

On an unrelated note, the same author's StExBar is one of the things that makes life under Windows livable.

--
Rob Gaddi, Highland Technology
Email address is currently out of order
Reply to
Rob Gaddi

I'll second that. One client strongly urged me to use SVN as well so I installed Tortoise. Haven't used it in a long time so I forgot most of it by now but it sure ranks as a "it just works" software. Because I am an analog dude and can get rather impatient when some software doesn't budge.

The smoothness of being on their file server when I needed docs was amazing, and that's roughly 6000 miles from here.

Thanks, got to check that out.

--
Regards, Joerg

http://www.analogconsultants.com/
 Click to see the full signature
Reply to
Joerg

I found the main online docs - the "Version Control with Subversion" book - pretty good.

You might also want to look at git. Blindingly fast, compact and efficient. It is reputedly very good at managing branches and merges, even better than svn. No need to setup a server, each copy is its own repository. Several projects I am familiar with have switched from svn to git recently (as have I, after using svn for a few years).

Having said that I think you are on windows, where svn could have better tools. Not sure.

--

John Devereux
Reply to
John Devereux

You're best choice here is . It's the full subversion manual, written by the people that wrote subversion. You can buy the book (easy to read in an armchair in front of the fire, and supporting the project financially), and you can read the latest version for free online.

The main website has a faq, and lots of useful links.

Definitely recommended.

That looks like a nice utility. Normally I avoid such "toolbar" type gadgets, especially anything that plugs into explorer (since a mistake can really screw up windows). But in this case, I know the author knows what he is doing after using Tortoise for ages.

Reply to
David Brown

svn does not require a server. Specify your repository as file:///

IMO a major flaw in the way many Windows people think is that they will run svn in client-fileserver mode (using file:/// as mentioned above on a shared volume) rather than client-svnserver.

In client-fileserver every user must have full permissions on the repository, including the metadata. IMO this is asking for trouble, especially if there are multiple simultaneous users.

Reply to
David Kelly

Tim, I'll be the nay sayer here. I didn't like TortoiseSVN but maybe for reasons that don't matter to you. We use SmartSVN because I find it more similar to Visual SourceSafe. Compared to Tortoise which is an explorer integration only (unless it has changed), SmartSVN is both an integration and a stand alone app. I find it quite user friendly.

On the minus side, SmartSVN isn't free. You can do a trial for free, but a license is under $100.

One other note on SVN itself. If branches are your primary interest, make sure to follow their recommended (read "required") layouts, i.e., everything project has its root in \trunk, with parallel \tags and \branch. I find this terribly inconvenient for our project format so we don't use it, and consequently, can not uses tags or branches.

--
Scott
Validated Software
 Click to see the full signature
Reply to
Not Really Me

What, just because I don't spell it "Windoze" or "Micro$oft" you think I'm on Windows? It's a mixed-religion household, with both Linux and Windows boxes (mine are all Linux).

The server is on a Linux box, but the primary users are on Vista.

--
www.wescottdesign.com
Reply to
Tim Wescott

Ooh, I may have to git that.

__________ Information from ESET NOD32 Antivirus, version of virus signature database 4548 (20091027) __________

The message was checked by ESET NOD32 Antivirus.

formatting link

Reply to
Not Really Me

:) Sorry, I must have misremembered. Maybe it was Joerg.

OK, never looked into the windows client support. (Could well be be excellent too, but not looked myself)..

--

John Devereux
Reply to
John Devereux

Not sure that is the case, although I could be wrong. I thought you could organise your repository directory structure in any way you like - when you branch/tag you just have to provide the path to where the branch/tag is to be stored.

SVN does not draw any distinction between branches and tags, so using different directories for each allows some organisation to be maintained. You can have as many directories and sub directories under the \tags and \branch paths as you like.

--
Regards,
Richard.
 Click to see the full signature
Reply to
FreeRTOS info

or

re

r

I don't miss having a standalone app to deal with svn under Windows. And I REALLY don't miss VSS.

ut a

ake

ing

d

That comment about "required" layouts is not true. The recommended layouts are just that: recommendations. You can organize your repository in any way that makes sense to you. Under a project's root directory you can have multiple "branches" or "trunks" that are called whatever you wish.

The only distinction that TortoiseSVN makes is that if you check out something that is under a "tags" directory in the repo, TSVN marks the entire checkout as read-only in the local filesystem. This is its simplistic way of enforcing the gentlemen's agreement that tags are immutable.

-a

Reply to
Andy Peters

Correct - you can organise things exactly as you see fit. It is quite reasonable, for example to have something like this:

\mainboard \trunk \tags \release1.00 \release1.01 \branches

\slaveboard \trunk \microcontroller \fpga \tags \release1.00 \branches

Organise the directories as you see fit for the project in question.

Reply to
David Brown

This is, AFAIK, /exactly/ how MS Source Safe works - and is, AFAIK, the biggest single reason for its terrible reputation.

Using file:/// is good for a single developer on their own machine - it makes it easy to track changes and old code. But if you want to share the repository with others, then (as you say) you really ought to use a proper server. Both svnserve and webdav are easy to set up on a server.

Reply to
David Brown

Of course most people use git with a server too. I meant that you don't

*have* to, and I think you can do a lot more when without server access.
--

John Devereux
Reply to
John Devereux

git works by having a local copy of the repository (either all of it, or just the parts you are interested in). So you can do your work against your local copy, including check ins and check outs, and then later push some of your changes to a remote server for others to see. My understanding is that it is good at handling lots of variants in the code with different patches, and being decentralised makes it better for when you can't always be in close contact with a main server.

svn, on the other hand, is based on the idea of a central server that is the master and holds all the revisions. Most operations therefore need contact with the server. Since your revisions are all in one place, it is much easier to keep an overview - you have a mostly linear progression (branching and merging can be viewed as non-linear operations).

The two systems each have their place, and their advantages and disadvantages. git is ideal for the Linux kernel development model (oddly enough), while svn is normally a better match for a development team in one (or a few) location.

Reply to
David Brown

,
n

vn

tter

.

).

does git use the Copy-Modify-Merge or Lock-Modify-Unlock Solution ?

Reply to
bigbrownbeastie

y

Why not read the free SVN O'Reilly HTML book?

formatting link

formatting link

Reply to
bigbrownbeastie

I don't know - I only know what I have read about git, having considered it for our own use. But I concluded that svn fitted our needs better, so there is a limit to my knowledge of its technical details. However, I'd guess that there is not much in the way of locking involved - anything with locks would have trouble scaling to fit the needs of the Linux kernel developers.

Hopefully someone else can give you a more qualified answer.

Reply to
David Brown

es,

own

svn

better

o

up

't

ss.

or

nst

sh

or

is

eed

it

ons).

go and read the svn book (above) and it explains in the first chapter or so.

Reply to
bigbrownbeastie

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.