Help algosvn

Материал из CSC Wiki
Версия от 00:54, 16 октября 2019; Burunduk (обсуждение | вклад) (Пользуемся для алгоритмов)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Общие слова

svn -- система контроля версий. Что даёт svn?

1. Доступ к файлам для нескольких пользователей

2. Контроль версий, никакая версия файлов не потеряется

Устанавливаем

Скачайте клиент:

  • Linux: sudo apt-get install subversion
  • DEPRECATED: gui клиент для svn (опыт предыдущих поколений показал, что ребята, которые учатся через gui, к середине октября всё ещё не могут в svn)

Основные команды работы с svn из консоли

Команды одинаковы и в windows, и в linux. ПоНужно ли писать письма на почту? Если ощущение, что про вас и вашу домашнюю работу забыли, вам не хватает внимания -- да, нужно. Если вы просто закоммитили свою домашнюю работу в svn, не обязательно, мы и так это увидим. жалуйста, научитесь сперва работать в консоли. И с svn тоже из консоли.

1. Выкачать себе текущую ветку: svn checkout https://trac.compscicenter.ru/hse-svn/algo19/kopeliovich.sergey/ (checkout=co)

Svn co.jpg

2. Создать новые директории, файлы, добавить их в svn: svn add filename (изменение произойдёт локально, только у вас)

Svn add.jpg

3. Синхронизировать локальные изменение с сервером: svn commit -m "comment" (commit=ci, сохранить все локальные изменения на сервере)

Svn ci.jpg

4. Командой svn status (status=st) можно смотреть текущее состоянии файлов (что вы поменяли по сравнению с тем, что скачали с сервера)

Svn st.jpg

Когда думаете, что "сдали дз", не забывайте командой svn st проверять, что всё закоммитили на сервер.

Дополнительные команды работы с svn из консоли

5. Командой svn diff можно смотреть изменения

Svn diff.jpg

6. Командой svn log можно смотреть историю изменений файлов

Svn log.jpg

чуть более компактный вид

Svn log2.jpg

7. Можно даже смотреть разницу между разными версиями

Svn diff2.jpg

8. Если вы добавили лишнее, хотите удалить svn remove (remove=rm, изменение произойдёт локально, только у вас)

Svn rm.jpg

9. Если вы неправильно назвали файл, переименуйте svn move (move=mv, изменение произойдёт локально, только у вас). Пожалуйста, не делайте remove+add, тогда теряется история изменений

Svn mv.jpg

Стандартные ошибки

1. Что-то случайно удалили, хотите вернуть всё, как было? Напишите svn up

2. Что-то случайно поменяли, хотите вернуть всё, как было? Удалите файл, напишите svn up

3. Хотели удалить файл svn rm a.cpp, но вместо этого сделали просто rm a.cpp?

Svn rm fail.jpg

4. Переименовывать любые файлы/директории нужно именно через svn mv

Ссылки

Как гуглить: "svn move file", "svn resolve conflict"

Чуть подробнее про svn с примерами

Всё про svn

Help по всем командам svn

Пользуемся для алгоритмов

Сделаем наш svn-мир упорядоченным.

Если у вас прошла практика 9-го сентября 2019-го года, то файл с практикой называется так: http://acm.math.spbu.ru/~sk1/courses/1920f_au/practice/190909.pdf

Решение нужно положить в свой svn (e.g. https://trac.compscicenter.ru/hse-svn/algo19/kopeliovich.sergey/)

В файл algo19/kopeliovich.sergey/190909/hw.tex  (проверьте, что имя директории и имя файла ровно такие же).

В svn следует класть только tex файл. pdf-ку из tex может собрать каждый. Если вы собираете каким-нибудь не стандартным способом, рядом следует класть скрипт сборки (Makefile или .sh файл).

Нужно ли писать письма на почту? Если ощущение, что про вас и вашу домашнюю работу забыли, вам не хватает внимания -- да, нужно. Если вы просто закоммитили свою домашнюю работу в svn, не обязательно, мы и так это увидим.