netch80: (Default)
[personal profile] netch80
Убедился, что упорно предпочитаю git остальным средствам, но это никак не связано собственно с распределённостью, а с несколькими фишками:
1. Понятие отдельного "индекса" и удобство управления им. Особенно рулит возможность частичного коммита из файла и даже с ручной рихтовкой патча перед его вносом, если add --interactive недостаточно.
2. Лог со включённым в него диффом (git log -p), или описанием изменений (--stat)

Несколько раз натыкались на merge, который таинственным образом поднимал старые, давно неактуальные состояния чего-то, причём сделавший этот merge ничего плохого не заметил (и конфликта, по его словам, не было). Эргономика слияний явно недодумана.

Зато несколько раз ошибся в SVN, сделав svn update в подкаталоге и решив, что и остальная часть дерева тоже обновлена.

Date: 2010-11-29 12:44 pm (UTC)
From: [identity profile] p1r4nh4.livejournal.com
Так нихрена кайфа отдельного индекса и не понял. Пользуюсь crecord'ом и доволен им, а индекс в гите в основном скрыт командой commit -a.

Про мерж странно, однако.

Date: 2010-11-29 12:44 pm (UTC)
From: [identity profile] p1r4nh4.livejournal.com
Я в смысле себе его скрываю, чтоб не путался под ногами, когда не надо. alias ci="commit -a" и всë.

Date: 2010-11-30 06:10 am (UTC)
From: [identity profile] anatoly borodin (from livejournal.com)
> Несколько раз натыкались на merge, который таинственным образом поднимал старые, давно неактуальные состояния чего-то, причём сделавший этот merge ничего плохого не заметил (и конфликта, по его словам, не было). Эргономика слияний явно недодумана.

Как это выглядит?

Date: 2010-12-01 02:52 pm (UTC)
ext_605364: geg MOPO4 (Default)
From: [identity profile] gegmopo4.livejournal.com
Зато несколько раз ошибся в SVN, сделав svn update в подкаталоге и решив, что и остальная часть дерева тоже обновлена.
От этого помогает svnversion в сборочных скриптах.

Date: 2010-12-01 03:00 pm (UTC)
ext_605364: geg MOPO4 (Default)
From: [identity profile] gegmopo4.livejournal.com
Например:
$ cat makebranch
#!/bin/sh
if [ $# -lt 1 ]
then
	echo "Usage: $0 BRANCH"
	exit 1
fi
BRANCH="$1"
echo "version=$BRANCH" >branch.version
BASE="https://путь_к_хранилищу"
SRC="$BASE/trunk"
DST="$BASE/branches/$BRANCH"
svnmucc -m "Creating branch $BRANCH" \
	cp "$(svnversion)" "$SRC" "$DST" \
	put branch.version "$DST/build.properties"
С незакоммиченными изменениями или частично апдейтнутое просто не поедет.

Date: 2011-02-08 05:26 pm (UTC)
From: [identity profile] nuclight.livejournal.com
В hg, говорят, еще более удобно сделали: http://pqr7.wordpress.com/2011/01/07/a-git-users-guide-to-mercurial-queues/

Date: 2011-02-08 05:30 pm (UTC)
From: [identity profile] nuclight.livejournal.com
Правда, нахрена нужно что оно, что в git - всё равно непонятно. Зачем задерживать и укрупнять коммиты? Понимаю, в CVS с этим было сложно, а сейчас-то завести на такой случай ветку и потом смержить - не проблема.

Date: 2011-06-22 10:37 am (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
а как борьба с сабпроектами в git?
методом тотального запрета?

Profile

netch80: (Default)
netch80

January 2026

S M T W T F S
    1 23
45678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 10th, 2026 11:13 pm
Powered by Dreamwidth Studios