fix handling of pending changesets during pre receive repository hooks

This commit is contained in:
Sebastian Sdorra
2013-08-07 10:09:14 +02:00
parent e2172a66f9
commit 23dfcd97ae
3 changed files with 23 additions and 1 deletions

View File

@@ -310,6 +310,24 @@ public class HgRepositoryHandler
return diffViewer; return diffViewer;
} }
/**
* Method description
*
*
* @return
*/
public HgContext getHgContext()
{
HgContext context = hgContextProvider.get();
if (context == null)
{
context = new HgContext();
}
return context;
}
/** /**
* Method description * Method description
* *

View File

@@ -76,7 +76,8 @@ public class HgCommandContext implements Closeable
HgRepositoryHandler handler, sonia.scm.repository.Repository repository, HgRepositoryHandler handler, sonia.scm.repository.Repository repository,
File directory) File directory)
{ {
this(hookManager, handler, repository, directory, false); this(hookManager, handler, repository, directory,
handler.getHgContext().isPending());
} }
/** /**

View File

@@ -30,6 +30,7 @@
*/ */
package sonia.scm.repository.spi; package sonia.scm.repository.spi;
//~--- non-JDK imports -------------------------------------------------------- //~--- non-JDK imports --------------------------------------------------------
@@ -52,6 +53,7 @@ import org.junit.rules.TemporaryFolder;
import sonia.scm.AbstractTestBase; import sonia.scm.AbstractTestBase;
import sonia.scm.repository.ChangesetPagingResult; import sonia.scm.repository.ChangesetPagingResult;
import sonia.scm.repository.HgConfig; import sonia.scm.repository.HgConfig;
import sonia.scm.repository.HgContext;
import sonia.scm.repository.HgRepositoryHandler; import sonia.scm.repository.HgRepositoryHandler;
import sonia.scm.repository.HgTestUtil; import sonia.scm.repository.HgTestUtil;
import sonia.scm.user.User; import sonia.scm.user.User;
@@ -104,6 +106,7 @@ public abstract class IncomingOutgoingTestBase extends AbstractTestBase
when(handler.getDirectory(outgoingRepository)).thenReturn( when(handler.getDirectory(outgoingRepository)).thenReturn(
outgoingDirectory); outgoingDirectory);
when(handler.getConfig()).thenReturn(temp.getConfig()); when(handler.getConfig()).thenReturn(temp.getConfig());
when(handler.getHgContext()).thenReturn(new HgContext());
} }
//~--- set methods ---------------------------------------------------------- //~--- set methods ----------------------------------------------------------