D Programming Language source (dmd, phobos,etc.) has moved to github

Vladimir Panteleev vladimir at thecybershadow.net
Tue Jan 25 19:30:27 PST 2011


On Wed, 26 Jan 2011 04:24:56 +0200, Nick Sabalausky <a at a.a> wrote:

> Maybe it's just my inexperience with DVCSes, but everything in there  
> seems
> like the sort of thing I would consider much better off accomplished by  
> just
> simply creating a new branch that re-applies changesets from an existing
> branch (or in most cases of removing changesets, committing a new  
> changeset
> that undoes the undesired ones) instead of screwing around with the  
> history.

History rewriting in public repositories is very rare. It's a hassle for  
everyone - if someone forked off the rewritten branch, they'll need to  
rebase that branch on the new one. However, history rewriting can be  
extremely useful for local commits. Here are a few typical use cases:

1) You made a typo in a commit message a few commits ago.
2) You wish to fix something in a local commit from a while ago. This can  
be done by editing the commit directly (as above), or by making the fix as  
a new commit, an merging the two commits together.
3) You wish to clean up and reorder your development history into atomic  
commits, ready to be sent upstream as a patchset (very common with  
open-source projects).
4) You wish to split a subdirectory of the repository, along with all of  
its history, to a separate repository.
etc.

git provides many ways of automating common history edits - see the man  
page for git-filter-branch, for some examples.

-- 
Best regards,
  Vladimir                            mailto:vladimir at thecybershadow.net


More information about the Digitalmars-d-announce mailing list