Программирование на Java для группы с помощью Eclipse и SVN
2. Требуемые установки
Это рабочая модель для Java-команды, использующей Eclipse и SVN:

VisualSVN Server

Чтобы получить SVN Repository, вам необходимо установить SVN Server, например, Visual SVN на каком-нибудь компьютере, и он будет сервером SVN. Вы можете ознакомиться с инструкцией по установке и настройке Visual SVN по ссылке:
- Use SVN Repository for free XP-Dev
Subversive

Затем Subversive должен быть установлен в каждой программе Eclipse каждого члена. Вы можете посмотреть инструкцию по адресу:
3. Разделить Project на SVN Repository
Во-первых, члену необходимо предоставить код исходного проекта в SVN Repository (SVN-репозитории)
На приведенном ниже изображении показаны 3 проекта, доступных на компьютере участника. Мы разделим эти три проекта на SVN Server

В Visual SVN создан Repository под названием JavaProjects.

Copy URL:

Копируемый URL-адрес может содержать название сервера SVN.
- https://TRAN-VMWARE/svn/JavaProjects/
Вы можете изменить название сервера IP-адресом.
-
Вернемся к Eclipse:
Мы будем совместно использовать 2 Project: ProjectController & ProjectModel в репозиторий JavaProjects:







2 проекта: ProjectController & ProjectModel были поделены в SVN Server.

В момент, когда вы хотите продолжить совместное использование других проектов в одном и том же доступном репозитории (например, JavaProjects), мы продолжим совместное использование ProjectView Project в SVN Server -JavaProjects






Project ProjectView разделен для совместного использования на Repository.

Это изображение на Visual SVN Server:

4. Checkout Project из SVN Repository
Другие члены группы сделают checkout проектов из репозитория на свой собственный компьютер.





Предположим, что мы возьмем только 2 Project для checkout, а другой Project - сделаем checkout позже.


2 Project сделаны checkout.

Мы продолжаем checkout другие проекты (например, он только что был поделен кем-то в группе).








5. Commit и Update
Checkout - извлечение всех данных из одного или нескольких проектов, разделенных в Repository, на локальный компьютер (когда на локальном компьютере нет этого проекта). Затем данные изменяются на локальном компьютере. Используйте функцию Commit для передачи измененных данных в Repository. И используйте функцию Update для извлечения измененных данных.
Теперь мы модифицируем (или добавляем) файлы в проектах и Commit (фиксируем) их в репозитории.



Чтобы перенести измененные данные в SVN Repository, щелкните правой кнопкой мыши на Project или выберите измененный файл, выберите Team/Commit.



Новые добавления и изменения были Commit в SVN Repository.

В Eclipse других членов можно использовать функцию Update для новых добавленных или измененных данных.
Примечание: В некоторых случаях, когда Commit получает уведомление с ошибкой, вам необходимо выполнить Update перед Commit.
6. Основные функции
SVN имеет много функций, показанных на изображении ниже:

Мы изучим, как использовать некоторые важные функции.
Add to svn:ignore
Если вы хотите, чтобы SVN игнорировал папку или файл и не передавал в SVN Repository, вы можете использовать функцию: Add to svn:ignore (добавить в svn:ignore).

Например, у вас есть папка, содержащая файлы данных, которыми вы не хотите делиться, как показано ниже:

Щелкните правой кнопкой мыши на папку mynote, выберите team/add to svn: ignore


Если Commit завершился с ошибкой, как показано ниже:

В этом случае вам необходимо Update проект до Commit.
Revert
Revert используется для возврата исходных данных. Например, когда вы изменяете данные некоторых файлов, revert помогает вернуть исходное состояние файла перед изменением.

Lock & Unlock
Вы изменяете некоторые файлы на локальном компьютере. Во время изменения, если вы не хотите, чтобы кто-либо из группы сделал Commit данных этих файлов в Repository, вы можете использовать функцию Lock, чтобы заблокировать его. После завершения изменения вы можете выполнить Commit и использовать функцию Unlock, чтобы разблокировать файл.

Cleanup
Вы изменяете некоторые файлы и Commit в SVN Repository, но вы получите сообщение об ошибке, если какой-то из этих файлов кем-то заблокирован. Cleanup помогает освободиться от принудительной блокировки. В этом случае вы не можете использовать функцию Unlock, так как она может использоваться человеком, который заблокировал файл.

Disconnect
Ваш проект подключен к SVN Repository.
Если вы посмотрите папку Project на жестком диске, вы увидите, что каждая папка содержит скрытую папку .svn. Эти папки содержат информацию о состоянии и данные файлов SVN (похоже на локальный репозиторий).


Щелкните правой кнопкой мыши на проект и выберите "Team / Disconnect", чтобы отключитьс соединение с SVN Repository.

Существует два варианта Disconnect (отключения):
- Одновременно и отключитьи удалить всю метаинформацию SVN
- Этот выбор означает удаление скрытых папок .svn во всех папках в Project. Эта ситуация не позволяет повторно подключиться, если вы хотите опять подключиться есть только способ удалить Project на жестком диске или сделать повторно checkout.
- Или только отключить (disconnect).
- Этот выбор просто означает отключение. Метаинформация SVN все так же сохраняется.
Здесь я иллюстрирую использование варианта 2:


Вы можете переподключиться, нажав на правую кнопку мышни на Project и выбрать: Team/Share Project...




Java Basic
- Настройте java compiler для обработки вашего Annotation (Annotation Processing Tool)
- Программирование на Java для группы с помощью Eclipse и SVN
- Руководство Java WeakReference
- Руководство Java PhantomReference
- Сжатие и декомпрессия в Java
- Настройка Eclipse для использования JDK вместо JRE
- Методы String.format() и printf() в Java
- Синтаксис и новые функции в Java 8
- Регулярные выражения Java
- Руководство Java Multithreading Programming
- Библиотеки Java JDBC Driver для различных типов баз данных
- Руководство Java JDBC
- Получить значения столбцов, автоматически возрастающих при вставлении (Insert) записи, используя JDBC
- Руководство Java Stream
- Руководство Java Functional Interface
- Введение в Raspberry Pi
- Руководство Java Predicate
- Абстрактный класс и Interface в Java
- Модификатор доступа (Access modifiers) в Java
- Руководство Java Enum
- Руководство Java Annotation
- Сравнение и Сортировка в Java
- Руководство Java String, StringBuffer и StringBuilder
- Обработка исключений Java - Java Exception Handling
- Руководство Java Generics
- Манипулирование файлами и каталогами в Java
- Руководство Java BiPredicate
- Руководство Java Consumer
- Руководство Java BiConsumer
- Что мне нужно для начала работы с Java?
- История Java и разница между Oracle JDK и OpenJDK
- Установить Java в Windows
- Установите Java в Ubuntu
- Установите OpenJDK в Ubuntu
- Установить Eclipse
- Установите Eclipse в Ubuntu
- Быстрое изучение Java для начинающих
- История бит и байтов в информатике
- Типы данных в java
- Битовые операции
- Команда if else в Java
- команды switch в Java
- Циклы в Java
- Массивы (Array) в Java
- JDK Javadoc в формате CHM
- Наследование и полиморфизм в Java
- Руководство Java Function
- Руководство Java BiFunction
- Пример Java encoding и decoding с использованием Apache Base64
- Руководство Java Reflection
- Java Удаленный вызов методов - Java RMI
- Руководство Программирование Java Socket
- Какую платформу я должен выбрать для разработки приложений Java Desktop?
- Руководство Java Commons IO
- Руководство Java Commons Email
- Руководство Java Commons Logging
- Понимание Java System.identityHashCode, Object.hashCode и Object.equals
- Руководство Java SoftReference
- Руководство Java Supplier
- Аспектно-ориентированное программирование Java с помощью AspectJ (AOP)
Show More
- Руководства Java Servlet/JSP
- Руководства Java Collections Framework
- Java API для HTML, XML
- Руководства Java IO
- Руководства Java Date Time
- Руководства Spring Boot
- Руководства Maven
- Руководства Gradle
- Руководства Java Web Services
- Руководства Java SWT
- Руководства JavaFX
- Руководства Oracle Java ADF
- Руководства Struts2 Framework
- Руководства Spring Cloud
Pуководства Subversion (SVN)
- Установка и управление Visual SVN Server
- Программирование C# для группы использующей Visual Studio и SVN
- Установите и используйте Tortoise SVN
- Программирование на Java для группы с помощью Eclipse и SVN
- Программирование для группы с использованием XCode и SVN
- Установите AnkhSVN в Windows
Show More