1

我正在尝试将GitS3设置为将 git 与 s3 一起使用。我只是不确定如何处理这个错误:

~/code/jumpin/pipe: python $GITS3/src/gits3/gits3.py push s31 refs/head/master
Local Refs:  refs/head/master
HEAD 8d1ccd43c5d7245c8376d8245f460ea554de5cab
refs/remotes/origin/HEAD 8d1ccd43c5d7245c8376d8245f460ea554de5cab
refs/remotes/origin/master 8d1ccd43c5d7245c8376d8245f460ea554de5cab
refs/heads/master 8d1ccd43c5d7245c8376d8245f460ea554de5cab
Traceback (most recent call last):
  File "/Users/frout/code/gits3/src/gits3/gits3.py", line 124, in <module>
    main(sys.argv[1:])
  File "/Users/frout/code/gits3/src/gits3/gits3.py", line 93, in main
    updated_objects = client.get_updates(refs, tracking_ref)
  File "/Users/frout/code/gits3/src/gits3/local_repo.py", line 67, in get_updates
    local = refs[local_ref]
KeyError: 'refs/head/master'

任何人都知道我需要修复什么?

我也会推荐其他好的工具来顺利完成这项工作。

谢谢

4

1 回答 1

1

考虑到这段代码(它可以引发 a KeyError),这似乎与不正确的 ref 有关。

        # .git/HEAD
        if refs.startswith('refs/heads'):
            head_str = 'ref: ' + refs + '\n'
        else:
            head_str = 'refs: refs/heads/' + refs + '\n'

尝试:

 python $GITS3/src/gits3/gits3.py push s31 refs/heads/master
                                                    ^
                                                    |
                                                    --- heads, not head

Git Internals: Git References中,refs/heads确实存在,而不是refs/head.

于 2013-02-01T18:57:48.890 回答