Page 1 of 3
Использование системы контроля версий SVN (Tortoise SVN)
Posted: Wed Jan 12, 2011 8:37 pm
by STC
Так как у многих возникают проблемы при первом использовании систем котроля версий, то я решил создать отдельную тему.
Спрашивайте если чего непонятно.
Re: Использование системы контроля версий SVN (Tortoise SVN)
Posted: Wed Jan 12, 2011 9:12 pm
by Serj_K
Для тех, кто не обратил внимания - для Tortoise есть отдельній русификатор и есть описание на русском.
Re: Использование системы контроля версий SVN (Tortoise SVN)
Posted: Thu Jan 13, 2011 2:16 pm
by Fred
I didn't even translate this, but I found the title offensive ;-)
SVN sucks!
www.github.com ;-)
Fred.
Re: Использование системы контроля версий SVN (Tortoise SVN)
Posted: Fri Jan 14, 2011 7:29 am
by Arseniy
And what is cool?
Re: Использование системы контроля версий SVN (Tortoise SVN)
Posted: Fri Jan 14, 2011 1:01 pm
by Fred
git is the best you can get. You don't have to use github, but it's a good choice. SVN is fine for stuff involving one person and linear development. As soon as you have branches and multiple distributed devs (read open source software) you need something better, git is it. It's not about being cool, it's about power.
Fred.
Re: Использование системы контроля версий SVN (Tortoise SVN)
Posted: Fri Jan 14, 2011 1:08 pm
by alex34
Fred, can you tell some features that GIT have, and SVN dont?
Re: Использование системы контроля версий SVN (Tortoise SVN)
Posted: Fri Jan 14, 2011 2:48 pm
by Fred
Distributed: Each repo contains a full copy with full history. Anyone can commit at any time to their copy. No permission is required. Upstream (STC) can pull your commits back in as he chooses (or not!). Because every copy is full, there is automatic full replication. All git operations are lightning fast due to local repo and no connections and efficient use of everything.
In contrast SVN checkout has only current copy, and a base file set. A single svn checkout is often bigger than a full git repo with all history due to the base files. SVN operatinos are slow and painful. SVN requires permission to commit, and conflicts are not easily handled. etc etc.
In git branches etc are smooth. The reason that SVN can not do this, is that it is linear, revsion one leads to two, and so on, only. Branches are copies as are tags. they carry a revision of their own too, also in sequence. With git, revision history is a tree structure and revisions are strong hashes of the content of the commit. A commit has N parents (usually one or two, but N is possible). The tree structure allows proper handling of merges in a mostly automatic way, not possible in SVN.
SVN has it's place, but it aint on open source projects on the net with mutltiple people devving.
excuse typos, 3am here.. fcuking tired..
Re: Использование системы контроля версий SVN (Tortoise SVN)
Posted: Fri Jan 14, 2011 3:07 pm
by dandruczyk
Fred convinced me to convert from CVS to git last year, and I have to say I love the change, CVS and SVN are very similar in how they work and their deficiencies, and with git all the problems wiht CVS that I had are gone.
Branches and merges are 100x easier with git
Accepting stuff from other users is a MUCH easier with git vs svn/cvs. i.e. in SVN/CVS I need for the other party to make a patch (that in itself can mess people up), then i have to try and get it applied, andd in almost every case it required a lot of manual work, because the patch/diff was done incorrectly or against a different revision and so forth. With git, I'd add a little info to my .git/config file so git knoew about THEIR fork of my repository and I could issue a "git merge <reponame> <refname>" and it would merge in the differences between their repo and mine.
Take a look at:
http://www.youtube.com/watch?v=4XpnKHJAok8
Re: Использование системы контроля версий SVN (Tortoise SVN)
Posted: Fri Jan 14, 2011 10:00 pm
by Fred
Good point, videos!
Also seem my "git for noobs" talk here:
http://www.youtube.com/watch?v=Uu2ySkRP3DA
Fred.
Re: Использование системы контроля версий SVN (Tortoise SVN)
Posted: Mon Jan 17, 2011 4:47 pm
by STC
Fred
What about flexibility of assigning user's access rights on the
www.github.com?
e.g. Can I allow/disallow to access certain folder to some user(s).
Free version of service we are using on the assembla.com does not give such functionality.