4. What is DVCS? DVCS - A distributed revision control, distributed version control system (DVCS) keeps track of software revisions and allows many developers to work on a given project independent of network access or a central server. Committing, branching and merging are fast.
5. DVCS is… Distributed version control system (DVCS) takes a peer-to-peer approach, as opposed to the client-server approach of centralized systems. Rather than a single, central repository on which clients synchronize, each peer's working copy of the codebase is a bona-fide repository. Distributed version control conducts synchronization by exchanging patches (change-sets) from peer to peer
8. DVCS - Advantages Fast Mercurials implementation and data structures are designed to be fast. You can generate diffs between revisions, or jump back in time within seconds. Platform independent Mercurial was written with platform independence in mind. Therefore most of Mercurial is written in Python, with a small part in portable C for performance reasons. As a result, binary releases are available on all major platforms. Extensible The functionality of Mercurial can be increased with extensions, either by activating the official ones which are shipped with Mercurial or downloading some from the wiki or by writing your own. Extensions are written in Python and can change the workings of the basic commands, add new commands and access all the core functions of Mercurial. Open Source Mercurial is free software licensed under the terms of the GNU General Public License Version 2.
9. How does it work? or how it works with TortoiseHG
10.
11.
12.
13. A changeset is an atomic collection of changes to files in a repository.
29. How does it work? - basic commands Commit selected diffs in checked files. Undo (rollback) last immediate commit. VisualDiff checked files. Revert checked files to last revisioned state Add checked files Move checked files Remove checked files Forget checked files Pull all changes from another repository into the current one Push all changes from your repository into another one Shelve changes when they not needed and get them back in future
33. Extensions – Shelve The shelve extension lets you to choose which parts of the changes in a working directory you'd like to set aside temporarily, at the granularity of patch hunks. You can later restore the shelved patch hunks using the unshelve command.
34. Extensions – more and more Purge – deletes all files and directories in the repository that are not being tracked by Mercurial Notify – Send email to subscribed addresses to notify repository changes Convert – convert repositories from other SCMs into Mercurial Highlight – Highlight syntax in the file revision view of hgweb Bisect – Quickly find the revision that introduces a bug or feature bisecting the history tree …
49. Usefull links Download Mercurial: http://mercurial.selenic.com/wiki/Download Dvcs With Mercurial presentation: http://www.slideshare.net/tednaleid/dvcs-with-mercurial-no-notes Migrating from and VCS: http://mercurial.selenic.com/wiki/RepositoryConversion VS Plugin: http://visualhg.codeplex.com/ Mercurial as a “super client” for Subversion: http://naleid.com/blog/2008/05/01/using-mercurial-as-a-super-client-for-subversion/