private IList <RefSpec> CalculateRefSpecs(string dst) { RefSpec wcrs = new RefSpec(); wcrs = wcrs.SetForceUpdate(true); wcrs = wcrs.SetSourceDestination(Constants.R_HEADS + "*", dst + "/*"); //$NON-NLS-1$ //$NON-NLS-2$ IList <RefSpec> specs = new AList <RefSpec>(); if (cloneAllBranches) { specs.AddItem(wcrs); } else { if (branchesToClone != null && branchesToClone.Count > 0) { foreach (string selectedRef in branchesToClone) { if (wcrs.MatchSource(selectedRef)) { specs.AddItem(wcrs.ExpandFromSource(selectedRef)); } } } } return(specs); }
public void testForceRemotesOrigin() { string srcn = "refs/heads/*"; string dstn = "refs/remotes/origin/*"; RefSpec rs = new RefSpec("+" + srcn + ":" + dstn); Assert.IsTrue(rs.Force); Assert.IsTrue(rs.Wildcard); Assert.AreEqual(srcn, rs.Source); Assert.AreEqual(dstn, rs.Destination); Assert.AreEqual("+" + srcn + ":" + dstn, rs.ToString()); Assert.AreEqual(rs, new RefSpec(rs.ToString())); Core.Ref r; RefSpec expanded; r = new Unpeeled(Storage.Loose, "refs/heads/master", null); Assert.IsTrue(rs.MatchSource(r)); Assert.IsFalse(rs.MatchDestination(r)); expanded = rs.ExpandFromSource(r); Assert.AreNotSame(rs, expanded); Assert.IsTrue(expanded.Force); Assert.IsFalse(expanded.Wildcard); Assert.AreEqual(r.Name, expanded.Source); Assert.AreEqual("refs/remotes/origin/master", expanded.Destination); r = new Unpeeled(Storage.Loose, "refs/remotes/origin/next", null); Assert.IsFalse(rs.MatchSource(r)); Assert.IsTrue(rs.MatchDestination(r)); r = new Unpeeled(Storage.Loose, "refs/tags/v1.0", null); Assert.IsFalse(rs.MatchSource(r)); Assert.IsFalse(rs.MatchDestination(r)); }
public void testForceMasterMaster() { string sn = "refs/heads/master"; RefSpec rs = new RefSpec("+" + sn + ":" + sn); Assert.IsTrue(rs.Force); Assert.IsFalse(rs.Wildcard); Assert.AreEqual(sn, rs.Source); Assert.AreEqual(sn, rs.Destination); Assert.AreEqual("+" + sn + ":" + sn, rs.ToString()); Assert.AreEqual(rs, new RefSpec(rs.ToString())); Core.Ref r = new Unpeeled(Storage.Loose, sn, null); Assert.IsTrue(rs.MatchSource(r)); Assert.IsTrue(rs.MatchDestination(r)); Assert.AreSame(rs, rs.ExpandFromSource(r)); r = new Unpeeled(Storage.Loose, sn + "-and-more", null); Assert.IsFalse(rs.MatchSource(r)); Assert.IsFalse(rs.MatchDestination(r)); }