On 07/09/10 18:16, Tom Lane wrote: > Michael Haggerty <mhag...@alum.mit.edu> writes: >> Tom Lane wrote: >>> What I'd like is for those commits to vanish from the git log entirely. > >> It seems to me that in your case such commits could be "grafted over": > >> *---*---*---* >> \ >> A---B---C---D > >> E.g., if "C" is one of these special manufactured commits, then you >> could use git grafts to change the parent of "D" from "C" to "B", then >> bake in the change with "git filter-branch". This would make C >> inaccessible and subject to garbage collection. > > Hmm, I see. This depends on the fact that git commits reference > filesystem states and not deltas, correct? So it does actually make > sense to just delete that commit from the history. I was concerned > that it'd invalidate later commits, but I guess it doesn't.
It wouldn't - except for the fact that cvs2git batches such manufactured commits such that there is no guarantee that a single manufactured commit pertains only to files in the commit immediately afterwards. For example, consider the it.po file in the commit referenced in this thread yesterday: commit b36518cb880bb236496ec3e505ede4001ce56157 Author: PostgreSQL Daemon <webmas...@postgresql.org> Date: Sun Feb 28 21:32:02 2010 +0000 This commit was manufactured by cvs2svn to create branch 'REL8_4_STABLE'. Cherrypick from master 2010-02-28 21:31:57 UTC Tom Lane <t...@sss.pgh.pa.us> 'Fix up memory management problems in contrib/xml2.': contrib/xml2/expected/xml2.out contrib/xml2/sql/xml2.sql src/bin/pg_dump/po/it.po Max.
signature.asc
Description: OpenPGP digital signature