Показаны сообщения с ярлыком vcs. Показать все сообщения
Показаны сообщения с ярлыком vcs. Показать все сообщения

вторник, 12 апреля 2011 г.

Почему git плох?

Крики из зала

Очень часто в сети можно услышать/прочитать, что git сложнее, чем
"правильные" dvc. Цель данного поста не заставить читателей переходить
на git, а показать, что в повседневном использовании он ничем не
отличается от других систем контроля версий.
Рассмотрим наиболее используемые команды. Эти комманды я ввожу
десяток раз на день (если не чаще), как и многие другие
пользователи. Я не вижу смысла сравнивать по редко используемые или
специфичные только для определенных workflow. И так, поехали...

вторник, 5 апреля 2011 г.

Настройка git для домашних нужд.

Git у меня используется для хранения текста диссертации (LaTeX). Один репозиторий хранится на github.com, второй на флэшке.  Ну и конфиги хранятся под git'ом. Далее приведу мой конфиг для git`а и как с этим жить.

воскресенье, 13 марта 2011 г.

Каждая ветка в отдельной дирректории для Git (как в bzr)

В bazaar есть удобная модель ветвления репозитория: каждая ветка находится в отдельной директории. Это очень удобно, например когда пишется текст/книга/диссертация/диплом и нужно скопировать в главу N абзац, который был в ней пол года назад, но потом был удален по требованиям редактора/таракана в голове/научного руководителя. Или не просто скопировать, а следить за тем, какая она была некоторое время назад, и причесывая текущее состояние работы по ее образу и подобию. В Git такой модели ветвления нет, но есть локальные ветки (в bazaar они тоже есть).  Для того, чтобы можно было использовать такой способ работы представлен следующий скрипт.


четверг, 7 октября 2010 г.

BLog на github

Может и баян. Но на github.com можно вести свой блог. Для этого необходимо создать реп с именем  username.github.com и наслаждаться жизнью.Подробности тут

среда, 14 июля 2010 г.

Bugs Everywhere

собственно subj. Это системы хранения заметок-ошибок. Ошибки она может хранить в репе систем контроля версий (держит Arch, Bazaar, Darcs, Git, Mercurial, Monotone). Поддерживает комментирование ошибок. Интерфейс у нее cli. Умеет dump в виде html. Написана на python.


Оф. сайт.

понедельник, 12 июля 2010 г.

Todo в Mercurial репозитории.

Нашел интересное расширение для hg. Позволяет вести ToDo листы прямо в hg репозитории. Позволяет их передавать в родительский реп при комманде push --all-tasks или передавать только завершенные --completed-tasks.

updated
Есть такая же штуковина но для git. Умеет тоже самое

пятница, 25 июня 2010 г.

Redmine, planner и компания.

По совету basp попробовал redmine и planner. В ubuntu есть готовый пакет для обоих, но вот чтобы установить redmine, а вернее настроить его, нужно было чуть почитать доки. Программы эти весьма удобные. Но для личного пользования я, пока, выбрал planner.

пятница, 19 марта 2010 г.

джоэл спольски о VCS

Забавное сравнение в статье: Subversion = Leeches. Mercurial and Git = Antibiotics

воскресенье, 28 февраля 2010 г.

Заметки в репозитарии Mercurial

Есть такое расширения для hg: Artemis. Позволяет ставить заметки для истории изменений.



Пример с офф. сайта.
# hg iadd
... enter some text in an editor ...
Added new issue 907ab57e04502afd

# hg ilist
907ab57e04502afd ( 0) [new]: New issue

# hg ishow 907
======================================================================
From: ...
Date: ...
Subject: New issue
State: new

Detailed description.

----------------------------------------------------------------------

воскресенье, 6 декабря 2009 г.

Визуализация веток в VCS

Проект gourse позволяет создавать красивые визуализации истории изменений в репозитарии.


вторник, 25 августа 2009 г.

Git#

Новость старая, но все же. Есть такой проект Git#.  Задачей его является создание версии git на C#. Не знаю, плохо это или хорошо. НО! Если у них все получится, то появится нормальная версия git для windows. Поскольку git# разрабатывается, как библиотка классов, то теперь для windows можно создавать оконный gui для git. Так же, может упроститься создание плагинов для различных ide.

воскресенье, 23 августа 2009 г.

Emacs и gitconfig

Сделал режим, для редактирования конфигов git.
Исходники брать тут.

суббота, 1 августа 2009 г.

hg_squash

В дополнение к предыдущему посту. Вот простой скрипт, реализующий данную команду.
#!/bin/sh
# hg_squash

usage(){
echo  "usage: $0 rev MESSAGE"
}

if [ $# -lt 2 ]
then
usage
exit 1
fi


if [ $1 = "-h" ]
then
usage
exit 1
fi

rev=$1
tip=`hg tip --template  "{rev}"`
next=`expr $rev + 1`
new_log=`hg log -r $rev:$tip --template "{desc|firstline}\n"`
echo "Rev count: "$rev
echo "Tip revision: " $tip
echo "Message: " $2
echo "New commit message: " $new_log
echo "Update to $rev..."
hg update $rev
echo "Reverting..."
hg revert -r tip --all
echo "Commiting..."
new_message=`echo "$2""\\nCombine changesets $next..$tip\\n\\n$new_log"`
hg commit -m "$new_message"
echo "Strip..."
hg strip `expr $rev + 1`

Запускать, из директории с репозитарием. Первый параметр, номер ревизии, предшествующей объединяемым изменениям. Второй- описание изменения.

HG squash. Или как объеденить несколько изменений.

Часто, в репозитарий попадают изменения, которые делают исходный код не рабочим, но исправления будут сделаны в следующих ревизиях. А потом, может возникает желание, объединить их в один патч. Это можно сделать следующим образом.

hg update S

Обновляем до ревизии, предшествующей необходимым изменениям.

hg revert -r tip --all

Теперь отменяем все сделанные изменения.

hg commit -m "Combine changesets S+1..S+k"

И объединяем в один chageset.

Теперь возникает такая проблема, что в репозитарии образовалось две ветки, основная, и полученная после hg commit. Это решается двумя разными способами:

1) hg clone -r tip oldrepo newrepo - созданием нового репозитария
2) воспользоваться командой hg strip

среда, 24 июня 2009 г.

Git out

есть в mercurial хорошая команда "hg out". мне в git ее как то не хватало.
С помощью alias`а в zsh поставил такую команду:
alias gitout="git log origin/HEAD..master"

вторник, 2 июня 2009 г.

Цикл статей про Git

Нашел хорошие статьи про git. Помимо способов использования это системы контроля версий, также описывается ее внутренне устройство.

понедельник, 20 апреля 2009 г.

Git + Fat32 на флещке

При монтировании флешке в Linux файлы из репозитария git все записаниы в нижнем регистре. Чтобы это исправить к параметрам монтирования нужно добавить  shortname=mixed.Спасибо alexott