我正在测试SVN。配置完成后,我可以成功添加/提交文件。
但是,我看不到文件和文件夹上的状态图标。谁能告诉我为什么?
就我而言,Dropbox 覆盖在注册表中以“(带引号的标识符)开头。我删除了所有的”前缀并重新启动 explorer.exe。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\ShellIconOverlayIdentifiers
编辑:我安装了 Windows 10,这个解决方案对我不起作用。所以我只是去了同一个注册表位置并删除了所有谷歌和 SkyDrive 记录并重新启动 explorer.exe。
第二次编辑:安装 TortoiseGit 后,它修复了所有内容,无需任何自定义。
要解决此问题,请转到 TortoiseSVN > 设置 > 图标叠加 > 状态缓存从默认更改为外壳。
如果使用驱动器 A 或 B,请检查驱动器类型为 A 和 B。
不幸的是,这在 Windows 上是一个很常见的问题,图标要么没有更新,要么消失了。我觉得这很烦人。它通常通过刷新 Windows 文件夹 (F5) 或通过执行 SVN 清理来修复,
Right click on the folder -> TortoiseSVN -> Clean up...
Select Clean up working copy status
我从来没有能够永久解决这个问题,这只是一种解决方法。将 TortoiseSVN 保持在最新版本可能有帮助,也可能没有帮助。
请注意,清理只会清理您的本地工作副本,它不会对实际存储库做任何事情。它是一个安全的操作。
根据您的评论,显然这还不够。你有很多其他程序也使用覆盖图标吗?如果是这样,也许您可以在此线程中找到解决方案:TortoiseSVN 图标不在 Windows 7 下显示?第二个投票最多的答案还涉及网络驱动器等。它是一本好书。
另外,你安装后重启电脑了吗?从TortoiseSVN 常见问题解答:
安装后你当然重启了你的电脑?如果你还没有,请现在这样做。TortoiseSVN 是一个 Windows Explorer Shell 扩展,将与 Explorer 一起加载。
...
否则,请尝试进行修复安装(当然还要重新启动)。
我遇到的问题是投递箱将其覆盖置于比 SVN 更高的优先级
他们都在条目的开头放置空格以将它们推到列表的顶部
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ Explorer\ShellIconOverlayIdentifiers\
以下文章更全面地解释了这一点,并展示了如何解决它。
但是,由于 dropbox 在我的机器上经常更新相对论,而且我很少更新 Tortoise SVN,我建议只在 tortoise 条目上附加空格以将它们推到列表中,否则当 Dropbox 软件更新时你将不得不再次执行所有这些操作安装。
以下是步骤:
运行“regedit”并找到:“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ Explorer\ShellIconOverlayIdentifiers\”
按您想要的顺序重命名文件夹(技巧使用 01_、02_ 作为前缀)
从任务管理器中终止 explorer.exe 并重新运行 explorer.exe 任务。
根据给定的偏好,您将看到覆盖显示在您最初没有看到的位置
就我而言,乌龟图标根本没有显示,我尝试了这个并解决了我的问题:
(重点是把所有的乌龟文件夹放在最上面)
我用 TortoiseGit 和 TortoiseSVN 遇到了这个问题。DropBox 将其注册表项重命名为前缀“”,比我为 Tortoise 所做的要多。
Tortoise 可以通过TortoiseGit > Settings > Icon Overlays > Overlay Handlers直接打开注册表编辑器, 然后单击Start registry editor并重命名条目,以便按字母顺序排列的第一个成为您想要的。
我的叠加层突然消失了(或者我是这么想的)。我看到这篇文章https://corengen.wordpress.com/2014/07/30/my-tortoisesvn-icon-overlays-have-disappeared/指出 Windows 有 15 个用于覆盖图标的插槽;4 个保留给 windows,剩下 11 个给其他应用程序。无论注册表中有多少覆盖键,Windows 都会按字母顺序选择前 11 个。
当我升级 Office 时,OneDrive 添加了覆盖图标 - 以很多空格为前缀 - 将 Tortoise 的覆盖推到阈值以下: windows registry 因为我没有使用 OneDrive,所以解决方案是在 OneDrive 键名中添加“z” .
这不是问题,就像Avada Kedavra 所说的那样,实际上,这在“图标叠加设置”部分中有记录,我也在下面显示。你可以阅读它,然后选择你最喜欢的一个。
由于获取工作副本的状态需要相当长的时间,TortoiseSVN 使用缓存来存储状态,因此浏览器在显示覆盖时不会被占用太多。您可以在此处根据您的系统和工作副本大小选择 TortoiseSVN 应该使用的缓存类型:
默认
在单独的进程 (TSVNCache.exe) 中缓存所有状态信息。如果工作副本中的文件被修改,该过程会监视所有驱动器的更改并再次获取状态。该进程以尽可能低的优先级运行,因此其他程序不会因此而被占用。这也意味着状态信息不是实时的,但覆盖更改可能需要几秒钟。
优点:覆盖以递归方式显示状态,即如果工作副本深处的文件被修改,则工作副本根目录之前的所有文件夹也将显示修改后的覆盖。由于进程可以向 shell 发送通知,因此左侧树视图上的覆盖通常也会发生变化。
缺点:即使您不从事项目,该过程也会不断运行。它还使用大约 10-50 MB 的 RAM,具体取决于工作副本的数量和大小。
贝壳
缓存直接在外壳扩展 dll 内完成,但仅适用于当前可见的文件夹。每次您导航到另一个文件夹时,都会再次获取状态信息。
优点:只需要很少的内存(大约 1 MB 的 RAM)并且可以实时显示状态。
缺点:由于只缓存了一个文件夹,因此覆盖不会递归显示状态。对于大型工作副本,在资源管理器中显示文件夹可能比使用默认缓存需要更多时间。mime-type 列也不可用。
没有任何
使用此设置,TortoiseSVN 根本不会在资源管理器中获取状态。正因为如此,文件不会得到覆盖,而文件夹只有在版本化后才会得到“正常”覆盖。没有显示其他覆盖,也没有额外的列可用。
优点:绝对不使用额外的内存,并且在浏览时根本不会减慢资源管理器的速度。
缺点:资源管理器中不显示文件和文件夹的状态信息。要查看您的工作副本是否被修改,您必须使用“检查修改”对话框。
Windows 上的 Tortoise SVN 经常与真实文件状态失去同步。在这种情况下,尝试做一个svn cleanup
.
另一件事,它还可能取决于您的源文件所在的位置、不同的驱动器、网络驱动器等。Tortoise 中有一个选项可以在远程驱动器上允许或不覆盖图标。
看看这个: TortoiseSVN / Settings / Icon Overlays / Drive types
首先清除 Windows 系统中的临时文件,然后重新启动系统。
运行%temp%
>>删除所有文件
当我从 Windows 7 升级到 10 时遇到了同样的问题。最终我必须重新安装 SVN 并重新启动系统,它才能工作。但是,我必须手动将每个 SVN 目录升级到新的 SVN 1.8 格式(右键单击它会自动显示在资源管理器中以将目录升级到最新版本)。希望这可以帮助。
就我而言,所有图标都突然消失了。
解决方案 :
一切又出现了……
只需使用任务管理器关闭我的文件资源管理器,然后再次运行它即可为我解决此问题。
或者您也可以只在 Windows 中使用命令行界面 CMD。我知道,它不是 GUI(即使我通常喜欢使用图形用户界面),但是,它只有两行!!!
像这样解决您的问题:
1- 以管理员身份运行命令行界面 (CMD)。
2-更改为正确的磁盘驱动器,通过键入带冒号的驱动器号(例如:“D:”、“E:”,或者像我的一样是“W:”)。然后“cd”到你的本地存储库目录(我的是 W:\svn\internet)然后执行这些行:
W:\>svn cleanup
W:\svn\internet>svn up
这样,您就可以确定它是最新的。你甚至不需要一个图标来告诉你!