среда, 16 октября 2013 г.

BitBucket и Command Line magic

У меня есть типовая довольно частая задача,
закинуть существующий git проект в приватный репозиторий.

У bitbucket к счастью есть rest api, так что все легко и просто.

Shell script bitbucket_cr:

#!/bin/sh
if [ -z "$bbpass" ]; then echo "Need to set bbpass"; exit 1; fi
curl -k -X POST --user korjavin:"$bbpass" "https://api.bitbucket.org/1.0/repositories" -d "name=$1&is_private=true"
git remote add origin ssh://git@bitbucket.org/korjavin/$1.git
git push
Мы конечно же не храним пароль от битбакета в открытую, поэтому передаем его через shell env

Но, многие забывают про history, вы же не хотите что б команда где вы эту переменную устанавливаете попала в history файл в открытом виде?

Поэтому, я в своем zsh на стероидах использую опцию 
  setopt HIST_IGNORE_SPACE

которая не помещает команды начатые с пробела в историю.

Итак, все готово.

Использование:

$ export bbpass=mysuperpass
$bitbucket_cr test1