dvcs

What makes merging in DVCS easy?

折月煮酒 提交于 2019-11-27 06:16:17
I read at Joel on Software : With distributed version control, the distributed part is actually not the most interesting part. The interesting part is that these systems think in terms of changes, not in terms of versions. and at HgInit : When we have to merge, Subversion tries to look at both revisions—my modified code, and your modified code—and it tries to guess how to smash them together in one big unholy mess. It usually fails, producing pages and pages of “merge conflicts” that aren’t really conflicts, simply places where Subversion failed to figure out what we did. By contrast, while we

Getting started with Version Control

徘徊边缘 提交于 2019-11-27 06:12:25
I need to implement version control, even for just the developing I do at home. I have read about how great Subversion is for the past couple years and was about to dedicate myself to learning this on the side until I heard about Git being the up and coming version control system. Given the situation, should I hold off and see which one comes out on top? What are their relative advantages? One issue I noticed with Git is there are not many full featured GUIs, which is important to many users on my team. Also, wouldn't mind suggestions on how to get started with one or the other. (tutorials,

Why might git log not show history for a moved file, and what can I do about it?

久未见 提交于 2019-11-27 05:20:41
问题 I've renamed a couple of files using git mv , used git stash , had a quick look at HEAD (without changing it) then did git stash pop to get the whole lot back again. My moves had disappeared from the commit list, so I redid them with git rm and the commit message claimed git had spotted the rename was a rename. So I thought no more of it. But now, post-commit, I can't get at the history of the moved files! Here's what git says about the commit in question: ~/projects% git log --summary commit

How to automatically merge .hgtags in Mercurial?

落爺英雄遲暮 提交于 2019-11-27 04:24:10
问题 I have a script running some Mercurial commands in non-interactive mode on a build server. One of the commands merges two branches and there is always a conflict in the .hgtags file during the merge because of the way the build scripts are set up. How can I force Mercurial to always merge the .hgtags file using changes from both files, first from one, then from the other? For example, if I the files to merge were A B C and A B D I would like the result to be A B C D I am guessing I will need

Comparison between Centralized and Distributed Version Control Systems [closed]

╄→гoц情女王★ 提交于 2019-11-27 02:41:50
What are the benefits and drawbacks with using Centralized versus Distributed Version Control Systems (DVCS)? Have you run into any problems in DVCS and how did you safeguard against these problems? Keep the discussion tool agnostic and flaming to minimum. For those wondering what DVCS tools are available, here is a list of the best known free/open source DVCSs: Git , (written in C) used by the Linux Kernel and Ruby on Rails . Mercurial , (written in Python) used by Mozilla and OpenJDK . Bazaar , (written in Python) used by Ubuntu developers . Darcs , (written in Haskell). Craig Trader From my

Source Control - Distributed Systems vs. Non Distributed - What's the difference?

时光怂恿深爱的人放手 提交于 2019-11-27 02:04:36
I just read Spolsky's last piece about Distributed vs. Non-Distributed version control systems http://www.joelonsoftware.com/items/2010/03/17.html . What's the difference between the two? Our company uses TFS. What camp does this fall in? Simply speaking, a centralized VCS (including TFS) system has a central storage and each users gets and commits to this one location. In distributed VCS, each user has the full repository and can make changes that are then synchronized to other repositories, a server is usually not really necessary. The difference is in the publication process: a CVCS

How does Git track history during a refactoring?

末鹿安然 提交于 2019-11-27 01:44:53
I understand well how Git can support file moves : as it uses file hash, a "added" file is easily detected as beeing same as the "removed" one. My question is about refactoring : considering Java, the package declaration changes so the file content will NOT be the same. In such case, how does Git determine that the "added" file shares history with the "removed" one ? Does it check for "most similar content" assuming I only made minor changes, or similar non-deterministic solution ? As mentioned in Git FAQ , it will detect similar content based on an heuristic. Git has to interoperate with a

Is there a way to remove the history for a single file in Mercurial?

眉间皱痕 提交于 2019-11-27 01:18:32
问题 I think I already know the answer to this but thought I would ask anyway: We have a file that got added to a Mercurial repository with sensitive information in it. Is there any way to remove that file along with its change history without removing the whole repo? 回答1: No, you can't. Read the changes that should have never been section of the mercurial red book about it; and particularly the what about sensitive changes that escape subsection, which contains this paragraph: Mercurial also does

Do you use distributed version control?

会有一股神秘感。 提交于 2019-11-27 00:57:58
问题 I'd like to hear from people who are using distributed version control (aka distributed revision control, decentralized version control) and how they are finding it. What are you using, Mercurial, Darcs, Git, Bazaar? Are you still using it? If you've used client/server rcs in the past, are you finding it better, worse or just different? What could you tell me that would get me to jump on the bandwagon? Or jump off for that matter, I'd be interested to hear from people with negative

DVCS - How often and when to commit changes

做~自己de王妃 提交于 2019-11-27 00:44:26
问题 There is another thread here on StackOverflow, dealing wih how often to commit changes to source control. I want to put that in the context of using a DVCS like git or mercurial. How often and when do you commit? Do you only commit changes when they build correctly? How often and when do you push your changes (or file a pull request or similar)? How do you approac developing a complex feature / doing a complex refactoring requiring many places to be touched? Are "private commits" that won't