tikhomirov@409: /* tikhomirov@409: * Copyright (c) 2012 TMate Software Ltd tikhomirov@409: * tikhomirov@409: * This program is free software; you can redistribute it and/or modify tikhomirov@409: * it under the terms of the GNU General Public License as published by tikhomirov@409: * the Free Software Foundation; version 2 of the License. tikhomirov@409: * tikhomirov@409: * This program is distributed in the hope that it will be useful, tikhomirov@409: * but WITHOUT ANY WARRANTY; without even the implied warranty of tikhomirov@409: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the tikhomirov@409: * GNU General Public License for more details. tikhomirov@409: * tikhomirov@409: * For information on how to redistribute this software under tikhomirov@409: * the terms of a license other than GNU General Public License tikhomirov@409: * contact TMate Software at support@hg4j.com tikhomirov@409: */ tikhomirov@409: package org.tmatesoft.hg.internal; tikhomirov@409: tikhomirov@409: import org.tmatesoft.hg.util.PathRewrite; tikhomirov@409: tikhomirov@409: /** tikhomirov@409: * Translate windows path separators to Unix/POSIX-style tikhomirov@409: * tikhomirov@409: * @author Artem Tikhomirov tikhomirov@423: * @author TMate Software Ltd. tikhomirov@409: */ tikhomirov@409: public final class WinToNixPathRewrite implements PathRewrite { tikhomirov@409: public CharSequence rewrite(CharSequence p) { tikhomirov@409: // TODO handle . and .. (although unlikely to face them from GUI client) tikhomirov@409: String path = p.toString(); tikhomirov@409: path = path.replace('\\', '/').replace("//", "/"); tikhomirov@409: if (path.startsWith("/")) { tikhomirov@409: path = path.substring(1); tikhomirov@409: } tikhomirov@409: return path; tikhomirov@409: } tikhomirov@409: }