utros 15.11.2011 19:44 pedobook

Выполнить команду pull над репозиторием, находящимся в /path/to/repo
$ hg -R /path/to/repo pull
$ git --git-dir=/path/to/repo/.git --work-tree=/path/to/repo pull
Второе, кстати, крайне хреново работает. Реквестируются способы сделать хорошо.

1. DZhon 15.11.2011 20:08

о да, вербозный гит такой вербозный

2. lexszero 15.11.2011 23:21 nyapad

cd /path/to/repo; git pull; cd $OLDPWD

3. mva 16.11.2011 04:01 Psi+

мне, вот, чисто из любопытства интересно: а cd из шелла вырезали специально, да? :)

4. utroslexszero /2 16.11.2011 07:40

Я не хочу менять рабочую папку скрипта. Там хитрокод.

5. utrosmva /3 16.11.2011 07:41

Да, специально. Если делать cd, то придётся в ещё десятке мест проверку делать или принудительный переход.

6. gelraenutros /5 16.11.2011 11:27

you cannot into subshell or $OLDPWD ?

7. gelraenutros /4 16.11.2011 11:42

s/хитро/быдло/

8. DZhongelraen /6 16.11.2011 11:44

subshell очень хорошо, да. Фактически стековая модель:
push (current_env)
do_whatever_you_want
pop()

9. lexszeroDZhon /8 16.11.2011 12:03 nyapad

олсо, в баше есть явные pushd и popd, если уж так хочется.

10. emuutros /5 16.11.2011 12:19

...
( cd /path/to/repo; git pull; cd $OLDPWD )

11. emuemu /10 16.11.2011 12:19

не?

12. gelraenlexszero /9 16.11.2011 12:19

баш ненужен. скрипты надо писать на sh

13. gelraenemu /11 16.11.2011 12:20

в сабшелле cd $OLDPWD ненужно, cwd родительского процесса и так не изменится

14. utrosgelraen /6 16.11.2011 14:59 pedobook

Костыли же!
Оно искаропки не умеет что-ли по-человечески одной командой это делать?
И да, у меня нет полнофункционального шелла.
Я, конечно, могу дёрнуть sh -c 'cd /path/to/repo && git pull', но это совсем не Ъ

15. utrosgelraen /12 16.11.2011 15:00 pedobook

На sh приходится изобретать велосипеды для массивов.

16. DZhonutros /14 16.11.2011 15:35

А чем тебя пугает идея конструировать сущности в одну, о пользователь UNIX-(подобной?) системы ?

17. utrosDZhon /16 16.11.2011 16:24

Меня не пугает идея, меня напрягает то, что конкретная программа работает не так, как должна и приходится из-за этого городить костыли.

18. DZhonutros /17 16.11.2011 16:25 Azoth

Это субъективная грань.

19. mvautros /17 16.11.2011 16:25 Psi+

почему "не так, как должна"? она работает именно так, как она должна. Как её написали.
Другое дело, что "не так, как ты хочешь" :)

20. utrosmva /19 16.11.2011 18:53

man git
То, что я написал, должно заставлять гит работать так, как я хочу. Он же отказывается.
В общем, вместо того, чтобы городить костыли, я массово снёс гит, воткнул везде hg-git и щаслив до неприличия.

21. utrosDZhon /18 16.11.2011 18:54

В данном случае был перешагнут не только субъективный, но и объективный барьер.

22. emuutros /15 16.11.2011 22:05 sylph

массивы ненужны

23. emugelraen /13 16.11.2011 22:06

копипаст же

24. utrosemu /22 17.11.2011 10:53

Срать во временные файлы — не ок, поэтому массивы няшки и нужны.

25. emuutros /24 17.11.2011 10:54 sylph

нет, массивы не нужны, временные файлы на tmpfs для этого и придуманы

26. emuemu /25 17.11.2011 10:54 sylph

ну и еще для кучи вкусняшек

27. utrosemu /25 17.11.2011 11:52

1. Не всегда есть доступ к tmpfs
2. Если скрипт отвалится, файл останется → утечка памяти
3. Нехилая часть скриптов гоняется (по крайней мере у меня) от имени непревелигированного (скорее даже жестоко кастрированного) пользователя, так что кто-то другой может прочитать содержимое временного файла и ЗОХВАТИТЬ МИР!

28. emuutros /27 17.11.2011 11:57 sylph

sh -c "touch /tmp/file; ( ... ) rm -f /tmp/file" чтобы это развалилось, нужно очень постораться

29. emuutros /27 17.11.2011 11:58 sylph

3. umask 0077, не?

30. emuutros /27 17.11.2011 12:00 sylph

с тем же успехом, кто-нибудь из группы mem может прочитать содержимое /proc/<pid>/какая-тохуйняеще и прочитать содержимое памяти!

31. utrosemu /30 17.11.2011 13:51

У тебя есть кто-то в группе mem?

32. utrosemu /28 17.11.2011 13:52

У тебя /tmp смонтирована в tmpfs? О_О

33. gelraenutros /32 17.11.2011 18:14

у меня да. это удобно

34. utrosgelraen /33 17.11.2011 19:41

И тут ты решишь собрать libreoffice...

35. gelraenutros /34 17.11.2011 19:43 imax

1) по-умолчанию пакеты собираются в директории work, которая создаётся внутри директории порта
2) для таких толстых портов у меня специально вписаны исключения, что их надо собирать не в /tmp (их 2 или 3 всего)
3) ....
4) PROFIT!

36. emugelraen /33 17.11.2011 20:03 sylph

и у меня

37. emuutros /31 17.11.2011 20:16

root в группе mem

38. DZhonutros /32 17.11.2011 20:24

ты не поверишь

39. DZhonutros /34 17.11.2011 20:25

И тут я делаю ремаунт на 9 Гб :)

40. emu 17.11.2011 20:27 sylph

/dev/shm, кстати, не доступна только в каких-то неправильных линуксах

41. utrosDZhon /39 17.11.2011 20:45

/me лежит с недобуком с гигом оперативки и тихо тебя ненавидит :)

42. emuutros /41 17.11.2011 20:45 sylph

лижет? ты — нетбук? оО

43. littlechrisgelraen /7 06.03.2012 19:27

s/быдло/legacy/

Do you really want to delete ?