diff options
author | Shawn O. Pearce <sop@google.com> | 2010-08-21 17:55:29 -0700 |
---|---|---|
committer | Shawn O. Pearce <sop@google.com> | 2010-08-21 17:57:30 -0700 |
commit | b6adfc74c31cc21245d037b2950c6f8deca9824a (patch) | |
tree | 5b2288259a466389bf30a514d20cf19756518f07 | |
parent | cbfb04f0810f47fd4390c2aff0761f457479cd79 (diff) |
Fix clearing of topic during replace
When uploading a replacement patch set to a change that already has
a topic tag, we don't want to clear the topic if the user hasn't
specified it on the command line.
Bug: issue 676
Change-Id: I89c6b7290dab7bbf37c15cad11004fa886e80a7e
Signed-off-by: Shawn O. Pearce <sop@google.com>
-rw-r--r-- | gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java index fbcdc09043..a3140ec8a6 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java @@ -620,12 +620,11 @@ public class ReceiveCommits implements PreReceiveHook, PostReceiveHook { if (split < destBranchName.length()) { destTopicName = destBranchName.substring(split + 1); + if (destTopicName.isEmpty()) { + destTopicName = null; + } } else { - // We use empty string here to denote the topic wasn't - // supplied, but the caller used the syntax that allows - // for a topic to be given. - // - destTopicName = ""; + destTopicName = null; } destBranch = new Branch.NameKey(project.getNameKey(), // destBranchName.substring(0, split)); @@ -876,7 +875,7 @@ public class ReceiveCommits implements PreReceiveHook, PostReceiveHook { final Change change = new Change(changeKey, new Change.Id(db.nextChangeId()), me, destBranch); - change.setTopic(destTopicName.isEmpty() ? null : destTopicName); + change.setTopic(destTopicName); change.nextPatchSetId(); final PatchSet ps = new PatchSet(change.currPatchSetId()); @@ -1177,9 +1176,7 @@ public class ReceiveCommits implements PreReceiveHook, PostReceiveHook { public Change update(Change change) { if (change.getStatus().isOpen()) { if (destTopicName != null) { - change.setTopic(destTopicName.isEmpty() // - ? null // - : destTopicName); + change.setTopic(destTopicName); } change.setStatus(Change.Status.NEW); change.setCurrentPatchSet(result.info); |