Bug 337946 - Dolphin svn overlay icon
Summary: Dolphin svn overlay icon
Status: RESOLVED FIXED
Alias: None
Product: dolphin
Classification: Applications
Component: plugins: svn (show other bugs)
Version: 4.13.2
Platform: Mandriva RPMs Linux
: NOR normal
Target Milestone: ---
Assignee: Sebastian Dörner
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-07-31 18:05 UTC by Anthony Fieroni
Modified: 2015-11-07 17:33 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 15.12.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anthony Fieroni 2014-07-31 18:05:21 UTC
Make folder inside versioned who is NOT under svn control, the make file inside that NOT versioned folder, dolphin show it's under control, but is not. Make icon overlay changable but current icon set.
Comment 1 Anthony Fieroni 2014-07-31 18:07:41 UTC
1. Checkout repository
2. Make folder in this repository who is not under control
3. Make file inside it
4. Dolphin show it's versioned, but it's wrong
Comment 2 Marcel Martin 2014-09-03 20:28:01 UTC
I can confirm this problem. When I create some new files in a freshly checked out repository, all files are marked as versioned, even though the new ones are not. 'svn status' on the command line shows question marks, as expected.
Comment 3 Anthony Fieroni 2014-10-31 11:51:59 UTC
Bug still presents in 4.14.2 Dolphin-plugins fileviewsvnplugin.cpp:171
[code]filePath = filePath.mid(pos, length);[/code]
must use like that
[code]filePath = filePath.mid(pos, length).split('/')[0][/code]
cause we have from process "svn status --no-ignore dir1/" 
"I       dir1/dir2/dir3" and want to get dir2 not dir2/dir3
Can you test it?
Comment 4 Anthony Fieroni 2014-10-31 12:40:15 UTC
Do not think on post above, problem is not only there.
Let's search for directory that is not undercontrol beginRetrieval(const QString& directory) directory = dir1/
fileviewsvnplugin.cpp:127
QMutableHashIterator<QString, ItemVersion> it(m_versionInfoHash);
    while (it.hasNext()) {
        it.next();
        if (it.key().startsWith(directory)) {
            it.remove();
        }
    }
now we remove it from hash and make new process "svn status --no-ignore dir1/" dir1 is not in version control and result is "?       dir1" but in 169 we search for '/' => filePath is empty, logic is not correct. Ugly patch can make here, but function must be rewritten. fileviewsvnplugin.cpp:169 int pos = filePath.indexOf('/'); after this must check for pos if(pos == -1 && filePath.contains(directory)) m_versionInfoHash.insert(directory, version); must add current directory with version who is UnversionedVersion 99.9%.
Comment 5 Emmanuel Pescosta 2015-11-07 17:33:24 UTC
Git commit 2342a73850db373ea93d2ca36b2bc8dcc71f9e11 by Emmanuel Pescosta, on behalf of Anthony Fieroni.
Committed on 07/11/2015 at 17:21.
Pushed by emmanuelp into branch 'master'.

[svn] svn status does not report files in unversioned paths -> don't assume that
all files are NormalVersion
REVIEW: 125879
FIXED-IN: 15.12.0

M  +5    -1    svn/fileviewsvnplugin.cpp

http://commits.kde.org/dolphin-plugins/2342a73850db373ea93d2ca36b2bc8dcc71f9e11