
On Tue, Jan 11 2011, Roman Leshchinskiy wrote:
On 11/01/2011, at 22:20, Simon Marlow wrote:
On 11/01/11 21:57, Roman Leshchinskiy wrote:
This would be useful. Unfortunately, git's rewinding seems rather crippled compared to darcs.
In what way?
Thomas says that it doesn't do automatic dependency tracking which looks like a huge weakness to me. Personally, I haven't been able to successfully unpull non-consecutive chunks of patches with git so far but I only tried 2 or 3 times before giving up.
I think the confusion might just be in terminology and model. Going back to earlier versions in git is trivial, much easier than darcs. Remember, git doesn't store patches. Git stores full snapshots of the tree, with a digraph of dependencies. The trees and history are immutable. The main advantages to darcs are that it can manipulate the sequence of patches better than git. The main advantage of git is that every version is accurately named. If two people have a commit with a given hash, they will have exactly the same files and history. Most projects seem to want most of the history to be immutable, and only do manipulation on recent stuff. "Removal" of earlier patches is an additional patch that removes it rather than removing it from the history. David