This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

View | Details | Raw Unified | Return to bug 199951
Collapse All | Expand All

(-)git/test/unit/src/org/netbeans/modules/git/getTopmostTest.java (-2 / +16 lines)
Lines 47-53 Link Here
47
import java.lang.reflect.Field;
47
import java.lang.reflect.Field;
48
import java.util.Map;
48
import java.util.Map;
49
import java.util.Set;
49
import java.util.Set;
50
import org.netbeans.junit.MockServices;
50
import org.netbeans.junit.NbTestCase;
51
import org.netbeans.junit.NbTestCase;
52
import org.netbeans.modules.versioning.spi.VersioningSupport;
51
import org.netbeans.modules.versioning.util.Utils;
53
import org.netbeans.modules.versioning.util.Utils;
52
54
53
/**
55
/**
Lines 230-235 Link Here
230
    }
232
    }
231
233
232
    public void testExcludeUserDir () throws Exception {
234
    public void testExcludeUserDir () throws Exception {
235
        MockServices.setServices(new Class[] {
236
            GitVCS.class});
237
        
233
        Field f = Utils.class.getDeclaredField("unversionedFolders");
238
        Field f = Utils.class.getDeclaredField("unversionedFolders");
234
        f.setAccessible(true);
239
        f.setAccessible(true);
235
        f.set(Utils.class, null);
240
        f.set(Utils.class, null);
Lines 247-253 Link Here
247
        assertNull(Git.getInstance().getRepositoryRoot(r1));
252
        assertNull(Git.getInstance().getRepositoryRoot(r1));
248
        assertNull(Git.getInstance().getRepositoryRoot(r1f1));
253
        assertNull(Git.getInstance().getRepositoryRoot(r1f1));
249
254
250
        Git.getInstance().clearAncestorCaches();
255
        Git.getInstance().versionedFilesChanged();
251
        f.set(Utils.class, null);
256
        f.set(Utils.class, null);
252
        // version also the userdir
257
        // version also the userdir
253
        System.setProperty("versioning.netbeans.user.versioned", "true");
258
        System.setProperty("versioning.netbeans.user.versioned", "true");
Lines 260-270 Link Here
260
        File r1fld1 = createFolder(r1, "folder1");
265
        File r1fld1 = createFolder(r1, "folder1");
261
        File r1fld1f1 = createFile(r1fld1, "f1");
266
        File r1fld1f1 = createFile(r1fld1, "f1");
262
        System.setProperty("netbeans.user", r1fld1.getAbsolutePath());
267
        System.setProperty("netbeans.user", r1fld1.getAbsolutePath());
263
        Git.getInstance().clearAncestorCaches();
268
        Git.getInstance().versionedFilesChanged();
264
        assertEquals(r1, Git.getInstance().getRepositoryRoot(r1));
269
        assertEquals(r1, Git.getInstance().getRepositoryRoot(r1));
265
        assertEquals(r1, Git.getInstance().getRepositoryRoot(r1f1));
270
        assertEquals(r1, Git.getInstance().getRepositoryRoot(r1f1));
266
        assertNull(Git.getInstance().getRepositoryRoot(r1fld1));
271
        assertNull(Git.getInstance().getRepositoryRoot(r1fld1));
267
        assertNull(Git.getInstance().getRepositoryRoot(r1fld1f1));
272
        assertNull(Git.getInstance().getRepositoryRoot(r1fld1f1));
273
274
        // logic in VersioningManager used to mark all parents of an excluded tree as unversioned too - that's obviously wrong
275
        // we want to exclude only userdir, not the whole disk
276
        assertNull(VersioningSupport.getOwner(r1fld1f1));
277
        assertNull(VersioningSupport.getOwner(r1fld1));
278
        
279
        // only subtree is unversioned, r1 itself is versioned
280
        assertEquals(GitVCS.class, VersioningSupport.getOwner(r1).getClass());
281
        assertEquals(GitVCS.class, VersioningSupport.getOwner(r1f1).getClass());
268
    }
282
    }
269
283
270
    private void clearCachedValues() throws Exception {
284
    private void clearCachedValues() throws Exception {
(-)mercurial/test/unit/src/org/netbeans/modules/mercurial/getTopmostTest.java (-2 / +15 lines)
Lines 47-53 Link Here
47
import java.lang.reflect.Field;
47
import java.lang.reflect.Field;
48
import java.util.Map;
48
import java.util.Map;
49
import java.util.Set;
49
import java.util.Set;
50
import org.netbeans.junit.MockServices;
50
import org.netbeans.junit.NbTestCase;
51
import org.netbeans.junit.NbTestCase;
52
import org.netbeans.modules.versioning.spi.VersioningSupport;
51
import org.netbeans.modules.versioning.util.Utils;
53
import org.netbeans.modules.versioning.util.Utils;
52
54
53
/**
55
/**
Lines 231-236 Link Here
231
    }
233
    }
232
234
233
    public void testExcludeUserDir () throws Exception {
235
    public void testExcludeUserDir () throws Exception {
236
        MockServices.setServices(new Class[] {
237
            MercurialVCS.class});
238
234
        Field f = Utils.class.getDeclaredField("unversionedFolders");
239
        Field f = Utils.class.getDeclaredField("unversionedFolders");
235
        f.setAccessible(true);
240
        f.setAccessible(true);
236
        f.set(Utils.class, null);
241
        f.set(Utils.class, null);
Lines 246-252 Link Here
246
        assertNull(Mercurial.getInstance().getRepositoryRoot(r1));
251
        assertNull(Mercurial.getInstance().getRepositoryRoot(r1));
247
        assertNull(Mercurial.getInstance().getRepositoryRoot(r1f1));
252
        assertNull(Mercurial.getInstance().getRepositoryRoot(r1f1));
248
253
249
        Mercurial.getInstance().clearAncestorCaches();
254
        Mercurial.getInstance().versionedFilesChanged();
250
        f.set(Utils.class, null);
255
        f.set(Utils.class, null);
251
        // version also the userdir
256
        // version also the userdir
252
        System.setProperty("versioning.netbeans.user.versioned", "true");
257
        System.setProperty("versioning.netbeans.user.versioned", "true");
Lines 259-269 Link Here
259
        File r1fld1 = createFolder(r1, "folder1");
264
        File r1fld1 = createFolder(r1, "folder1");
260
        File r1fld1f1 = createFile(r1fld1, "f1");
265
        File r1fld1f1 = createFile(r1fld1, "f1");
261
        System.setProperty("netbeans.user", r1fld1.getAbsolutePath());
266
        System.setProperty("netbeans.user", r1fld1.getAbsolutePath());
262
        Mercurial.getInstance().clearAncestorCaches();
267
        Mercurial.getInstance().versionedFilesChanged();
263
        assertEquals(r1, Mercurial.getInstance().getRepositoryRoot(r1));
268
        assertEquals(r1, Mercurial.getInstance().getRepositoryRoot(r1));
264
        assertEquals(r1, Mercurial.getInstance().getRepositoryRoot(r1f1));
269
        assertEquals(r1, Mercurial.getInstance().getRepositoryRoot(r1f1));
265
        assertNull(Mercurial.getInstance().getRepositoryRoot(r1fld1));
270
        assertNull(Mercurial.getInstance().getRepositoryRoot(r1fld1));
266
        assertNull(Mercurial.getInstance().getRepositoryRoot(r1fld1f1));
271
        assertNull(Mercurial.getInstance().getRepositoryRoot(r1fld1f1));
272
        
273
        // logic in VersioningManager used to mark all parents of an excluded tree as unversioned too - that's obviously wrong
274
        // we want to exclude only userdir, not the whole disk
275
        assertNull(VersioningSupport.getOwner(r1fld1f1));
276
        assertNull(VersioningSupport.getOwner(r1fld1));
277
        // only subtree is unversioned, r1 itself is versioned
278
        assertEquals(MercurialVCS.class, VersioningSupport.getOwner(r1).getClass());
279
        assertEquals(MercurialVCS.class, VersioningSupport.getOwner(r1f1).getClass());
267
    }
280
    }
268
281
269
    private void clearCachedValues() throws Exception {
282
    private void clearCachedValues() throws Exception {

Return to bug 199951