mirror of
https://github.com/scm-manager/scm-manager.git
synced 2026-02-27 00:40:51 +01:00
Fix double /trunk folder bug
With this change, every repository initializer gets its own modification command and therefore its own commit. This allows each initializer to decide on its own, if he want to use the default path of the repository.
This commit is contained in:
@@ -60,18 +60,19 @@ public class RepositoryInitializer {
|
||||
|
||||
public void initialize(Repository repository, Map<String, JsonNode> contextEntries) {
|
||||
try (RepositoryService service = serviceFactory.create(repository)) {
|
||||
ModifyCommandBuilder modifyCommandBuilder = service.getModifyCommand();
|
||||
|
||||
InitializerContextImpl initializerContext = new InitializerContextImpl(repository, modifyCommandBuilder, contextEntries);
|
||||
|
||||
for (RepositoryContentInitializer initializer : contentInitializers) {
|
||||
ModifyCommandBuilder modifyCommandBuilder = service.getModifyCommand();
|
||||
InitializerContextImpl initializerContext = new InitializerContextImpl(repository, modifyCommandBuilder, contextEntries);
|
||||
|
||||
initializer.initialize(initializerContext);
|
||||
|
||||
if (!modifyCommandBuilder.isEmpty()) {
|
||||
modifyCommandBuilder.setCommitMessage("initialize repository");
|
||||
String revision = modifyCommandBuilder.execute();
|
||||
LOG.info("initialized repository {} as revision {}", repository, revision);
|
||||
}
|
||||
}
|
||||
|
||||
modifyCommandBuilder.setCommitMessage("initialize repository");
|
||||
String revision = modifyCommandBuilder.execute();
|
||||
LOG.info("initialized repository {} as revision {}", repository, revision);
|
||||
|
||||
} catch (IOException e) {
|
||||
throw new InternalRepositoryException(repository, "failed to initialize repository", e);
|
||||
}
|
||||
@@ -109,6 +110,11 @@ public class RepositoryInitializer {
|
||||
public RepositoryContentInitializer.CreateFile create(String path) {
|
||||
return new CreateFileImpl(this, builder.useDefaultPath(true).createFile(path).setOverwrite(true));
|
||||
}
|
||||
|
||||
@Override
|
||||
public RepositoryContentInitializer.CreateFile createWithDefaultPath(String path, boolean useDefaultPath) {
|
||||
return new CreateFileImpl(this, builder.useDefaultPath(useDefaultPath).createFile(path).setOverwrite(true));
|
||||
}
|
||||
}
|
||||
|
||||
private static class CreateFileImpl implements RepositoryContentInitializer.CreateFile {
|
||||
|
||||
Reference in New Issue
Block a user