James Moger
2012-10-02 1f52c8b5f123b97fc631465479bc2855c12b9ee3
src/com/gitblit/GitBlit.java
@@ -2637,14 +2637,19 @@
    * 
    * @param repository
    * @param user
    * @return true, if successful
    * @return the repository model of the fork, if successful
    * @throws GitBlitException
    */
   public boolean fork(RepositoryModel repository, UserModel user) {
   public RepositoryModel fork(RepositoryModel repository, UserModel user) throws GitBlitException {
      String cloneName = MessageFormat.format("~{0}/{1}.git", user.username, StringUtils.stripDotGit(StringUtils.getLastPathElement(repository.name)));
      String fromUrl = MessageFormat.format("file://{0}/{1}", repositoriesFolder.getAbsolutePath(), repository.name);
      try {
         // clone the repository
      try {
         JGitUtils.cloneRepository(repositoriesFolder, cloneName, fromUrl, true, null);
      } catch (Exception e) {
         throw new GitBlitException(e);
      }
         
         // create a Gitblit repository model for the clone
         RepositoryModel cloneModel = repository.cloneAs(cloneName);
@@ -2671,10 +2676,6 @@
         
         // add this clone to the cached model
         addToCachedRepositoryList(cloneModel.name, cloneModel);
         return true;
      } catch (Exception e) {
         logger.error("failed to fork", e);
      }
      return false;
      return cloneModel;
   }
}