Closed zhengj2007 closed 7 years ago
IAO repository has been migrated to Github
Preserving commit history for files/directories under releases directories Both Github import and GoogleCode export only migrate the files and directories under trunk directory. The files under releases cannot be migrated. It can be done by move the directory under tags directory using SVN move in GoogleCode. Following steps was performed for preserving commit history of files under IAO releases directory.
Step 1: migration a. Migrate files/directories under trunk using github import: https://information-artifact-ontology.googlecode.com/svn/
b. Migrate files/directories under releases using github import: https://information-artifact-ontology.googlecode.com/svn/releases/
Now two repositories were created in the Github
Step 2: merge Merge two created repositories following commands shown in page: http://stackoverflow.com/questions/2949738/git-merge-different-repositories
If you have two projects, proj1 and proj2 and want to merge changes of proj1 into proj2, you would do it like this: in proj2: git remote add proj1 path/to/proj1 git fetch proj1 git merge proj1/master # or whichever branch you want to merge
After merge, all files/directories under releases and trunk are merged in one repository as sibling not in trunk or releases directory as in Google project
Step 3: add tag Add 'releases' tag to the directories under original GoogleCode releases branch.
Find github commit # of the files and directories and add 'releases' tag using following commands: git tag -a releases commit-number -m "tag message" // create a new tag and tag a specific commit git tag -f releases commit-number -m "tag message" // force to use an existing tag and tag a specific commit git push origin releases //push tag to the server
Step 4: clean up Create a releases directory and move the release files/directory under new created releases directory using 'git mv'
Now, full commit history of the files under master/releases directory can be found by using command: 'git log -follow path/filename' and cannot be browsed on the website. https://github.com/information-artifact-ontology/IAO/tree/master/releases
The commit history of the files/directories can be viewed on the website via tagged directory, see https://github.com/information-artifact-ontology/IAO/tree/releases
This approach can preserve the committers information who contribute to the files/directories under releases directory in the Google code.
Link committers to their github account During migration, github will list all the authors, the mapping to github account can be done by providing committer's github account name or registered email. However, it does not always work since github require the user to set account configuration for linking your commits to your account. Following commands can be run for account configuration: git config --global user.name "your user name" git config --global user.email "your email address"
This setting will apply to all the github repository you involved in. Details please see: https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup
After code migration, following approach can be tried to link your commit to your account. Please check this page if you want to link your commits to your github account: https://help.github.com/articles/why-are-my-commits-linked-to-the-wrong-user/
Using issues-migrator Python script: https://github.com/arthur-debert/google-code-issues-migrator
The option '--synchronize-ids' is used to ensure that every Github issue gets the same ID as its original Google Code issue. When Google Code skips issue numbers, this option fills the gaps with dummy issues to ensure that the next real issue keeps the same numbering.
Since github only allow to remote access 100 times in an hour, it needs to run twice for IAO project. Second time, '--starts-at' option need to be used to specify the starting issue ID.
Notes: Github issue only allow to attach image file. If the google code issue has attachment other than image will be lost after migration.
Using googlecode2github wiki conversion Python script, details see: https://github.com/trentm/googlecode2github
Things need to be done:
Update the link in the ontology header rdfs:comment
I was going to do a PR for that, but I'm not sure about which URL you want.
Current IAO PURL links such as like: http://purl.obolibrary.org/obo/iao.owl redirect to the file located in the google project: http://information-artifact-ontology.googlecode.com/svn/releases/2015-02-23/iao.owl
It need to be updated to the file moved to the github: https://raw.githubusercontent.com/information-artifact-ontology/IAO/master/releases/2015-02-23/iao.owl
All IAO PURLs need to be updated.
From cmung...@gmail.com on July 28, 2015 20:03:53
You have 3 weeks until this site goes read-only https://docs.google.com/document/d/1NfaeHWdZ7BcnaGFfh09X63L4LL7VG_8RNCrLyNdZ8wk/edit#
Original issue: http://code.google.com/p/information-artifact-ontology/issues/detail?id=182