SVN, or Subversion, is a free and open source version control system that can restore data to earlier versions or check the history of data modifications. The data can be source code or other types of files.
Before the emergence of SVN, CVS was the de facto standard for version control tools in the open source world. However, CVS had some inherent flaws, and fixing these flaws required a lot of effort. Therefore, Brian Behlendorf, the initiator of SVN, and CollabNet decided to re- Write a version control system that retains the basic ideas of CVS, but corrects its errors and unreasonable features. As a result, SVN emerged as the successor of CVS. The designers of SVN strive to win the favor of CVS users through two efforts: keeping the design and interface style of the open source system as similar as possible to CVS, while trying to make up for the many obvious shortcomings of CVS. The result of these efforts is that migrating from CVS to SVN does not require major changes, so more and more people choose SVN.
http://svnbook.red-bean.com
http://www.subversion.org.cn
Table of contents
1. Use of client
1.1 General use under Linux system (Ubuntu)
1.2 General use under Windows system
1.3 Use SVN+ssh authentication under Linux (no relevant information found @_@)
1.4 Using SVN+ssh authentication under Windows
2. Server-side configuration
2.1 svnserve configuration under Linux
2.2 svnserve configuration under Windows
2.3 svnserve+ssh configuration under Linux
2.4 svnserve+ssh configuration under Windows (requires Cygwin, omitted)
2.5 APache-based SVN server configuration under Linux
2.6 APache-based SVN server configuration under Windows
3. Establish a version library
3.1 Create a version library under Linux
3.2 Create a version library under Windows
Most people start using SVN from the client. The following will introduce the use of the client first. Assume that the SVN server has been assumed, its folder address is http://domain/svn/trunk/myproject, the user name is test, and the password is test. (If the server is configured with SVN, use the URL starting with svn:// for access; if the server is configured with SVN+SSH, use the URL starting with svn+ssh for access)
1. Use of client
1.1 Generally used under Linux (Ubuntu) system
1) First, you need to install the svn client. Under ubuntu, use $sudo apt-get install subversion (for others, please baigoogledu, Yu Tong)
2) checkout command: Use the checkout command when using it for the first time to copy the server directory to the current local directory. At the same time, a hidden folder will be created to record version information:
[Working directory]$svn checkout "http://domain/svn/trunk/myproject" --username test
Then enter the password
3) svn update command: Get the latest version on the server
[Working Directory]$svn update (except for the first time you need to add the url, user name and password, the system will remember it later)
4) svn add command: To add non-versioned local files to version control:
[Working directory]$svn add hello.c
5) svn commit command: upload local files to the server
[Working directory]$svn commit (if there are new files, svn add first)
1.2 General use under Windows system
1) Install the client: http://tortoisesvn.net/downloads
2) Create a new folder (working directory), right-click and select checkout, fill in the URL and username and password
3) Right click on the working directory to update
4) Right click on the working directory to add
5) Right click on the working directory and commit
1.3 Using SVN+ssh authentication under Linux(No relevant information found@_@)
1.4 Using SVN+ssh authentication under Windows
(Refer to setting up svn server under ubuntu and establishing svn+ssh client in windows)
1.4.0 Install TortoiseSVN, Puttygen, Pageant
http://sourceforge.net/projects/tortoisesvn
http://www.chiark.greenend.org.uk/~sgtatham/putty/
1.4.1 Convert private key format
1) Copy the file
2) Select the menu conversions->Import Key; select the file
3) Select Parameters as "SSH-2 DSA" or "SSH-2 RSA" ->Save private key->Save the file name as username>key.ppk.
1.4.2 Establish the association between TortoiseSVN and Pageant, and add the private key to Pageant:
1) Right-click the mouse and select TortoiseSVN->Settings->Network->SSH client, enter:
C:Program FilesTortoiseSVN inTortoisePlink.exe
2) Right-click the mouse and select TortoiseSVN->RepoBrowser Enter URL:
svn+ssh://
3) Run Pageant, right-click the icon in the lower right corner of the screen -> Add Key, and add the private key file
——If you don’t want to cache the ssh password, steps 8 and 9 are not required and only the second step will be retained. However, you will have to enter the password twice every time you check out or check in every time you enter a folder, which will bore you to death :)
2. Server-side configuration
There are three options for web server deployment, and the configurations are arranged from simple to complex
·svnserve
·svnserve over SSH
·Apache+mod_dav_svn module
Let’s start with the simplest one and introduce svnserve.
[Update] The server-side configuration under Windows can use VisualSVN Server for fool-proof installation.
Official website: http://www.visualsvn.com/
Reference link: Introduction to VisualSVN series (there is a detailed introduction to the installation process, which will not be reproduced here)
2.1&2.2 Configure svnserve
svnserve is a lightweight server that can communicate with clients through a custom stateful protocol based on TCP/IP. The client uses a URL starting with svn:// or svn+ssh://svnserve. Access an svnserve server.
2.1 svnserve configuration under Linux
2.1.0 Similarly, use the command $sudo apt-get install subversion
2.1.1 svnserve acts as an independent daemon and listens for requests
$svnserve -d
$ #svnserve is now running, listening on port 3690
——You can use --listen-port=[port number] to specify the port, or --listen-host=[host name] to specify the host name
Assume that a repository has been created and is located in the /usr/local/repositories/project path (the establishment of the repository will be mentioned later). At this time, the client can use svn://[host]/usr/local/repositories/project to proceed. Visit
——You can use the -r option to limit the output to only the repository under the specified path, thereby making client access more concise:
$svnserve -d -r /usr/local/repositories
Then the client can access
2.1.2 Using svnserve with inetd
$svnserve -i
——At this time, svnserve will try to use a custom protocol to talk to the subversion client through stdin and stdout. The default port is 3690. You can add the following lines to /etc/services:
svn 3690/tcp #subversion
svn 3690/udp #subversion
——If you are using the classic Unix-like inetd daemon, you can add the following line to /etc/inetd.conf. Then if a customer connects to port 3690, inetd will generate an svnserve process to provide services
svn stream tcp nowait svnowner /usr/bin/svnserve svnserve -i
2.1.3 Set up svnserve’s built-in authentication

在PHP开发中进行版本控制是很常见的操作,其中最常用的工具就是SVN(Subversion)。它可以方便地管理代码的历史版本以及协同开发过程中的代码更新。下面将介绍如何在PHP开发中使用SVN进行版本控制。一、安装SVN客户端和服务端首先需要安装SVN客户端和服务端。SVN客户端可以在SVN官网上下载对应的版本,安装即可,而服务端则需要自行搭建,具体方法可以

Vue.js是一款流行的JavaScript前端框架,目前已经推出了最新的版本——Vue3,新版Vue在性能、体积以及开发体验上均有所提升,受到越来越多的开发者欢迎。本文将介绍如何使用Vue3制作一个简单的图片裁剪器。首先,我们需要创建一个Vue项目并安装所需的插件。可以使用VueCLI来创建项目,也可以手动搭建。这里我们以使用VueCLI的方式为例:#

SVN简介SVN(Subversion)是一种集中式版本控制系统,用于管理和维护代码库。它允许多个开发者同时协作开发代码,并提供对代码历史修改的完整记录。通过使用SVN,开发者可以:保障代码稳定性,避免代码丢失和损坏。追踪代码修改历史,轻松回滚到之前的版本。协同开发,多个开发者同时修改代码而不会冲突。SVN基本操作要使用SVN,需要安装SVN客户端,例如TortoiseSVN或SublimeMerge。然后,您可以按照以下步骤执行基本操作:1.创建代码库svnmkdirHttp://exampl

EclipseSVN插件的安装和设置方法详解Eclipse是一个广泛使用的集成开发环境(IDE),它支持许多不同的插件来扩展其功能。其中之一是EclipseSVN插件,它使开发人员能够与Subversion版本控制系统进行交互。本文将详细介绍如何安装和设置EclipseSVN插件,并提供具体的代码示例。第一步:安装EclipseSVN插件打开Eclipse

Go-zero是一款优秀的Go语言框架,它提供了一整套解决方案,包括RPC、缓存、定时任务等功能。事实上,使用go-zero建立一个高性能的服务非常简单,甚至可以在数小时内从入门到精通。本文旨在介绍使用go-zero框架构建高性能服务的过程,并帮助读者快速掌握该框架的核心概念。一、安装和配置在开始使用go-zero之前,我们需要安装它并配置一些必要的环境。1

在linux下,直接使用svndiff命令查看代码的修改是很吃力的,于是在网上搜索到了一个比较好的解决方案,就是让vimdiff作为svndiff的查看代码工具,尤其对于习惯用vim的人来说真的是很方便。当使用svndiff命令比较某个文件的修改前后时,例如执行以下命令:$svndiff-r4420ngx_http_limit_req_module.c那么实际会向默认的diff程序发送如下命令:-u-Lngx_http_limit_req_module.c(revision4420)-Lngx_

在CentOS上安装SVN是非常常见的操作,它是一个功能强大的版本控制系统,可以用于管理和追踪软件开发过程中的变更,本文将详细介绍如何在CentOS上安装SVN,并提供一些常用的命令行安装方法。在CentOS上安装SVN有多种方法,下面将介绍两种常用的安装方式。1.打开终端,以root用户身份登录。2.运行以下命令更新系统软件包列表:```yumupdate3.运行以下命令安装SVN:yuminstallsubversion4.安装完成后,可以通过运行以下命令验证SVN是否成功安装:svn--v

区别:1、vss是微软开发的,是收费的,而svn是开源免费的;2、vss必须有客户端,而svn可以用客户端,也可以用命令行模式,还可以用网页方式只读访问;3、vss只支持windows系统,而svn支持windows和linux系统;4、vss是“锁定-编辑-解锁”模式,svn默认是“修改-冲突-合并”模式;5、vss的版本号对应的是单个文件,svn的版本号对应的是整个版本库。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Dreamweaver CS6
Visual web development tools

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment
