1.10.0 (2018-04-13) 현재 실험 svn shelve
명령이 있습니다. ( TortoiseSVN은 명령을 지원합니다. ) 패치를 저장하고 다시 적용하는 데 도움이 될 뿐이므로 svn diff
+ 와 같은 제한이 patch
있습니다 (즉, 이진 파일을 처리하고 이름을 바꿀 수 없음). ( 편집 : 바이너리 지원이 다음 버전 1.11.0에서 제공되는 것 같습니다 )
편집 ^ 2 : 1.11.0 (2018-10-30 릴리스)에서는 이진 파일이 지원됩니다 . 선반 이름이 바뀐 파일은 지원되지 않습니다. 1.11의 선반은 1.10에서 만든 선반과 호환되지 않습니다.
편집 ^ 3 : 1.12.0 (2019-04-24 릴리스)에서는 복사 및 이름 바꾸기가 지원됩니다 . 1.12의 선반은 이전 버전에서 만든 선반과 호환되지 않습니다.
편집 ^ 4 : 1.13.0 및 1.14.0 으로 선반을 바꾸는 데 변화가 없습니다 . 명령은 여전히 실험으로 표시되어 SVN_EXPERIMENTAL_COMMANDS=shelf3
있으며 기능을 사용 하도록 정의해야 합니다. 기능이 현재 심사되지 않은 것 같습니다 .
설계 노트는 개발자의 Wiki 에서 찾을 수 있습니다 .
$ svn x-shelve --help
x-shelve: Move local changes onto a shelf.
usage: x-shelve [--keep-local] SHELF [PATH...]
Save the local changes in the given PATHs to a new or existing SHELF.
Revert those changes from the WC unless '--keep-local' is given.
The shelf's log message can be set with -m, -F, etc.
'svn shelve --keep-local' is the same as 'svn shelf-save'.
The kinds of change you can shelve are committable changes to files and
properties, except the following kinds which are not yet supported:
* copies and moves
* mkdir and rmdir
Uncommittable states such as conflicts, unversioned and missing cannot
be shelved.
To bring back shelved changes, use 'svn unshelve SHELF'.
Shelves are currently stored under <WC>/.svn/experimental/shelves/ .
(In Subversion 1.10, shelves were stored under <WC>/.svn/shelves/ as
patch files. To recover a shelf created by 1.10, either use a 1.10
client to find and unshelve it, or find the patch file and use any
1.10 or later 'svn patch' to apply it.)
The shelving feature is EXPERIMENTAL. This command is likely to change
in the next release, and there is no promise of backward compatibility.
Valid options:
-q [--quiet] : print nothing, or only summary information
--dry-run : try operation but make no changes
--keep-local : keep path in working copy
(...)
$ svn x-unshelve --help
x-unshelve: Copy shelved changes back into the WC.
usage: x-unshelve [--drop] [SHELF [VERSION]]
Apply the changes stored in SHELF to the working copy.
SHELF defaults to the newest shelf.
Apply the newest version of the shelf, by default. If VERSION is
specified, apply that version and discard all versions newer than that.
In any case, retain the unshelved version and versions older than that
(unless --drop is specified).
With --drop, delete the entire shelf (like 'svn shelf-drop') after
successfully unshelving with no conflicts.
The working files involved should be in a clean, unmodified state
before using this command. To roll back to an older version of the
shelf, first ensure any current working changes are removed, such as
by shelving or reverting them, and then unshelve the desired version.
Unshelve normally refuses to apply any changes if any path involved is
already modified (or has any other abnormal status) in the WC. With
--force, it does not check and may error out and/or produce partial or
unexpected results.
The shelving feature is EXPERIMENTAL. This command is likely to change
in the next release, and there is no promise of backward compatibility.
Valid options:
--drop : drop shelf after successful unshelve
(...)
$ svn help | grep x-
x-shelf-diff
x-shelf-drop
x-shelf-list (x-shelves)
x-shelf-list-by-paths
x-shelf-log
x-shelf-save
x-shelve
x-unshelve