[rspec-devel] rake git:update

David Chelimsky dchelimsky at gmail.com
Wed Apr 16 11:25:35 EDT 2008


On Wed, Apr 16, 2008 at 10:08 AM, Bryan Ray <bryansray at gmail.com> wrote:
>  Perhaps someone's repo has this commit from an earlier pull down?
>
>  Not to doubt you David, but are you sure that commit was made to the
>  rspec repo? I'm not entirely sure I'd believe that a commit just
>  "disappeared." Don't take that the wrong way, buddy.

No offense taken - we're all learning here.

Last night I closed a ticket:
http://rspec.lighthouseapp.com/projects/5645-rspec/tickets/380. When I
closed it, I included an URL that I copied from my browser while
looking at the commit on the github site:
http://github.com/dchelimsky/rspec/commit/fcb031dffbe36dd216225e7ad6b6e0684ac36297

If you go to that link, you'll see "That page doesn't exist!"

I've learned something from conversations w/ the folks on #git @ freenode.

First - it is entirely possible that I have no local record of the
missing commits, since I pulled from a repo that has no record of
them.

Assuming that it was a push that Pat did that led to this, he *should*
have the commits in his local repo and we should be able to find them
using:

git fsck --full fcb031dffbe36dd216225e7ad6b6e0684ac36297

If he's already re-created his local repo from github, we're just
screwed - unless github has a backup somewhere - but doesn't that
defeat the whole purpose of SCM? The fact that a single repository can
loose completely any one piece of its history is absolutely ludicrous
to me.

Mercurial does this correctly in my view. Even if I really, really
want to remove something from a repo, I can not. What I can do is
clone the repo at an old changeset that I want to make the new HEAD,
and then REPLACE the entire repo with the clone.

FWIW


More information about the rspec-devel mailing list