萍漂

漂如浮萍,一種生活方式,一種宿命 (筆名緒蜚/萍漂/傑夫。本博客所有博文除另有說明外均為原創。如轉貼請先征得作者同意並注明出處)
正文

Google Code叫停:開源項目怎麽辦?

(2015-03-25 12:58:02) 下一個
 
最近,穀歌Code項目叫停,如果你有開源項目放在它們的服務器上怎麽辦?

穀歌提供一個從Google Code到GitHub的代碼轉移的工具,傳到GitHub一看,一切似乎安然無恙,可是再仔細一看,我的email地址一絲不掛地躺在每個文件旁,被GitHub當作用戶名/作者顯示出來。

這怎麽能行!那些群發垃圾郵件的軟件像蒼蠅一樣專找有縫的蛋,我可不想讓我的email被垃圾郵件充斥。

於是急忙把github的東東運行到本機上,用以下腳本“篡改”穀歌轉過去的文件,把用戶名改成我在GitHub的用戶名,而不是我在Google Code用戶的電郵號碼。
 
如果你的電腦需要使用代理服務器,先用以下命令設置代理服務器環境:
 
git config --global http.proxy http://MYPROXY.com:PORT
 
把代碼從GitHub克隆到本機:
 
git clone --bare https://github.com/user/repo.git cd repo.git
 
運行下列腳本“篡改”GitHub用戶名(是我原來Google Code的電子郵件)[1]:
 
  • OLD_EMAIL
  • CORRECT_NAME
  • CORRECT_EMAIL

    12345678910111213141516171819
    #!/bin/sh
     
    git filter-branch --env-filter '
    OLD_EMAIL="your-old-email@example.com"
    CORRECT_NAME="Your Correct Name"
    CORRECT_EMAIL="your-correct-email@example.com"
    if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
    then
    export GIT_COMMITTER_NAME="$CORRECT_NAME"
    export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
    fi
    if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
    then
    export GIT_AUTHOR_NAME="$CORRECT_NAME"
    export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
    fi
    ' --tag-name-filter cat -- --branches --tags
 
 
我花了兩天才搞清楚為什麽用原來的email地址作為OLD_EMAIL就沒辦法“篡改”GitHub用戶名。
 
原來,需要特別注意的是,這裏的舊email地址不是你原來的email地址,而是加了一些亂碼的這樣一堆東西!
 
我是怎麽發現這個問題的呢。用GIT的以下命令,終於把Google轉過去的真正email地址給露出來了:
  1. git log
你會發現:
 
commit 0dbe5f8531a89f62742d2b75716b73b5e791bd46
Author: your-old-email@example.com <your-old-email@example.com@2336f6a0-57fc-8fba-0cea-765dc726c76a>
Date:   Sun Nov 11 17:55:17 2012 +0000

Your Comment
 
 
你把這個怪物作為OLD_EMAIL放到上麵的腳本,“篡改”才能成功:
 
your-old-email@example.com@2336f6a0-57fc-8fba-0cea-765dc726c76a

 
把“篡改”後的代碼傳到GITHUB,大功告成!
 
  • git push --force --tags origin 'refs/heads/*'
    最後,是清潔工作:
  • cd ..
    rm -rf repo.git

     


__________________________________________________________________________________
 
注釋:

[1] https://help.github.com/articles/changing-author-info/


[ 打印 ]
閱讀 ()評論 (0)
評論
目前還沒有任何評論
登錄後才可評論.