Hi folks,
while trying to push to github, I've encountered trouble with
broken commits: github always runs fsck on post-receive,
which fails due to broken commit metadata, and upload will
be rejected. See commit
144c7a2e1d711e13422a5c84b34ac33b1d940034
Optimally, we should correct this, but unfortunately that would
would conflict existing tags. So how can we do that ?
My idea would be writing some git-filter-branch based script
which runs through all branches and tags and stores the new
ones with some suffix, eg. ".FILTERED", additionally add the
old ones (which have been rewritten) with suffix ".BACKUP".
Then we would rename the (active) filtered branches to the
official names (eg. master.FILTERED to master) and rebase the
unfiltered ones ontop the filtered ones in case of someting
was forgotten. The really tricky point is concurrent writes:
we need some maintenance downtime window where no new pushes
are allowed, so nothing gets lost in the process.
When everything's done, we'd do an announcement that people
should drop their copies of the tags (and do necessary steps
for potentially _local_ tags) and rebase their downstream
branches.
What do you think about this ?
cu
--
Mit freundlichen Grüßen / Kind regards
Enrico Weigelt
VNC - Virtual Network Consult GmbH
Head Of Development
Pariser Platz 4a, D-10117 Berlin
Tel.: +49 (30) 3464615-20
Fax: +49 (30) 3464615-59
enrico.weigelt@vnc.biz; www.vnc.de
Context
- Broken commits in our repo · Enrico Weigelt
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.