Calvin's Tech Space

          成于堅忍,毀于浮躁

             :: 首頁 :: 聯系 :: 聚合  :: 管理
          今天用repo獲取android源碼:
          ../bin/repo init -u git://android.git.kernel.org/platform/manifest.git
          出現問題:
          問題一:
          Traceback (most recent call last):
          File "./repo", line 590, in <module>
              main(sys.argv[1:])
          File "./repo", line 557, in main
              _Init(args)
          File "./repo", line 176, in _Init
              _CheckGitVersion()
          File "./repo", line 205, in _CheckGitVersion
              proc = subprocess.Popen(cmd, stdout=subprocess.PIPE)
          File "/usr/lib/python2.5/subprocess.py", line 594, in __init__
              errread, errwrite)
          File "/usr/lib/python2.5/subprocess.py", line 1147, in _execute_child
              raise child_exception
          OSError: [Errno 2] No such file or directory

          原因:沒有裝git,faint
          解決:
          sudo apt-get install git
          sudo apt-get install git-core

          問題二:
          裝好了git,再次運行:
          Traceback (most recent call last):
            File "/home/calvin/Android/Android2.0/source/.repo/repo/main.py", line 235, in <module>
              _Main(sys.argv[1:])
            File "/home/calvin/Android/Android2.0/source/.repo/repo/main.py", line 217, in _Main
              repo._Run(argv)
            File "/home/calvin/Android/Android2.0/source/.repo/repo/main.py", line 123, in _Run
              cmd.Execute(copts, cargs)
            File "/home/calvin/Android/Android2.0/source/.repo/repo/subcmds/init.py", line 223, in Execute
              self._ConfigureUser()
            File "/home/calvin/Android/Android2.0/source/.repo/repo/subcmds/init.py", line 165, in _ConfigureUser
              name  = self._Prompt('Your Name', mp.UserName)
            File "/home/calvin/Android/Android2.0/source/.repo/repo/project.py", line 306, in UserName
              self._LoadUserIdentity()
            File "/home/calvin/Android/Android2.0/source/.repo/repo/project.py", line 319, in _LoadUserIdentity
              u = self.bare_git.var('GIT_COMMITTER_IDENT')
            File "/home/calvin/Android/Android2.0/source/.repo/repo/project.py", line 1324, in runner
              p.stderr))
          error.GitError: manifests var:
          *** Please tell me who you are.

          Run

            git config --global user.email "you@example.com"
            git config --global user.name "Your Name"

          to set your account's default identity.
          Omit --global to set the identity only in this repository.

          fatal: empty ident  <calvin@lihao-desktop.(none)> not allowed

          解決:
          看來的告知自己的身份才行。
          運行:
          [calvin@lihao-desktop ~/Android/Android2.0/source 18:44:28]$ git config --global user.email "lihao921@gmail.com"
          [calvin@lihao-desktop ~/Android/Android2.0/source 18:44:28]$ git config --global user.name "Cavin Lee"
          再運行repo:
          [calvin@lihao-desktop ~/Android/Android2.0/source 18:45:00]$ ../bin/repo init -u git://android.git.kernel.org/platform/manifest.git

          Your Name  [Cavin Lee]:
          Your Email [lihao921@gmail.com]:

          Your identity is: Cavin Lee <lihao921@gmail.com>
          is this correct [y/n]? y

          Testing colorized output (for 'repo diff', 'repo status'):
            black    red      green    yellow   blue     magenta   cyan     white
            bold     dim      ul       reverse
          Enable color display in this user account (y/n)? y

          repo initialized in /home/calvin/Android/Android2.0/source(出現這個提示說明成功了)

          接下來同步代碼:
          [calvin@lihao-desktop ~/Android/Android2.0/source 18:54:50]$ ../bin/repo sync

          問題三:
          同步代碼時不斷出現諸如 remote end hung up unexpectedly錯誤:
          Fetching projects:   1% (2/158)  
          Initializing project platform/bootable/bootloader/legacy ...
          fatal: The remote end hung up unexpectedly
          error: Cannot fetch platform/bootable/bootloader/legacy
          看樣子是server的問題。
          解決:
          參考:http://android.amberfog.com/?p=230
          http://code.google.com/p/android/issues/detail?id=4488

          sudo gedit  .repo/repo/subcmds/sync.py
          修改_Fetch函數為:
            def _Fetch(self, projects):
              fetched 
          = set()
              pm 
          = Progress('Fetching projects', len(projects))
              
          for project in projects:
                pm.update()
                
          while True:
                 
          if project.Sync_NetworkHalf():
                  fetched.add(project.gitdir)
                  
          break
                 
          else:
                  
          print >>sys.stderr, 'error: Cannot fetch %s' % project.name
              pm.end()
              
          return fetched
          注意代碼縮進問題,相應的代碼段縮進要完全一樣。


          posted on 2010-04-19 18:56 calvin 閱讀(17358) 評論(1)  編輯  收藏 所屬分類: Android

          Feedback

          # re: 獲取android源碼時repo的錯誤 2014-06-09 17:53 肖中中
          看著看著就發現Calvin 和lihao了 …… 哈哈  回復  更多評論
            

          主站蜘蛛池模板: 象山县| 天镇县| 奉新县| 阜新| 昌宁县| 蒲城县| 安达市| 延安市| 定西市| 金华市| 灵宝市| 台北市| 鄂尔多斯市| 镇远县| 晋宁县| 屏山县| 香格里拉县| 涞源县| 天水市| 广河县| 盐边县| 东莞市| 乾安县| 沙田区| 台江县| 泗洪县| 萨迦县| 定陶县| 永寿县| 岳西县| 黑水县| 阳原县| 繁昌县| 大足县| 闻喜县| 曲沃县| 图们市| 乳山市| 周口市| 南岸区| 湘阴县|