Ask Your Question
1

Bloom error :Not a valid object name

asked 2013-02-12 18:36:26 -0500

Moirai gravatar image

I'm trying bloom of my package.
git-bloom-release failed with "fatal: Not a valid object name".
What am I doing wrong?

my git-bloom-config:

Current bloom configuration:

[bloom]
upstream = https://github.com/Moirai/opt_camera-release.git
upstreamtype = git
upstreambranch = src/opt_camera


git-bloom-release rosdebian groovy:

###
### Running 'git bloom-import-upstream --replace'... 
###
 [git-bloom-import-upstream]: Searching in upstream development branch for the name and version
 [git-bloom-import-upstream]:   Upstream url:        https://github.com/Moirai/opt_camera-release.git
 [git-bloom-import-upstream]:   Upstream type: git
 [git-bloom-import-upstream]:   Upstream branch: src/opt_camera
 [git-bloom-import-upstream]: Checking for package.xml(s)
 [git-bloom-import-upstream]: package.xml(s) found
 [git-bloom-import-upstream]: Found upstream with version: 0.0.1
 [git-bloom-import-upstream]: Upstream contains package: opt_camera
 [git-bloom-import-upstream]: Exporting version 0.0.1
WARNING [vcstools] Command failed: 'git archive -o /tmp/bloom_J1Z4Au/upstream-0.0.1.tar 0.0.1'
 run at: '/tmp/bloom_J1Z4Au/upstream_repo'
 errcode: 128:
fatal: Not a valid object name
[/vcstools]
Traceback (most recent call last):
  File "/usr/bin/git-bloom-release", line 9, in <module>
    load_entry_point('bloom==0.2.16', 'console_scripts', 'git-bloom-release')()
  File "/usr/lib/pymodules/python2.7/bloom/commands/release.py", line 127, in main
    ret = iu_main(iu_args)
  File "/usr/lib/pymodules/python2.7/bloom/commands/import_upstream.py", line 599, in main
    retcode = import_upstream(cwd, tmp_dir, args)
  File "/usr/lib/pymodules/python2.7/bloom/logging.py", line 122, in decorated
    return f(*args, **kwds)
  File "/usr/lib/pymodules/python2.7/bloom/commands/import_upstream.py", line 497, in import_upstream
    import_orig(tarball_path, 'upstream', upstream_repo.get_url(), version)
  File "/usr/lib/pymodules/python2.7/bloom/commands/import_upstream.py", line 289, in import_orig
    targz = tarfile.open(tarball_path, 'r:gz')
  File "/usr/lib/python2.7/tarfile.py", line 1678, in open
    return func(name, filemode, fileobj, **kwargs)
  File "/usr/lib/python2.7/tarfile.py", line 1722, in gzopen
    fileobj = bltn_open(name, mode + "b")
    IOError: [Errno 2] No such file or directory: '/tmp/bloom_J1Z4Au/upstream-0.0.1.tar.gz'


edit retag flag offensive close merge delete

Comments

This bloom error is caused by tag in my repository. I added a correct tag as below ; git tag 0.0.1
git push --tags

Moirai gravatar imageMoirai ( 2013-02-14 13:40:16 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted
2

answered 2013-02-13 19:28:21 -0500

Kei Okada gravatar image

Hi

I'm not confident with this answer since it is not documented, but it seems your target repository (https://github.com/Moirai/opt_camera-release.git) needs "tag" named 0.0.1.

git clone https://github.com/Moirai/opt_camera-release.git
cd opt_camera-release
git tag 0.0.1
git push --tags

if this works, we can put this information as an enhancement at https://github.com/ros-infrastructure/bloom/issues.

Also, bloom assumes you have https://github.com/Moirai/opt_camera repository that only contains source directory (src/opt_camera in your case), and bloom tool will create opt_camera-release repository for you.

Best

edit flag offensive delete link more

Comments

Thanks for your advice. This bloom error is caused by tag in my repository. The git-bloom-release succeeded. Thank you!

Moirai gravatar imageMoirai ( 2013-02-14 13:37:09 -0500 )edit
1

answered 2013-02-13 20:18:02 -0500

WilliamWoodall gravatar image

This particular error you are getting is due the fact that there is no tag which matches your version in your upstream repository.

More fundamentally, it looks like you are trying to use your upstream repository (the place where you keep your source code and do development) as your release repository. This is not generally the case, usually you have you source code for a package (say foo) at a repository like https://github.com/organization/foo.git and then you have a separate repository called the release repository where you use bloom. Normally this repository is named something like foo-release.

The appropriate work flow for bloom is that in the release repository you run git-bloom-config <URL of the upstream repo> git and then git-bloom-release rosdebian groovy. This will get the latest version of your upstream (by way of a tag matching your version, e.g. 0.0.1) and import it into the release repository. Then it will generate the debian files required for the build farm to create binary debs of your package.

edit flag offensive delete link more

Comments

Thanks for your detailed advice. I finished bloom of my catkin package. Thank you !!

Moirai gravatar imageMoirai ( 2013-02-14 13:37:51 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2013-02-12 18:36:26 -0500

Seen: 1,017 times

Last updated: Feb 13 '13