1800 assertTrue(repo.isClean());
1801
1802 var f = dir.path().resolve("README");
1803 Files.writeString(f, "Hello\n");
1804 repo.add(f);
1805 var initial = repo.commit("Initial commit", "duke", "duke@openjdk.org");
1806
1807 Files.writeString(f, "Hello again\n");
1808 repo.add(f);
1809 var second = repo.commit("Second commit", "duke", "duke@openjdk.org");
1810
1811 assertEquals(second, repo.head());
1812 assertEquals(2, repo.commits().asList().size());
1813
1814 repo.reset(initial, true);
1815
1816 assertEquals(initial, repo.head());
1817 assertEquals(1, repo.commits().asList().size());
1818 }
1819 }
1820 }
|
1800 assertTrue(repo.isClean());
1801
1802 var f = dir.path().resolve("README");
1803 Files.writeString(f, "Hello\n");
1804 repo.add(f);
1805 var initial = repo.commit("Initial commit", "duke", "duke@openjdk.org");
1806
1807 Files.writeString(f, "Hello again\n");
1808 repo.add(f);
1809 var second = repo.commit("Second commit", "duke", "duke@openjdk.org");
1810
1811 assertEquals(second, repo.head());
1812 assertEquals(2, repo.commits().asList().size());
1813
1814 repo.reset(initial, true);
1815
1816 assertEquals(initial, repo.head());
1817 assertEquals(1, repo.commits().asList().size());
1818 }
1819 }
1820
1821 @ParameterizedTest
1822 @EnumSource(VCS.class)
1823 void testRemotes(VCS vcs) throws IOException {
1824 try (var dir = new TemporaryDirectory()) {
1825 var repo = Repository.init(dir.path(), vcs);
1826 assertEquals(List.of(), repo.remotes());
1827 repo.addRemote("foobar", "https://foo/bar");
1828 assertEquals(List.of("foobar"), repo.remotes());
1829 }
1830 }
1831
1832 @ParameterizedTest
1833 @EnumSource(VCS.class)
1834 void testRemoteBranches(VCS vcs) throws IOException {
1835 try (var dir = new TemporaryDirectory()) {
1836 var upstream = Repository.init(dir.path().resolve("upstream"), vcs);
1837 var readme = upstream.root().resolve("README");
1838 Files.writeString(readme, "Hello\n");
1839 upstream.add(readme);
1840 var head = upstream.commit("Added README", "duke", "duke@openjdk.org");
1841
1842 var fork = Repository.init(dir.path().resolve("fork"), vcs);
1843 fork.addRemote("upstream", "file://" + upstream.root());
1844 var refs = fork.remoteBranches("upstream");
1845 assertEquals(1, refs.size());
1846 var ref = refs.get(0);
1847 assertEquals(head, ref.hash());
1848 assertEquals(upstream.defaultBranch().name(), ref.name());
1849 }
1850 }
1851 }
|