![]()
#Check for modifications tortoisehg windowsI heard that Git windows support wasn't good (i.e., requires Cygwin which most windows dev do not have) but after seeing a demo of TortoiseGit I would say it's not true anymore.Īlso I heard that you can obliterate files/dirs in Git easily and not in Mercurial but I just found that with convert -filemap it's easy as well! Also extensions in shell or Python can be very powerful (to create commands etc.) and the Queue extension allows to clean history by rebasing, like in Git. Unless you have very peculiar requirements, I would say that for 99% of the time both are very good at doing what you need. What are the pros and cons of using them ? #Check for modifications tortoisehg plusThe major plus for git today (beginning of 2010) is probably github! :-) I liked this recent blog: and quite agree with it. There are numerous detailed DVCS studies out there (see links in the answers above). What's the difference between git and mercurial ? Since you can clone over the network, you can easily send the data to an off-site machine for safe keeping. That will make sure to copy a consistent snapshot, even when people are pushing data into the repository while the backup is running. The proper way to do backups is to use hg clone. Running hg verify will detect this and hg recover can rollback the incomplete transaction. The changelog references the manifest, so the backup will end up with an un-referenced entry in the manifest. However, it can happen that you get too much data that way since a backup program might copy the "changelog" before it copies the "manifest", whereas Mercurial writes the manifest before it writes the changelog. That is discussed further in this question.īackup: With the append-only design, you can almost just copy a "live" repository to make a backup. See this question for more about AD and Mercurial.įinally, instead of using the hgweb CGI script we supply, you can use something like RhodeCode. This means that it's easy to integrate Mercurial with existing setups: if you're already using Active Directory to authenticate users, then you're all set for using AD with Mercurial. We provide a CGI (with FastCGI, WSGI, and ISAPI flavours) that interacts with the repository, but the script is not doing authentication. When hosting with HTTP(S), it is the front-end webserver that handles authentication. Managing this is therefore easy: just setup a group and make sure that new files are made writable by the members of the group. If I also have write access, then I can push to the repository. So if I can log in and read the files in your repository, then I can also make a clone. Security: When repositories are hosted using SSH, all the normal rules for access control applies - Mercurial is not doing anything special. You can always use hg verify on a repository to make Mercurial double-check that everything is as it should be. They are designed to be append-only, which makes it possible to repair some forms of hardware corruption by simply truncating the files. Mercurial repositories consist of a lot of revlog files. The hashes are verified every time a file is checked out. This makes it infeasible to change any part of the history without it being noticed. Robustness: Like Git, changesets are identified by a cryptographic hash value that is computed over each change and the parent changesets. This means that the shell scripts you write today, will continue to work tomorrow. As part of the compatibility rules, we also ensure that the output of Mercurial is stable. Output Stability: This is closely related to the above. All in all, we try to make upgrades painless. #Check for modifications tortoisehg upgradeNew clients can still read/write old repository formats and will never automatically upgrade an existing repository to a new format in case the repository is shared with an old client over, say, NFS. When that happens, old clients will refuse to operate on the repository on disk (but remember that they can still push/pull over the network). The on-disk format sometimes change - we've had 4 changes until now. You can also do the opposite and upgrade the server alone, but this is normally much less important since new features show up in the clients and often wont require anything from the server. This means that you can safely upgrade clients without upgrading the server at the same time. The rules say that different versions of Mercurial must always be able to talk to each other over HTTP(S) and SSH. I can give you some information about Mercurial:īackwards Compatibility: Mercurial has a stated policy on backwards compatibility. For a sysadmin, I believe backwards compatibility, stability, robustness, security, and backup are important topics then it comes to deploying a new tool. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |