<p>pip.vcs.git์€ ์•”์‹œ์  $CWD ๋Œ€์‹  --work-tree๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.</p>

์— ๋งŒ๋“  2013๋…„ 08์›” 12์ผ  ยท  4์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: pypa/pip

Git ๋ฐฑ์—”๋“œ( pip.vcs.git )๋Š” Git์ด $CWD ๋ฅผ ์ €์žฅ์†Œ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” $GIT_DIR / $GIT_WORK_TREE ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฎ์–ด์“ธ ์ˆ˜ ์žˆ์œผ๋ฉฐ location ์—์„œ ์‹๋ณ„๋œ ์ €์žฅ์†Œ ๋Œ€์‹  ํ•ญ์ƒ ๋™์ผํ•œ ์ €์žฅ์†Œ๊ฐ€ ์ฟผ๋ฆฌ๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋Œ€์‹  $CWD , pip.vcs.git ๋Š” ํ•ญ์ƒ --work-tree ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

http://git-scm.com/blog/2010/04/11/environment.html

๋˜๋Š” git ๋ฅผ ํ˜ธ์ถœํ•˜๊ธฐ ์ „์— ํ•ด๋‹น ๋ณ€์ˆ˜๋ฅผ ์„ค์ • ํ•ด์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

vcs auto-locked bug

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ด ๋ฌธ์ œ, ๋™์ผํ•œ ๋ฌธ์ œ๋ฅผ ์—ฌ๊ธฐ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์›์น˜ ์•Š๋Š” ๋™์ž‘์„ ์œ ๋ฐœํ•˜๋Š” ์‹ค์ œ ์˜ˆ๋Š” git ์ €์žฅ์†Œ์˜ ์—…๋ฐ์ดํŠธ ํ›„ ํ›„ํฌ ๋‚ด๋ถ€์—์„œ pip๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
ํ›„ํฌ ๋‚ด๋ถ€์—์„œ GIT_DIR์€ '.'๋กœ ์„ค์ •๋˜์–ด pip๊ฐ€ ๋ณต์ œํ•œ ์ €์žฅ์†Œ ๋Œ€์‹  ๋ฐ”๋กœ ๊ทธ ์ €์žฅ์†Œ์—์„œ pip๊ฐ€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

--work-tree๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์„ค์ •ํ•˜๋Š” ๊ฒƒ ์™ธ์—๋„ ๋‹ค๋ฅธ ์†”๋ฃจ์…˜์€ GIT_DIR(๋ฐ GIT_WORK_TREE)์„ ์„ค์ • ํ•ด์ œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ชจ๋“  4 ๋Œ“๊ธ€

pip๊ฐ€ ์ •ํ™•ํžˆ ์–ด๋””์—์„œ ์‹คํŒจํ•˜๋Š”์ง€ ๋ณด์—ฌ์ฃผ๋Š” ํ…Œ์ŠคํŠธ ์‚ฌ๋ก€๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์„ค์ •:

$ mkvirtualenv pip-test
$ pip install -e [email protected]:jkbr/httpie.git#egg=httpie

๋ถˆํ•ฉ๊ฒฉ:

$ GIT_DIR=/foo pip freeze
Error when trying to get requirement for VCS system Command /usr/local/bin/git config remote.origin.url failed with error code 1 in /Users/jakub/.virtualenvs/pip-test/src/httpie, falling back to uneditable format
Could not determine repository location of ~/.virtualenvs/pip-test/src/httpie
Pygments==1.6
## !! Could not determine repository location
httpie==0.6.0
requests==1.2.3
wsgiref==0.1.2

GIT_DIR ๋Š” ์˜ˆ๋ฅผ ๋“ค์–ด Git ํ›„ํฌ๋กœ ํ˜ธ์ถœ๋˜๋Š” ์Šคํฌ๋ฆฝํŠธ์—์„œ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ, ๋™์ผํ•œ ๋ฌธ์ œ๋ฅผ ์—ฌ๊ธฐ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์›์น˜ ์•Š๋Š” ๋™์ž‘์„ ์œ ๋ฐœํ•˜๋Š” ์‹ค์ œ ์˜ˆ๋Š” git ์ €์žฅ์†Œ์˜ ์—…๋ฐ์ดํŠธ ํ›„ ํ›„ํฌ ๋‚ด๋ถ€์—์„œ pip๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
ํ›„ํฌ ๋‚ด๋ถ€์—์„œ GIT_DIR์€ '.'๋กœ ์„ค์ •๋˜์–ด pip๊ฐ€ ๋ณต์ œํ•œ ์ €์žฅ์†Œ ๋Œ€์‹  ๋ฐ”๋กœ ๊ทธ ์ €์žฅ์†Œ์—์„œ pip๊ฐ€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

--work-tree๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์„ค์ •ํ•˜๋Š” ๊ฒƒ ์™ธ์—๋„ ๋‹ค๋ฅธ ์†”๋ฃจ์…˜์€ GIT_DIR(๋ฐ GIT_WORK_TREE)์„ ์„ค์ • ํ•ด์ œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด PR #4666์„ ๊ฒŒ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. (Travis CI ์•„์ด์ฝ˜์ด ์‹คํŒจ๋ฅผ ๋ณด์—ฌ๋„ ํ…Œ์ŠคํŠธ๋Š” ์ •์ƒ์ž…๋‹ˆ๋‹ค. ์ตœ๊ทผ Travis CI ํ…Œ์ŠคํŠธ ์‹คํ–‰์— ํ”Œ๋ž™์Šค๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.)

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰