### Example Repository Structure
Source: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-import.html
Illustrates a typical project directory structure before importing into a repository.
```text
C:\\Projects\\Widget\\source
C:\\Projects\\Widget\\doc
C:\\Projects\\Widget\\images
```
--------------------------------
### Tag URL Example
Source: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-branchtag.html
An example of a destination URL for a tag, typically used to mark specific release versions.
```text
https://svn.example.com/repos/ProjectName/tags/Release_1.10
```
--------------------------------
### Simple Sub-string Search Examples
Source: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-showlog.html
These examples demonstrate how to use simple sub-string searches to filter log messages. They cover inclusion, exclusion, and combined logic.
```text
Alice Bob -Eve
```
```text
Alice -Bob +Eve
```
```text
-Case +SpecialCase
```
```text
!Alice Bob
```
```text
!-Alice -Bob
```
```text
"Alice and Bob"
```
```text
""
```
```text
"Alice says ""hi"" to Bob"
```
--------------------------------
### TortoiseIDiff Command Line Example
Source: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-automation-idiff.html
Use this command to launch TortoiseIDiff with specified left and right image files, custom titles, and display modes like fit and overlay.
```bash
TortoiseIDiff.exe /left:"c:\images\img1.jpg" /lefttitle:"image 1"
/right:"c:\images\img2.jpg" /righttitle:"image 2"
/fit /overlay
```
--------------------------------
### Simple tsvncmd URL for Update
Source: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-automation-urlhandler.html
This example demonstrates a basic tsvncmd URL to update a working copy to a specific revision. Ensure the 'tsvncmd:' protocol is registered on the system.
```html
Update
```
--------------------------------
### WinMerge Configuration
Source: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-settings.html
Example of configuring WinMerge (version 2.8 or later) as the external diff/merge program.
```shell
C:\Path-To\WinMerge.exe %merged
```
--------------------------------
### Icon Overlay Settings Example
Source: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-settings.html
Illustrates the hierarchical application of include and exclude rules for icon overlays. The first matching rule found by searching upwards from a path is applied. Conflicts are resolved by giving precedence to single directory specifications over recursive ones, and inclusion over exclusion.
```plaintext
Exclude:
C:
C:\develop\?
C:\develop\tsvn\obj
C:\develop\tsvn\bin
Include:
C:\develop
```
--------------------------------
### Perforce Merge Configuration
Source: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-settings.html
Example of configuring Perforce Merge as the external diff program using parameter substitution.
```shell
C:\Path-To\P4Merge.exe %base %theirs %mine %merged
```
--------------------------------
### KDiff3 Merge Configuration
Source: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-settings.html
Example of configuring KDiff3 as the external merge program, including title and output file parameters.
```shell
C:\Path-To\kdiff3.exe %base %mine %theirs -o %merged
--L1 %bname --L2 %yname --L3 %tname
```
--------------------------------
### DiffMerge Configuration
Source: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-settings.html
Example of configuring DiffMerge with specific parameters for caption, result, and file titles.
```shell
C:\Path-To\DiffMerge.exe -caption=%mname -result=%merged -merge
-nosplash -t1=%yname -t2=%bname -t3=%tname %mine %base %theirs
```
--------------------------------
### JavaScript Example of SubWCRev COM Interface Usage
Source: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-subwcrev-com-interface.html
This script demonstrates how to instantiate and use the SubWCRev COM object in JavaScript to retrieve various working copy details. It shows how to call GetWCInfo and GetWCInfo2 with different parameters and access properties like Revision, Date, Author, and more.
```javascript
// testCOM.js - javascript file
// test script for the SubWCRev COM/Automation-object
filesystem = new ActiveXObject("Scripting.FileSystemObject");
revObject1 = new ActiveXObject("SubWCRev.object");
revObject2 = new ActiveXObject("SubWCRev.object");
revObject3 = new ActiveXObject("SubWCRev.object");
revObject4 = new ActiveXObject("SubWCRev.object");
revObject1.GetWCInfo(
filesystem.GetAbsolutePathName("."), 1, 1);
revObject2.GetWCInfo(
filesystem.GetAbsolutePathName(".."), 1, 1);
revObject3.GetWCInfo(
filesystem.GetAbsolutePathName("SubWCRev.cpp"), 1, 1);
revObject4.GetWCInfo2(
filesystem.GetAbsolutePathName("..\..\.."), 1, 1, 1);
wcInfoString1 = "Revision = " + revObject1.Revision +
"\nMin Revision = " + revObject1.MinRev +
"\nMax Revision = " + revObject1.MaxRev +
"\nDate = " + revObject1.Date +
"\nURL = " + revObject1.Url + "\nAuthor = " +
revObject1.Author + "\nHasMods = " +
revObject1.HasModifications + "\nIsSvnItem = " +
revObject1.IsSvnItem + "\nNeedsLocking = " +
revObject1.NeedsLocking + "\nIsLocked = " +
revObject1.IsLocked + "\nLockCreationDate = " +
revObject1.LockCreationDate + "\nLockOwner = " +
revObject1.LockOwner + "\nLockComment = " +
revObject1.LockComment;
wcInfoString2 = "Revision = " + revObject2.Revision +
"\nMin Revision = " + revObject2.MinRev +
"\nMax Revision = " + revObject2.MaxRev +
"\nDate = " + revObject2.Date +
"\nURL = " + revObject2.Url + "\nAuthor = " +
revObject2.Author + "\nHasMods = " +
revObject2.HasModifications + "\nIsSvnItem = " +
revObject2.IsSvnItem + "\nNeedsLocking = " +
revObject2.NeedsLocking + "\nIsLocked = " +
revObject2.IsLocked + "\nLockCreationDate = " +
revObject2.LockCreationDate + "\nLockOwner = " +
revObject2.LockOwner + "\nLockComment = " +
revObject2.LockComment;
wcInfoString3 = "Revision = " + revObject3.Revision +
"\nMin Revision = " + revObject3.MinRev +
"\nMax Revision = " + revObject3.MaxRev +
"\nDate = " + revObject3.Date +
"\nURL = " + revObject3.Url + "\nAuthor = " +
revObject3.Author + "\nHasMods = " +
revObject3.HasModifications + "\nIsSvnItem = " +
revObject3.IsSvnItem + "\nNeedsLocking = " +
revObject3.NeedsLocking + "\nIsLocked = " +
revObject3.IsLocked + "\nLockCreationDate = " +
revObject3.LockCreationDate + "\nLockOwner = " +
revObject3.LockOwner + "\nLockComment = " +
revObject3.LockComment;
```
--------------------------------
### Default Trunk URL Example
Source: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-branchtag.html
This is the default destination URL for a new branch, representing the main line of development.
```text
https://svn.example.com/repos/ProjectName/trunk
```
--------------------------------
### Example of svn:externals property format
Source: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-howto-common-projects.html
This property defines external projects to be checked out into specified sub-folders. Each line specifies a checkout folder name and the repository URL.
```text
common/lib http://svn.example.com/repos/lib
common/utils http://svn.example.com/repos/utils
```
--------------------------------
### Use SubWCRev COM Object in C#
Source: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-subwcrev-com-interface.html
This C# example shows how to instantiate the SubWCRev COM object and use its GetWCInfo method to check if a file is part of an SVN working copy. It displays a message box indicating the versioned status.
```csharp
using LibSubWCRev;
SubWCRev sub = new SubWCRev();
sub.GetWCInfo("C:\\PathToMyFile\\MyFile.cc", true, true);
if (sub.IsSvnItem == true)
{
MessageBox.Show("versioned");
}
else
{
MessageBox.Show("not versioned");
}
```
--------------------------------
### SubWCRev Ignore Patterns Example
Source: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-subwcrev.html
Examples of ignore patterns for the .subwcrevignore file. Patterns are matched against paths relative to the repository root or the .subwcrevignore file's location. Patterns are case-sensitive.
```bash
/trunk/doc
/trunk/doc/*
```
```bash
doc
doc/*
```
```bash
*.png
*.jpg
*.ico
*.bmp
```
--------------------------------
### Create Repository Shortcut Target
Source: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-howto-repo-shortcut.html
Use this command in a shortcut's target field to open the repository browser at a specific URL. Replace 'url/to/repository' with the actual repository path.
```bash
TortoiseProc.exe /command:repobrowser /path:"url/to/repository"
```
--------------------------------
### Create SVN Repository using Command Line
Source: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-repository.html
Use this command to create a new Subversion repository in a specified folder using the svnadmin tool. Ensure the folder exists and is empty.
```bash
svnadmin create --fs-type fsfs MyNewRepository
```
--------------------------------
### Araxis Merge Configuration
Source: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-settings.html
Example of configuring Araxis Merge with various command-line options for diff and merge operations.
```shell
C:\Path-To\compare.exe /max /wait /3 /title1:%tname /title2:%bname
/title3:%yname %theirs %base %mine %merged /a2
```
--------------------------------
### Import Files/Directories (CLI)
Source: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-cli-main.html
This command imports an unversioned directory into the repository.
```bash
svn import -m LogMessage PATH URL
```
--------------------------------
### Local Folder Structure for Import
Source: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-repository.html
Create this local folder structure on your hard drive before importing it into the repository to establish the basic layout.
```text
C:\\Temp\\New\\trunk
C:\\Temp\\New\\branches
C:\\Temp\\New\\tags
```
--------------------------------
### Get Lock (CLI)
Source: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-cli-main.html
This command locks files in your working copy to prevent others from modifying them. Use --force to steal existing locks.
```bash
svn lock -m "LockMessage" [--force] PATH...
```
--------------------------------
### Create Repository (CLI)
Source: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-cli-main.html
This command creates a new Subversion repository at the specified path. --fs-type fsfs specifies the filesystem type.
```bash
svnadmin create --fs-type fsfs PATH
```
--------------------------------
### Pre-RevProp-Change Hook Example (Batch)
Source: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-repository-hooks.html
This batch script implements a pre-revprop-change hook. It allows changes to the 'svn:log' property but rejects changes to any other property by sending an error message to stderr and exiting with a non-zero status.
```batch
rem Only allow log messages to be changed.
if "%4" == "svn:log" exit 0
echo Property '%4' cannot be changed >&2
exit 1
```
--------------------------------
### Update Check File Format
Source: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-admins-upgradecheck.html
The text file at the specified URL must follow this format: version string, custom message, and download URL. Ensure the version string exactly matches the TortoiseSVN installation package.
```text
1.9.1.6000
A new version of TortoiseSVN is available for you to download!
http://192.168.2.1/downloads/TortoiseSVN-1.9.1.6000-svn-1.9.1.msi
```
--------------------------------
### Checkout Command
Source: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-cli-main.html
Use this command to check out a working copy from a repository. Options include specifying depth, ignoring externals, and checking out a specific revision.
```bash
svn checkout [-depth ARG] [--ignore-externals] [-r rev] URL PATH
```
--------------------------------
### Perform a Hot Copy Backup of a Repository
Source: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-repository-backup.html
Use this command to create a safe copy of your repository. Ensure no processes are accessing the repository during the copy.
```bash
svnadmin hotcopy path/to/repository path/to/backup
```
--------------------------------
### Info Command
Source: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-cli-main.html
Retrieves information about a working copy or repository URL. This is often used as a preliminary step for other commands.
```bash
svn info URL_of_WC
```
--------------------------------
### Complex tsvncmd URL for Show Compare
Source: https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-automation-urlhandler.html
This example shows a more complex tsvncmd URL to compare two different URLs at specified revisions. Note the use of URL encoding for parameters if they contain special characters, though not explicitly shown here.
```html
compare
```