Loading presentation...

Present Remotely

Send the link below via email or IM


Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.


DVCS na przykładzie Mercuriala

Zalety rozproszonych systemów kontroli wersji na przykładzie Hg

Tomasz Pluskiewicz

on 24 March 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of DVCS na przykładzie Mercuriala

case study of Why
SVN? Security Code quality Problem:
Commited code is immediately fetched by other team members. Solutions:
Commit rarely?
Commit broken code? What else... Consequences of centralization:
Dependency on one repository server
Inability to commit when server is unreachable
Working copy cluttered with .svn folders
Only one way to work with SVN "Maybe what they need is a central VCS with some of the benefits of these DVCS systems, something like Subversion with its weaknesses removed." [1] Merging branches SVN doesn't store enough information to perform the merge operation successfully.

Version 1.6 introduced
(is it any good?) Tortoise SVN isn't helping either Short
of DVCS 199?
Sun WorkShop TeamWare 1997
Code Co-Op 2001
GNU Arch 2000
Subversion + + ? ~1998 - 2005 2005+ Git? Mercurial? Bazaar? BitKeeper must go Ok, so why the sudden popularity? Git: Bazaar: Mercurial: Linux Kernel, Android, Qt, Ruby on Rails, Perl, Eclipse, Gnome, KDE Mozilla, Python, Netbeans, Symbian OS, Nokia Maps, Mercurial Ubuntu, Emacs, MySQL, Inkscape, GRUB Benefits
of DVCS Why not Git (subjective)? many separate exes
extensible with scripts one exe
extensible via plugins
TortoiseHg Elastic code workflow http://whygitisbetterthanx.com/#any-workflow Centralized (DVCS with no D?) http://whygitisbetterthanx.com/#any-workflow With integration manager http://whygitisbetterthanx.com/#any-workflow Fully hierarchical Speed and small size http://whygitisbetterthanx.com/#git-is-fast Speed http://whygitisbetterthanx.com/#git-is-small Small repository size Super easy branching Anonymous branches Named branches Bookmarks Cloning Other features of Hg Mercurial Queues How is Hg different? What else can MQ do? Sharing repositories With Mercurial Queues user can:
Delete commits,
Reorder commits,
Change commit message and content,
Move commits between branches,
Remove named branches.
But MQ can also...
Clutter repository,
Lose history irreversibly,
Break the repository. Use with caution! The whole repository is committed and pushed by default
One project - one repository (subrepositories)
Commit numbers are SHA-1 hashes. Locally they are numbered like in SVN
Known issues with large files
Many existing extensions
File renames are tracked but not automatically shared drive (SAMBA, NFS, etc)
bitbucket.org http://mercurial.selenic.com/wiki/PublishingRepositories Thank you. Questions? :) [1] http://chriswongdevblog.blogspot.com/2010/11/dvcs-vs-subversion-smackdown-round-3.html
[2] http://poweredbythepete.wordpress.com/2010/10/29/gitmercurial-vs-subversion-fight/
[3] http://hginit.com
[4] http://importantshock.wordpress.com/2008/08/07/git-vs-mercurial/
[5] http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/
[6] http://mercurial.selenic.com/wiki/QuickStart
[7] http://whygitisbetterthanx.com
[8] http://hgbook.red-bean.com/read/managing-change-with-mercurial-queues.html
[9] http://olex.openlogic.com/wazi/2011/getting-started-with-mercurial/
[10] http://mercurial.selenic.com/wiki/MqTutorial
[11] https://developer.mozilla.org/en/Mercurial_Queues Sources
Full transcript