March 19, 2009

On git, gitosis, and python issues on Windows Vista

Some browsing, debugging, and IRC chats later, I have managed to set up a git repository on Windows Vista using cygwin, with a few unexpected hiccups. I will try to repeat the process on a virgin setup to come up with a more authoritative flowchart of how to go about things. For now, I'll just list down the issues I faced.

I used gitosis to host git repositories over ssh. It's pretty elegant, really. Administering gitosis is limited to managing a configuration file and user keys, which itself themselves are in a gitosis hosted git repository. Neat.

These two articles

cover everything you need to do to host git repos. The first link should be straightforward. However, since the second link is for linux users, there are a few deviations for windows. Try to follow the link, if you face difficulties, refer to the tips below.

Installing gitosis

Log in to an administrator account. Do a

cd ~/src
git clone git://eagain.net/gitosis.git
cd gitosis
python setup.py install
If the last command fails thusly
Traceback (most recent call last):
File "setup.py", line 2, in ?
from setuptools import setup, find_packages
ImportError: No module named setuptools
you may need setuptools from here. Scroll to the bottom, download an egg, and do
sh setuptools-0.6c9-py2.5.egg
Repeat the last step. After you have installed gitosis successfully, run the following command
chmod +r /usr/lib/python2.5/ -R
This was the first wtf. The downloaded egg we just installed gets installed with administrator ACLs, the above command ensures that everyone has access to the downloaded eggs.

Setting up gitosis

You need to add the git repository user `git' the windows way (the adduser command in the second link will not work). Once you've done that, make sure you've run the following commands

# in the new 'git' user's account
ssh-user-config

# from the admin account
# (domain users need to add '-d domain_name' to the mk* commands)
mkpasswd.exe -l > /etc/passwd
mkgroup.exe -l > /etc/group
Also, the command
sudo -H -u git gitosis-init < /tmp/id_rsa.pub
will need to be run as
# git user's account
gitosis-init < /tmp/id_rsa.pub
Of course, this assumes that you've copied your key to the /tmp folder.

The rest of the write-up should be fine, except for one thing. When you try to `git commit' you repo configuration, you may see an error like :
Counting objects: 5, done.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 307 bytes, done.
Total 3 (delta 1), reused 0 (delta 0)
To git@localhost:gitosis-admin.git
989f371..0616ebb master -> master
: invalid optione: line 2: set: -
set: usage: set [--abefhkmnptuvxBCHP] [-o option] [arg ...]
Second wtf. Damn those pesky windows newlines. Do a
# `git' user's account
dos2unix ~/repositories/gitosis-admin.git/hooks/post-update
and you should be good to go.

This should do it. If you still run into problems, let me know. If you find solutions to them, post them up so that I may link to you. And when you do have a git repository up, give me the url to fork from :)

Edit: fixed grammar

2 comments:

Unknown said...

custom suit

shop mens ties

Silk Neckties

necktiebow.com

reachingkayo cloth factory

Cheap Neckties

how to tie ties
ties

black neck ties

cheap neck ties

cheap ties

dress ties

men neck ties

mens neck ties

mens ties

neck tie

tie neck ties

neckties

mens ties

mens neck ties

men neck ties

cheap ties

ties

black neck ties

cheap neck ties

cheap ties

dress ties

men neck ties

mens neck ties

mens ties

neck tie

tie neck ties

neckties

mens ties

mens neck ties

men neck ties

cheap ties

Unknown said...

Để những bữa cơm tổ nha dep 2015 ấm lôi cuốn hơn, núi kéo được những người thân thiet ke noi that chung cu trong nhà sớm trở về nhà sau mỗi ngày, thì một khu vực ăn uống quyền quý và đẹp thị giác thiet ke noi that can ho sẽ tăng thêm tinh thần thiet ke noi that van phong vui vẻ, hào hứng cho các bữa cơm tổ ấm. Việc sắp xếp hiệu ứng thiet ke noi that phong khach ánh sáng cũng như trang trí màu sơn thiết kế nội thất shop còn hỗ trợ kích thích vị giác đánh thức thị giác của con thiet ke noi that showroom người. bởi thế ko phải ngẫu nhiên mà vật dụng trong nhà thiet ke noi that biet thu phòng ăn thường được sắp đặt nằm gần phòng tiếp khách hay các nơi thiet ke noi that nha ong có nhiều người qua lại. giả dụ không có đủ diện tích để có một không gian ăn uống khác biệt nhiều hộ gia đình sắm giải pháp dùng không gian thiet ke noi that phong ngu ăn uống với khu bếp sát bên. Điều này không những không gây bất tiện cho bà nội trợ mà ngược lại còn tạo ra tính liên kết thiet ke noi that phong bep chặt chẽ, tiết kiệm được quãng đường đi lại từ gian bếp thiet ke noi that nha hang ra khu vực ăn uống và ngược lại trong khi nấu nướng. toàn bộ từng khía cạnh nhỏ nha dep trong khu vực ăn uống nên được tính toán kĩ lưỡng để tạo nên một chỉnh thể đồng đều từ thiet ke van phong gam màu, đường nét, phong cách cho đến hình thức, tạo ra sự chan hòa thống nhất thiet ke showroom trong không gian ăn uống kể riêng và cho gần như nhà chung cư thiet ke phong ngu nói chung. Bộ bàn ăn được làm hoàn toàn bằng gỗ thiet ke phong bep đem đến sự quyền quý hiếm có cho cả một khu vực thiet ke shop rộng lớn. các đồ vật như ly, chén, dĩa.. có vị trí thiet ke can ho quý phái trong tủ kính vừa bảo vệ cho các thiết bị trang tri noi that này khỏi bụi bẩn vừa là đồ vật trang trí bắt thị giác tu van thiet ke noi that cho ngôi nhà. thế mạnh của nội thất không gian ăn uống này là noi that nha hang dùng ánh sáng và màu sắc hiệu oz quả, tôn vinh được nét đẹp nhung ngoi nha dep của đồ trang trí trong nhà.