From: "Klas Lindberg" <klas.lindberg@gmail.com>
To: "Jakub Narebski" <jnareb@gmail.com>
Cc: "Michael J Gruber" <git@drmicha.warpmail.net>,
"Steven Grimm" <koreth@midwinter.com>,
"Git Users List" <git@vger.kernel.org>
Subject: Re: How to remove a commit object?
Date: Thu, 2 Oct 2008 16:26:29 +0200 [thread overview]
Message-ID: <33f4f4d70810020726g71c6f39eq16585269fb268322@mail.gmail.com> (raw)
In-Reply-To: <m3ljx7qemk.fsf@localhost.localdomain>
Repo size is a problem too, actually.
A solution to both problems seemed to be to use git-filter-branch to
create a new repo by filtering out all the unwanted files. The
astonishing result was that, for the subdirectory I tried it on, 90%
or so of the commits on that subdirectory just disappeared. It didn't
look right at all. Although I can't say for sure exactly what I did
with filter-branch, I would appreciate some guidance for using it. It
basically seemed to do exactly what I wanted (recreate the repo, minus
some explicit stuff, with history intact otherwise), except the result
looked crazy.
/Klas
On Thu, Oct 2, 2008 at 4:02 PM, Jakub Narebski <jnareb@gmail.com> wrote:
> "Klas Lindberg" <klas.lindberg@gmail.com> writes:
>
>> This doesn't seem to work for me. I will soon be in a situation where
>> I need to selectively delete commits in such a way that they become
>> completely irrecoverable. I.e. it is not enough to revert a commit.
>> The *original* commit must be removed. And of course, the repo history
>> is too complex to allow for rebasing followed by garbage collection or
>> something like that.
> [...]
>
>> Would it be feasible to write a tool that can selectively replace a
>> specific commit in the commit DAG, or would that automatically
>> invalidate every SHA key for every commit that follows the replaced
>> original?
>
> It would invalidate SHA1 for every commit after first rewritten.
> There are two tools which you can use to rewrite large parts of
> history automatically: git-filter-branch, and git-fast-export +
> git-fast-import.
>
> HTH
> --
> Jakub Narebski
> Poland
> ShadeHawk on #git
>
next prev parent reply other threads:[~2008-10-02 14:27 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-18 23:41 How to remove a commit object? Steven Grimm
2008-09-19 9:16 ` Michael J Gruber
2008-10-02 13:36 ` Klas Lindberg
2008-10-02 14:00 ` Michael J Gruber
2008-10-02 14:02 ` Jakub Narebski
2008-10-02 14:26 ` Klas Lindberg [this message]
2008-10-02 14:30 ` Michael J Gruber
2008-10-02 14:52 ` Klas Lindberg
2008-10-02 15:02 ` Johannes Sixt
2008-10-03 11:42 ` Klas Lindberg
2008-10-03 12:03 ` Johannes Sixt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=33f4f4d70810020726g71c6f39eq16585269fb268322@mail.gmail.com \
--to=klas.lindberg@gmail.com \
--cc=git@drmicha.warpmail.net \
--cc=git@vger.kernel.org \
--cc=jnareb@gmail.com \
--cc=koreth@midwinter.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).