Loading presentation...
Prezi is an interactive zooming presentation

Present Remotely

Send the link below via email or IM

Copy

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.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

DVCS na przykładzie Mercuriala

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

Tomasz Pluskiewicz

on 24 March 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of DVCS na przykładzie Mercuriala

DVCS, a
case study of Why
not
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
svn:mergeinfo
(is it any good?) Tortoise SVN isn't helping either Short
history
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)
ssh
hgserve
hgweb
RhodeCode
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