Giter VIP home page Giter VIP logo

gcit2ghi's Introduction

gcit2ghi.rb
-----------

This is a simple script to convert from Google Code Issue Tracker to
GitHub Issues.

Usage
-----

ruby gcit2ghi.rb project user repo password

project - Google Code project
user - GitHub user name
repo - GitHub repository name
password - GitHub user password

If you have more than 500 issues or more than 500 comments for an
issue, modify the MAX_RESULTS constant in gcit2ghi.rb.

Requirements
------------

1) ruby - Programming Language
2) nokogiri - For parsing the Google Code XML files
3) json - For serializing the GitHub API calls
4) rest-client - For submitting the GitHub API calls

How It Works
------------

1) Downloads the Issue Tracker feed from Google Code (caching it
   locally in a created xml subdirectory).  Parses out all issues.

2) For each issue, downloads the Issue Comments feed from Google
   Code (caching it locally) and parses out all comments for the
   issue.

3) Does some preprocessing of the parsed out entries to add to
   the body of issues and comments so that the GitHub issues will
   be able to tell the which Google Code user opened the issue,
   the creation and closed date of the issue, and the Google Code
   user and posting date for each comment on the issue.

4) Uploads each issue to GitHub, potentially marks the issue as
   closed if it was closed on Google Code, and uploads each comment
   related to the issue.

Caveats
-------

There is very little error handling done.  There are no descriptive
comments in the source code.

Files uploaded to Google Code are not copied.

Labels and milestones are not copied, only the title and body of
issues and the body of comments.  The GitHub assignee is set to the
user you provided.

If you have a problem with the script after a partial import, you can
open the script and uncomment out the lines that delete existing
issues.  You shouldn't do this if you want to keep any existing
issues, though.

This was used to convert the ruby-sequel Google Code issues to
jeremyevans/sequel on GitHub.  I don't plan on using it again or
improving it, so if you want to make improvements, please fork.

License
-------

This code is licensed under the MIT license.  See the MIT-LICENSE
file for details.

Author
------

Jeremy Evans <[email protected]>

gcit2ghi's People

Contributors

dnbrv avatar jeremyevans avatar

Watchers

Anton Zolotov avatar James Cloos avatar

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.