From e53859a0dae19e08d43194ce3523ab556f08a6bf Mon Sep 17 00:00:00 2001 From: Edwin Kempin Date: Wed, 1 Jul 2015 16:19:52 +0200 Subject: [PATCH] Fix wrong date/time for commits in refs/meta/config branch When the refs/meta/config branch is modified using the PutConfig REST endpoint (e.g. when changing the project configuration in the web UI) the commit date/time is wrong. Instead of the actual date/time the date/time of the last Gerrit server start is used. This is because MetaDataUpdate.User which gets the GerritPersonIdent injected is kept as member in the PutConfig singleton and the date/time for commits in the refs/meta/config branch is retrieved from that GerritPersonIdent instance which is only created once when the PutConfig singleton is instantiated. Bug: Issue 3371 Change-Id: I85424db74e8609c8e4117e8db78a80730c29ace1 Signed-off-by: Edwin Kempin --- .../java/com/google/gerrit/server/project/PutConfig.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/PutConfig.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/PutConfig.java index 27e7b1b75f..f22fb1e73a 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/PutConfig.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/PutConfig.java @@ -74,7 +74,7 @@ public class PutConfig implements RestModifyView { public Map> pluginConfigValues; } - private final MetaDataUpdate.User metaDataUpdateFactory; + private final Provider metaDataUpdateFactory; private final ProjectCache projectCache; private final GitRepositoryManager gitMgr; private final ProjectState.Factory projectStateFactory; @@ -87,7 +87,7 @@ public class PutConfig implements RestModifyView { private final ChangeHooks hooks; @Inject - PutConfig(MetaDataUpdate.User metaDataUpdateFactory, + PutConfig(Provider metaDataUpdateFactory, ProjectCache projectCache, GitRepositoryManager gitMgr, ProjectState.Factory projectStateFactory, @@ -131,7 +131,7 @@ public class PutConfig implements RestModifyView { final MetaDataUpdate md; try { - md = metaDataUpdateFactory.create(projectName); + md = metaDataUpdateFactory.get().create(projectName); } catch (RepositoryNotFoundException notFound) { throw new ResourceNotFoundException(projectName.get()); } catch (IOException e) {