tikhomirov@181: /*
tikhomirov@181:  * Copyright (c) 2011 TMate Software Ltd
tikhomirov@181:  *  
tikhomirov@181:  * This program is free software; you can redistribute it and/or modify
tikhomirov@181:  * it under the terms of the GNU General Public License as published by
tikhomirov@181:  * the Free Software Foundation; version 2 of the License.
tikhomirov@181:  *
tikhomirov@181:  * This program is distributed in the hope that it will be useful,
tikhomirov@181:  * but WITHOUT ANY WARRANTY; without even the implied warranty of
tikhomirov@181:  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
tikhomirov@181:  * GNU General Public License for more details.
tikhomirov@181:  *
tikhomirov@181:  * For information on how to redistribute this software under
tikhomirov@181:  * the terms of a license other than GNU General Public License
tikhomirov@181:  * contact TMate Software at support@hg4j.com
tikhomirov@181:  */
tikhomirov@181: package org.tmatesoft.hg.core;
tikhomirov@181: 
tikhomirov@181: import java.util.List;
tikhomirov@181: 
tikhomirov@181: import org.tmatesoft.hg.repo.HgRepository;
tikhomirov@181: import org.tmatesoft.hg.util.CancelledException;
tikhomirov@181: 
tikhomirov@181: /**
tikhomirov@181:  *
tikhomirov@181:  * @author Artem Tikhomirov
tikhomirov@181:  * @author TMate Software Ltd.
tikhomirov@181:  */
tikhomirov@181: public class HgIncomingCommand {
tikhomirov@181: 
tikhomirov@181: 	private final HgRepository repo;
tikhomirov@181: 	private boolean includeSubrepo;
tikhomirov@181: 
tikhomirov@181: 	public HgIncomingCommand(HgRepository hgRepo) {
tikhomirov@181: 	 	repo = hgRepo;
tikhomirov@181: 	}
tikhomirov@181: 
tikhomirov@181: 	/**
tikhomirov@181: 	 * Select specific branch to pull
tikhomirov@181: 	 * @return this for convenience
tikhomirov@181: 	 */
tikhomirov@181: 	public HgIncomingCommand branch(String branch) {
tikhomirov@181: 		throw HgRepository.notImplemented();
tikhomirov@181: 	}
tikhomirov@181: 	
tikhomirov@181: 	/**
tikhomirov@181: 	 * Whether to include sub-repositories when collecting changes, default is true XXX or false?
tikhomirov@181: 	 * @return this for convenience
tikhomirov@181: 	 */
tikhomirov@181: 	public HgIncomingCommand subrepo(boolean include) {
tikhomirov@181: 		includeSubrepo = include;
tikhomirov@181: 		throw HgRepository.notImplemented();
tikhomirov@181: 	}
tikhomirov@181: 
tikhomirov@181: 	/**
tikhomirov@181: 	 * Lightweight check for incoming changes, gives only list of revisions to pull. 
tikhomirov@181: 	 *   
tikhomirov@181: 	 * @param context anything hg4j can use to get progress and/or cancel support
tikhomirov@181: 	 * @return list of nodes present at remote and missing locally
tikhomirov@181: 	 * @throws HgException
tikhomirov@181: 	 * @throws CancelledException
tikhomirov@181: 	 */
tikhomirov@181: 	public List executeLite(Object context) throws HgException, CancelledException {
tikhomirov@181: 		throw HgRepository.notImplemented();
tikhomirov@181: 	}
tikhomirov@181: 
tikhomirov@181: 	/**
tikhomirov@181: 	 * Full information about incoming changes
tikhomirov@181: 	 * 
tikhomirov@181: 	 * @throws HgException
tikhomirov@181: 	 * @throws CancelledException
tikhomirov@181: 	 */
tikhomirov@181: 	public void executeFull(HgLogCommand.Handler handler) throws HgException, CancelledException {
tikhomirov@181: 		throw HgRepository.notImplemented();
tikhomirov@181: 	}
tikhomirov@181: }