tikhomirov@170: /* tikhomirov@170: * Copyright (c) 2011 TMate Software Ltd tikhomirov@170: * tikhomirov@170: * This program is free software; you can redistribute it and/or modify tikhomirov@170: * it under the terms of the GNU General Public License as published by tikhomirov@170: * the Free Software Foundation; version 2 of the License. tikhomirov@170: * tikhomirov@170: * This program is distributed in the hope that it will be useful, tikhomirov@170: * but WITHOUT ANY WARRANTY; without even the implied warranty of tikhomirov@170: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the tikhomirov@170: * GNU General Public License for more details. tikhomirov@170: * tikhomirov@170: * For information on how to redistribute this software under tikhomirov@170: * the terms of a license other than GNU General Public License tikhomirov@170: * contact TMate Software at support@hg4j.com tikhomirov@170: */ tikhomirov@170: package org.tmatesoft.hg.repo; tikhomirov@170: tikhomirov@170: import java.io.File; tikhomirov@171: import java.net.URL; tikhomirov@171: import java.util.Collections; tikhomirov@170: import java.util.List; tikhomirov@170: tikhomirov@170: import org.tmatesoft.hg.core.HgException; tikhomirov@170: import org.tmatesoft.hg.core.Nodeid; tikhomirov@170: tikhomirov@170: /** tikhomirov@170: * WORK IN PROGRESS, DO NOT USE tikhomirov@170: * tikhomirov@170: * @see http://mercurial.selenic.com/wiki/WireProtocol tikhomirov@170: * tikhomirov@170: * @author Artem Tikhomirov tikhomirov@170: * @author TMate Software Ltd. tikhomirov@170: */ tikhomirov@170: public class HgRemoteRepository { tikhomirov@171: tikhomirov@171: HgRemoteRepository(URL url) { tikhomirov@171: } tikhomirov@171: tikhomirov@171: public List heads() { tikhomirov@172: return Collections.singletonList(Nodeid.fromAscii("71ddbf8603e8e09d54ac9c5fe4bb5ae824589f1d")); tikhomirov@172: // return Collections.emptyList(); tikhomirov@171: } tikhomirov@171: tikhomirov@171: public List between(Nodeid base, Nodeid tip) { tikhomirov@171: return Collections.emptyList(); tikhomirov@171: } tikhomirov@171: tikhomirov@171: public List branches(List nodes) { tikhomirov@171: return Collections.emptyList(); tikhomirov@171: } tikhomirov@170: tikhomirov@170: // WireProtocol wiki: roots = a list of the latest nodes on every service side changeset branch that both the client and server know about. tikhomirov@170: public HgBundle getChanges(List roots) throws HgException { tikhomirov@170: return new HgLookup().loadBundle(new File("/temp/hg/hg-bundle-000000000000-gz.tmp")); tikhomirov@170: } tikhomirov@171: tikhomirov@171: public static final class RemoteBranch { tikhomirov@171: public final Nodeid head, root, p1, p2; tikhomirov@171: tikhomirov@171: public RemoteBranch(Nodeid h, Nodeid r, Nodeid parent1, Nodeid parent2) { tikhomirov@171: head = h; tikhomirov@171: root = r; tikhomirov@171: p1 = parent1; tikhomirov@171: p2 = parent2; tikhomirov@171: } tikhomirov@171: tikhomirov@171: @Override tikhomirov@171: public boolean equals(Object obj) { tikhomirov@171: if (this == obj) { tikhomirov@171: return true; tikhomirov@171: } tikhomirov@171: if (false == obj instanceof RemoteBranch) { tikhomirov@171: return false; tikhomirov@171: } tikhomirov@171: RemoteBranch o = (RemoteBranch) obj; tikhomirov@171: return head.equals(o.head) && root.equals(o.root) && (p1 == null && o.p1 == null || p1.equals(o.p1)) && (p2 == null && o.p2 == null || p2.equals(o.p2)); tikhomirov@171: } tikhomirov@171: } tikhomirov@170: }