• R/O
  • SSH
  • HTTPS

tortoisesvn: Commit


Commit MetaInfo

Revision28267 (tree)
Time2018-07-07 15:40:52
Authorstefankueng

Log Message

When updating a sparse checkout with adding files in excluded folders, leave the parent folder in the update list.

Change Summary

Incremental Difference

--- trunk/src/TortoiseProc/RepositoryBrowser.h (revision 28266)
+++ trunk/src/TortoiseProc/RepositoryBrowser.h (revision 28267)
@@ -1,6 +1,6 @@
1-// TortoiseSVN - a Windows shell extension for easy version control
1+// TortoiseSVN - a Windows shell extension for easy version control
22
3-// Copyright (C) 2003-2017 - TortoiseSVN
3+// Copyright (C) 2003-2018 - TortoiseSVN
44
55 // This program is free software; you can redistribute it and/or
66 // modify it under the terms of the GNU General Public License
@@ -294,7 +294,7 @@
294294
295295 void ShowText(const CString& sText, bool forceupdate = false);
296296 static void FilterInfinityDepthItems(std::map<CString,svn_depth_t>& depths);
297- static void CRepositoryBrowser::FilterUnknownDepthItems(std::map<CString,svn_depth_t>& depths);
297+ void FilterUnknownDepthItems(std::map<CString,svn_depth_t>& depths);
298298 void SetListItemInfo( int index, const CItem * it );
299299
300300 bool RunStartCommit(const CTSVNPathList& pathlist, CString& sLogMsg);
--- trunk/src/TortoiseProc/RepositoryBrowser.cpp (revision 28266)
+++ trunk/src/TortoiseProc/RepositoryBrowser.cpp (revision 28267)
@@ -4961,9 +4961,17 @@
49614961 CString url1 = it->first + L"/";
49624962 if (url1.Compare(it2->first.Left(url1.GetLength()))==0)
49634963 {
4964- std::map<CString,svn_depth_t>::iterator kill = it2;
4965- --it2;
4966- depths.erase(kill);
4964+ // only remove items which are already checked out, i.e. are
4965+ // already present in the working copy.
4966+ // if an item isn't in the working copy yet, we need to
4967+ // check out/update the item even if it has unknown depth
4968+ auto wcit = m_wcDepths.find(it2->first);
4969+ if (wcit != m_wcDepths.end())
4970+ {
4971+ std::map<CString, svn_depth_t>::iterator kill = it2;
4972+ --it2;
4973+ depths.erase(kill);
4974+ }
49674975 }
49684976 }
49694977 }
--- trunk/src/Changelog.txt (revision 28266)
+++ trunk/src/Changelog.txt (revision 28267)
@@ -20,6 +20,9 @@
2020 one was shown multiple times. (Stefan)
2121 - BUG: When adding unversioned folders, the
2222 ignore properties were sometimes ignored. (Stefan)
23+- BUG: Changing update depths of sparse checkouts
24+ failed when trying to add files in excluded
25+ folders. (Stefan)
2326
2427 Version 1.10.0
2528 See the release notes here:
@@ -26,7 +29,7 @@
2629 http://tortoisesvn.net/tsvn_1.10_releasenotes.html
2730
2831 Version 1.9.8 (unreleased)
29-- BUG: GDI leak in repobrowser. (Stefan)
32+- BUG: GDI leak in repo-browser. (Stefan)
3033 - BUG: Endless loop in vendor-branch. (Stefan)
3134 - CHG: New line margin icons and minor high dpi refinements
3235 in TortoiseMerge. (Ivan Zhakov)
Show on old repository browser