On 05/22/2015 02:13 PM, Daniel P. Berrange wrote: > Yeah, there are a couple of repos that I have some trouble pushing > due to bad historical commits that are now rejected :-( > > > I've been reading up online and AFAICT, the only way to fix this is to > re-write GIT history entirely in the affected repos. This doesn't change > the content, but it'll invalidate everyone's current checkouts :-( Yeah, that's my understanding as well. Updating to new commit ids is not too bad (all the content is the same, so it is just commits and not file revisions being updated), but it does require downstream checkouts to do a non-fast-forward. As long as we publicize it correctly, I don't think it will hurt too many people. > > Perhaps these 3 modules are niche / small enough that we're fine rewriting > history....or maybe Eric knows another workaround ? 'git help replace' will teach you about git grafts (reparenting a tree on top of a fixed commit), where people who have cloned from the old representation don't have to rebase, but new clones pick up the new history. http://git-scm.com/blog/2010/03/17/replace.html But I don't know if that will help the situation any (other than 'git replace' makes it easier to to a 'git filter-branch' that rewrites history correctly). -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list