Giter Club home page Giter Club logo

Comments (12)

Kunzol avatar Kunzol commented on September 23, 2024

Why not just fork it on Gitlab?

from sge.

danpovey avatar danpovey commented on September 23, 2024

Because github is more popular; I know the workflow; and anyway, having a repo for which 'git fsck' fails is not really a good idea IMO. It's OK; I'm fixing it.

from sge.

danpovey avatar danpovey commented on September 23, 2024

Recording of the steps to fix the 'git fsck' failures. This is after cloning the repo at https://gitlab.com/loveshack/sge.git.

First copy the tags to branches.

for t in $(git tag); do git branch  ${t}_branch $t; done

Then use the magic invocation to clean up bad commits in all the branches:

for b in $(git branch); do git checkout $b; git filter-branch -f --commit-filter 'case "$GIT_AUTHOR_NAME" in *author\<\ email*) GIT_AUTHOR_NAME=author_name; GIT_AUTHOR_EMAIL=author_email;; esac; git commit-tree "$@" '; done

It turned out the only tag that ended up getting rewritten was the most recent one, '811'. Recreating that tag.

git tag -f -m "Originally tagged on Jul 13 2013 by Dave Love <[email protected]>.  Re-tagging due to git fsck failure."  811  811_branch

Remove all the temporary branches I created:

git checkout master; for b in $(git branch |  grep '_branch'); do git branch -D $b; done

Prune now-unused objects. I had to temporarily remove my remotes to get this to work.

git remote rm upstream
git remote rm origin
git reflog expire --expire=now --all
git gc  --prune=all

now verify that it works:

git fsck

(no errors).
add back my upstream remote:

git remote add upstream [email protected]:son-of-gridengine/sge.git

and push the master branch and tags:

git push upstream +HEAD:master
for t in $(git tag); do git push upstream $t; done

from sge.

0xaf1f avatar 0xaf1f commented on September 23, 2024

I guess many of the tags got broken in the process. I don't see any of the 8.1.* releases.

from sge.

danpovey avatar danpovey commented on September 23, 2024

There is just '811'. But that's the same as it was in the source repo, see here:
https://gitlab.com/loveshack/sge/tags

from sge.

danpovey avatar danpovey commented on September 23, 2024

Here's how I got the commands to add the missing tags:

git rev-list --format=%B HEAD | grep -B 1 '^TAG 81' foo | perl -ape 'if(m/commit/){chop; $_ .= " "}' | grep -v -- '--'  | awk '{print "git tag ", $4, $2;}'
git tag  819 7222ec81cb22d615656f654bee224d129b9fdcc8
git tag  818 5a1349aa7616557dc0a5a51b8faa57e6430ead33
git tag  817 9dd58676e34597566bc19f2ef2a676911674e176
git tag  816 d38597ed0c74a33ed11d3111c644998d6544acdd
git tag  815 9eee60df036b5edcdfa4bb54ed34e73278da6ad4
git tag  814 93a923205f8a7ed7af4bdae1b606deb868bdb83a
git tag  813 8223353f46a19c474cf8e94edb4d6302df0e0509
git tag  812 460f7d06e2c5051372fd711031160013a7277d78

.. ran those commands, and then did

for tag in $(git tag); do git push upstream $tag; done

from sge.

0xaf1f avatar 0xaf1f commented on September 23, 2024

Cool. But can we agree to have the tags like 8.1.9 instead of 819?

from sge.

danpovey avatar danpovey commented on September 23, 2024

from sge.

addylaszlokovacs avatar addylaszlokovacs commented on September 23, 2024

from sge.

danpovey avatar danpovey commented on September 23, 2024

from sge.

Kunzol avatar Kunzol commented on September 23, 2024

I just converted the darcs to git and imported it in my own gitlab.
I assume the darcs repository is the "master" till now.

With the help of darcs-to-git, where I converted all unknown email addresses of former developer to "[email protected]".

Besides this the size is only 85M (this one on github is 616M).

$ du -sh sge sgegithub
85M     sge
616M    sgegithub

A diff says it is equal with this one.

$ diff -ur -x .git sge sgegithub
Only in sge: README
Only in sgegithub: README.md

And the check runs through:

$ git fsck
Checking object directories: 100% (256/256), done.
Checking objects: 100% (64836/64836), done.

If you like, I can send you the link to the repo via email.

from sge.

danpovey avatar danpovey commented on September 23, 2024

from sge.

Related Issues (8)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.