Comments (12)
Why not just fork it on Gitlab?
from sge.
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.
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.
I guess many of the tags got broken in the process. I don't see any of the 8.1.* releases.
from sge.
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.
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.
Cool. But can we agree to have the tags like 8.1.9 instead of 819?
from sge.
from sge.
from sge.
from sge.
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.
from sge.
Related Issues (8)
- hwloc/autogen/config.h error HOT 3
- Document the Debian package build process (+other build processes) HOT 16
- sge_qmaster segfaulting HOT 4
- Debian package structure and pull-upstream-changes process HOT 11
- Importing the original repo HOT 14
- Revive this? HOT 23
- Deleting exec-host with jobs in 'dr' state is allowed HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sge.