ros-infrastructure / superflore

An extended platform release manager for Robot Operating System
Apache License 2.0
51 stars 33 forks source link

Allow configure without --global on git? #153

Open awesomebytes opened 6 years ago

awesomebytes commented 6 years ago

Today I tried to re-generate an ebuild and I'm using a machine that's shared so I don't have set global email and username. Maybe there is a way to allow to do this just locally?

--git-email bla@bla.com --git-name "My name" flags maybe?

sam $ superflore-gen-ebuilds --ros-distro kinetic --only rosbridge_library --output-repository-path /home/user/sam/ros-overlay
>>>> Creating new branch gentoo-bot-XUuscxloxw...
>>>> 
>>>> Regenerating package 'rosbridge_library'...
>>>> failed to parse website for package rosbridge_library
!!!! Failed to resolve required dependencies for package rosbridge_library!
!!!!  unresolved: "python-bson"
>>>> Pulling docker image 'allenh1/ros_gentoo_base:latest'...
>>>> Running docker image...
>>>> Generating manifests...
>>>> Running container with command string 'bash -c 'cd /tmp/ros-overlay/ros-kinetic/rosbridge_library && repoman manifest''...
>>>> Docker container exited.
>>>> Adding changes...
>>>> Committing to branch gentoo-bot-XUuscxloxw...
Traceback (most recent call last):
  File "/usr/local/bin/superflore-gen-ebuilds", line 9, in <module>
    load_entry_point('superflore==0.2.1', 'console_scripts', 'superflore-gen-ebuilds')()
  File "/usr/local/lib/python3.5/dist-packages/superflore/generators/ebuild/run.py", line 175, in main
    overlay.commit_changes(args.ros_distro)
  File "/usr/local/lib/python3.5/dist-packages/superflore/generators/ebuild/overlay_instance.py", line 44, in commit_changes
    self.repo.git.commit(m='{0}'.format(commit_msg))
  File "/usr/local/lib/python3.5/dist-packages/git/cmd.py", line 550, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/git/cmd.py", line 1009, in _call_process
    return self.execute(call, **exec_kwargs)
  File "/usr/local/lib/python3.5/dist-packages/git/cmd.py", line 820, in execute
    raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('git') failed due to: exit code(128)
  cmdline: git commit -m regenerate ros-kinetic, Sat Apr 28 21:18:54 2018
  stderr: '
*** 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: unable to auto-detect email address (got 'user@machine.(none)')'

I know it's a bit of pain, but thank you for considering it.

allenh1 commented 6 years ago

That sounds quite reasonable to me. Ultimately, I'd like superflore to have config files, as the options are starting to get extensive (and nobody is going to enjoy typing them all out every time).

For now, though, I can probably introduce that.