Problem with repo upload .

1,128 views
Skip to first unread message

SeongUk Baek

unread,
Sep 29, 2013, 9:02:39 PM9/29/13
to repo-d...@googlegroups.com
I've got strange error when I run 'repo upload .'

seonguk.baek@test:~/project01/my_branch/android/kernel$ repo --trace upload .
: unpickle /home/seonguk.baek/project01/my_branch/.repo/manifests.git/config
: unpickle /home/seonguk.baek/.gitconfig
: load refs /home/seonguk.baek/project01/my_branch/.repo/projects/android/kernel.git
: unpickle /home/seonguk.baek/project01/my_branch/.repo/projects/android/kernel.git/config
: export GIT_DIR=/home/seonguk.baek/project01/my_branch/.repo/projects/android/kernel.git
: git rev-list --abbrev=8 --abbrev-commit --pretty=oneline --reverse --date-order ^refs/remotes/test/my_branch refs/heads/my_branch -- 1>| 2>|
Traceback (most recent call last):
 File "/home/seonguk.baek/project01/my_branch/.repo/repo/main.py", line 414, in <module>
    _Main(sys.argv[1:])
  File "/home/seonguk.baek/project01/my_branch/.repo/repo/main.py", line 390, in _Main
    result = repo._Run(argv) or 0
  File "/home/seonguk.baek/project01/my_branch/.repo/repo/main.py", line 138, in _Run
    result = cmd.Execute(copts, cargs)
  File "/home/seonguk.baek/project01/my_branch/.repo/repo/subcmds/upload.py", line 382, in Execute
    avail = project.GetUploadableBranches(branch)
  File "/home/seonguk.baek/project01/my_branch/.repo/repo/project.py", line 882, in GetUploadableBranches
    rb = self.GetUploadableBranch(branch)
  File "/home/seonguk.baek/project01/my_branch/.repo/repo/project.py", line 894, in GetUploadableBranch
    if rb.commits:
  File "/home/seonguk.baek/project01/my_branch/.repo/repo/project.py", line 133, in commits
    '--')
  File "/home/seonguk.baek/project01/my_branch/.repo/repo/project.py", line 2155, in rev_list
    p.stderr))
error.GitError: kernel/msm rev-list ('--abbrev=8', '--abbrev-commit', '--pretty=oneline', '--reverse', '--date-order', '^refs/remotes/test/my_branch', u'refs/heads/my_branch', '--'): fatal: bad revision '^refs/remotes/test/my_branch

I ran repo init and repo sync with -c option.
After repo sync -c, above error doesn't occurs.

Is it because of the -c option?

Thank you.

Conley Owens

unread,
Oct 1, 2013, 1:20:06 PM10/1/13
to SeongUk Baek, repo-discuss
Hmm...I'm not quite sure what's going on here. Let me know if you
come up with a way of reproducing it.
> --
> --
> To unsubscribe, email repo-discuss...@googlegroups.com
> More info at http://groups.google.com/group/repo-discuss?hl=en
>
> ---
> You received this message because you are subscribed to the Google Groups
> "Repo and Gerrit Discussion" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to repo-discuss...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.

SeongUk Baek

unread,
Oct 1, 2013, 7:49:07 PM10/1/13
to repo-d...@googlegroups.com, SeongUk Baek
Thank you for reply.

We are using repo script. 

For example like below.

1. repo init -u ssh://localhost:29418/platform/manifest.git -b my_branch
2. repo sync -qcj4
3. cd android/build/.git
4. ls -al
***
***
packed-refs -> ../../../.repo/projects/android/build.git/packed-refs <= This linked folder is broken.
***
***
5. cd ../../../.repo/projects/android/build.git/ and ls -al
There is not exist packed-refs file.
Sometimes this occurs.

In this case, I commit some source and run repo upload, I got error like above.
Message has been deleted

SeongUk Baek

unread,
Sep 23, 2014, 9:41:36 PM9/23/14
to repo-d...@googlegroups.com, baeks...@gmail.com
Dear Conley Owens.

I compared "repo --trace sync" between case1 and case2 like below.

case1)
$ repo init ssh://bla~bla~ --reference=/mirror
$ repo --trace sync forte

Fetching project forte

: export GIT_DIR=/home/seonguk.baek/test01/.repo/project-objects/forte.git
: git init 1>| 2>|
: git config --file /home/seonguk.baek/test01/.repo/projects/forte.git/config --null --list 1>| 2>|
: git config --file /home/seonguk.baek/test01/.repo/projects/forte.git/config --unset-all core.bare 1>| 2>|
: git config --file /home/seonguk.baek/test01/.repo/projects/forte.git/config --replace-all remote.origin.url ssh://mydomain/forte 1>| 2>|
: git config --file /home/seonguk.baek/test01/.repo/projects/forte.git/config --replace-all remote.origin.review mydomain/ 1>| 2>|
: git config --file /home/seonguk.baek/test01/.repo/projects/forte.git/config --replace-all remote.origin.projectname forte 1>| 2>|
: git config --file /home/seonguk.baek/test01/.repo/projects/forte.git/config --replace-all remote.origin.fetch +refs/heads/*:refs/remotes/origin/* 1>| 2>|
: load refs /home/seonguk.baek/test01/.repo/projects/forte.git
: load refs /mirror/forte.git

: export GIT_DIR=/home/seonguk.baek/test01/.repo/projects/forte.git
: git fetch origin --tags +refs/heads/*:refs/remotes/origin/*

: scan refs /home/seonguk.baek/test01/.repo/projects/forte.git
: git pack-refs --all --prune 1>| 2>|
: scan refs /home/seonguk.baek/test01/.repo/projects/forte.git
: git symbolic-ref -m manifest set to test_branch refs/remotes/m/test_branch refs/remotes/origin/test_branch 1>| 2>|
: git --version 1>|
: git gc --auto 1>| 2>|
: load refs /home/seonguk.baek/test01/.repo/repo/.git
: git config --file /home/seonguk.baek/test01/.repo/projects/forte.git/config --null --list 1>| 2>|
: git rev-parse --verify refs/remotes/origin/test_branch^0 1>| 2>|

: cd /home/seonguk.baek/test01/forte
: git read-tree --reset -u -v HEAD
: load refs /home/seonguk.baek/test01/.repo/projects/forte.git

case2)
repo init ssh://bla~bla~ -m old.xml --reference=/mirror


Fetching project forte

: export GIT_DIR=/home/seonguk.baek/test02/.repo/project-objects/forte.git
: git init 1>| 2>|
: git config --file /home/seonguk.baek/test02/.repo/projects/forte.git/config --null --list 1>| 2>|
: git config --file /home/seonguk.baek/test02/.repo/projects/forte.git/config --unset-all core.bare 1>| 2>|
: git config --file /home/seonguk.baek/test02/.repo/projects/forte.git/config --replace-all remote.origin.url ssh://mydomain/forte 1>| 2>|
: git config --file /home/seonguk.baek/test02/.repo/projects/forte.git/config --replace-all remote.origin.review mydomain 1>| 2>|
: git config --file /home/seonguk.baek/test02/.repo/projects/forte.git/config --replace-all remote.origin.projectname forte 1>| 2>|
: git config --file /home/seonguk.baek/test02/.repo/projects/forte.git/config --replace-all remote.origin.fetch +refs/heads/*:refs/remotes/origin/* 1>| 2>|

: export GIT_DIR=/home/seonguk.baek/test02/.repo/projects/forte.git
: git rev-parse --verify abdd909431187934a17978cf384b10e8f9f733ab^0 1>| 2>|
: load refs /home/seonguk.baek/test02/.repo/projects/forte.git
: scan refs /home/seonguk.baek/test02/.repo/projects/forte.git
: git update-ref -m manifest set to abdd909431187934a17978cf384b10e8f9f733ab --no-deref refs/remotes/m/DQ_test abdd909431187934a17978cf384b10e8f9f733ab^0 1>| 2>|
: git --version 1>|
: git gc --auto 1>| 2>|
: load refs /home/seonguk.baek/test02/.repo/repo/.git

: cd /home/seonguk.baek/test02/forte
: git read-tree --reset -u -v HEAD
: load refs /home/seonguk.baek/test02/.repo/projects/forte.git


In Case 2 executes "git rev-parse bla~" instead of "git fetch bla~".
I think, so .git/packed_refs was broken the link and can run repo upload because of error (bad revision '^refs/bla~~).


Do you have any idea?

백지웅

unread,
Sep 23, 2014, 10:25:47 PM9/23/14
to repo-d...@googlegroups.com, baeks...@gmail.com
I have the same issue like seounguk

When I run repo sync after repo init --reference and -m, repo upload doesn't work.

I guess the reason is refs/remotes/origin/branch doesn't exist in git repository.

when repo sync after repo init --reference and -m,
repo doesn't run git fetch origin --tags +refs/heads/*:refs/remotes/origin/*.

so I run git fetch origin --tags +refs/heads/*:refs/remotes/origin/* manually in .repo/projects/path, repo upload works fine.

If I run repo sync with jyust repo init, refs/remotes/origin/branch and refs/remotes/m/branch are exist.

Please check this issue.



2014년 9월 24일 수요일 오전 10시 41분 36초 UTC+9, SeongUk Baek 님의 말:
Reply all
Reply to author
Forward
0 new messages