如何从 svn 工作副本中取消某些文件(或文件夹)的版本?
How to unversion some files (or folders) from a svn working copy?
起初我应该说我不是在寻找关于 svn:ignore
或 svn rm --keep-local
的解决方案,我不想取消整个工作副本,现在只有 1 .svn
工作副本文件夹,所以 svn export
或删除 .svn
文件夹也不是我想要的答案。
我想要的是unversion(unlink,untrack...我不确定该用哪个词)工作副本下的一些项目已经签出或更新了。
我也在 TortoiseSVN 中尝试过“取消版本并添加到忽略列表”,但它看起来像是 svn:ignore
和 svn rm --keep-lock
的组合命令。将文件添加到 ignore-on-commit
更改列表要好得多,但我无法通过这种方式添加文件夹。
让我详细说明。
我在存储库中有 2 个文件。
repo-url
a.txt
b.txt
退房。
>svn co --depth empty repo-url wd
>cd wd
>svn up a.txt
现在只有 a.txt
被签出,如果我将 b.txt
添加到 wd
文件夹,svn 会识别它是未版本化的。
>echo abc>b.txt
>svn st
? b.txt
>del b.txt
>svn st
如果我不小心更新了 b.txt
,这个文件是由 svn 控制的。如果我在本地删除这个文件,svn 会将工作副本标记为已修改。
>svn up b.txt
>del b.txt
>svn st
! b.txt
我找不到一个简单的命令来将我的工作副本恢复到更新前的状态 b.txt
。目前我的解决方案是删除 .svn/wc.db/NODES
中的相关行,但我害怕折叠工作副本。
似乎有效。
svn up --set-depth=exclude b.txt
起初我应该说我不是在寻找关于 svn:ignore
或 svn rm --keep-local
的解决方案,我不想取消整个工作副本,现在只有 1 .svn
工作副本文件夹,所以 svn export
或删除 .svn
文件夹也不是我想要的答案。
我想要的是unversion(unlink,untrack...我不确定该用哪个词)工作副本下的一些项目已经签出或更新了。
我也在 TortoiseSVN 中尝试过“取消版本并添加到忽略列表”,但它看起来像是 svn:ignore
和 svn rm --keep-lock
的组合命令。将文件添加到 ignore-on-commit
更改列表要好得多,但我无法通过这种方式添加文件夹。
让我详细说明。
我在存储库中有 2 个文件。
repo-url
a.txt
b.txt
退房。
>svn co --depth empty repo-url wd
>cd wd
>svn up a.txt
现在只有 a.txt
被签出,如果我将 b.txt
添加到 wd
文件夹,svn 会识别它是未版本化的。
>echo abc>b.txt
>svn st
? b.txt
>del b.txt
>svn st
如果我不小心更新了 b.txt
,这个文件是由 svn 控制的。如果我在本地删除这个文件,svn 会将工作副本标记为已修改。
>svn up b.txt
>del b.txt
>svn st
! b.txt
我找不到一个简单的命令来将我的工作副本恢复到更新前的状态 b.txt
。目前我的解决方案是删除 .svn/wc.db/NODES
中的相关行,但我害怕折叠工作副本。
似乎有效。
svn up --set-depth=exclude b.txt