@@ -0,0 +1,835 @@
+package hu.sebcsaba.gitrelocate;%0A%0Apublic class App %7B%0A%0A%09public static void main(String%5B%5D args) %7B%0A%09%09if (args.length!=2) %7B%0A%09%09%09System.out.println(%22usage: git-relocate %3Csource%3E %3Cdestination%3E%22);%0A%09%09%09System.out.println(%22will clone all descendant commits of source to destination.%22);%0A%09%09%09System.out.println(%22will move all descendant branches under source to below destination.%22);%0A%09%09%09System.out.println(%22will not touch tags.%22);%0A%09%09%09System.exit(-1);%0A%09%09%7D%0A%09%09new App().run(args%5B0%5D, args%5B1%5D);%0A%09%7D%0A%0A%09public void run(String source, String destination) %7B%0A%09%09CmdLineTool tool = new CmdLineTool();%0A%09%09GitRunner git = new GitCmdLineRunner(tool);%0A%09%09GitRelocate relocator = new GitRelocate(git, new GraphBuilder(git));%0A%09%09CommitID cutPoint = git.getCommitId(source);%0A%09%09CommitID newBase = git.getCommitId(destination);%0A%09%09relocator.relocate(cutPoint,newBase);%0A%09%7D%0A%0A%7D%0A

add App class for main()