Commit 981cb7c
committed
#1145: persist commit fields in MkCommits.create
MkCommits.create(JsonObject) used to delegate straight to get(sha) without
applying any Directives, so the commit node was never inserted into the
mock storage XML. Any subsequent call to MkCommit.json() (or any other
method that reads from the storage) raised NodeNotFoundException because
the XPath /github/repos/repo/git/commits/commit[sha=...] selected nothing.
The fix walks the input JsonObject and writes every key as an element
under the new <commit> node, mirroring how MkBranches.create and
MkReferences.create persist their inputs. Arrays are stored with the
@array attribute that JsonNode already understands, so MkCommit.json()
round-trips them as JsonArray. Nested objects (e.g. author) are stored
as nested elements.1 parent 7c70469 commit 981cb7c
1 file changed
Lines changed: 51 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
| 16 | + | |
15 | 17 | | |
| 18 | + | |
16 | 19 | | |
17 | 20 | | |
18 | 21 | | |
| |||
74 | 77 | | |
75 | 78 | | |
76 | 79 | | |
77 | | - | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
78 | 102 | | |
79 | 103 | | |
80 | 104 | | |
| |||
91 | 115 | | |
92 | 116 | | |
93 | 117 | | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
94 | 144 | | |
0 commit comments