duerst / it.aoyama.ac.jp wrote:
> Two points that would be worse for git, the first is general,
> the second is personal:
> 1) Revisions become meaningless hashes; it's totally
> impossible to look at a revision id and know where it fits in
> relation to other revision ids.

"git describe" can help give you a rough age iff we tag
off trunk (or merge the release branches back to trunk);
but it currently doesn't work for our repository.

But being a decentralized system, git history is non-linear and
reliance on serial numbers can be misleading.  Decentralization
is an alien concept to a lot of people, so they rely on
centralized messaging systems (e.g. GitHub, Redmine instances)
to make sense of it :<

In contrast, git and Linux kernel development messaging is
peer-to-peer: developers all email each other directly.
The mailing lists are merely an agreed-upon logging/broadcast
channel.

> 2) Forking, making a change, and sending it back as a pull
> request is easy. But staying in sync over the long term is
> not. As an example, https://github.com/duerst/ruby says "This
> branch is 8734 commits behind ruby:trunk". I have asked people
> from github (incl. Aaron Paterson) to add a "sync me up"
> button besides this message, but that hasn't happened yet,
> even if to me this seems to be a non-brainer. And if I try to
> fork again, it tells me that I already have a fork.

You can use "git rebase" (or "git merge"(*)) locally for that
and push to a new branch.  Doing it via a web interface falls
down once you hit conflicts and need to fix+test locally.
There's no need to rely on proprietary tools at all.


(*) I do caution against criss-cross merging because it makes
    history confusing to follow; rebase is often nicer because
    it allows you to clean up the history for presentation.
    Generally, merges should be done by the designated upstream
    and resolved there, not by downstream.

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>