Fossil SCM
Add the new special name start:BRANCH to refer to the first check-in of the branch.
Commit
fab8d922154df9e54a3b6b0ef0ba4328ec1a833cdaf37c46895d7c9909303f09
Parent
287d13f3911a1e8…
3 files changed
+9
-1
+2
+5
+9
-1
| --- src/name.c | ||
| +++ src/name.c | ||
| @@ -261,10 +261,11 @@ | ||
| 261 | 261 | ** * "next" |
| 262 | 262 | ** |
| 263 | 263 | ** The following modifier prefixes may be applied to the above forms: |
| 264 | 264 | ** |
| 265 | 265 | ** * "root:BR" = The origin of the branch named BR. |
| 266 | +** * "start:BR" = The first check-in of the branch named BR. | |
| 266 | 267 | ** * "merge-in:BR" = The most recent merge-in for the branch named BR. |
| 267 | 268 | ** |
| 268 | 269 | ** In those forms, BR may be any symbolic form but is assumed to be a |
| 269 | 270 | ** checkin. Thus root:2021-02-01 would resolve to a checkin, possibly |
| 270 | 271 | ** in a branch and possibly in the trunk, but never a wiki edit or |
| @@ -378,11 +379,18 @@ | ||
| 378 | 379 | /* root:BR -> The origin of the branch named BR */ |
| 379 | 380 | if( strncmp(zTag, "root:", 5)==0 ){ |
| 380 | 381 | rid = symbolic_name_to_rid(zTag+5, zType); |
| 381 | 382 | return start_of_branch(rid, 0); |
| 382 | 383 | } |
| 383 | - /* merge-in:BR -> Most recent merge-in for the branch name BR */ | |
| 384 | + | |
| 385 | + /* start:BR -> The first check-in on branch named BR */ | |
| 386 | + if( strncmp(zTag, "start:", 6)==0 ){ | |
| 387 | + rid = symbolic_name_to_rid(zTag+6, zType); | |
| 388 | + return start_of_branch(rid, 1); | |
| 389 | + } | |
| 390 | + | |
| 391 | + /* merge-in:BR -> Most recent merge-in for the branch named BR */ | |
| 384 | 392 | if( strncmp(zTag, "merge-in:", 9)==0 ){ |
| 385 | 393 | rid = symbolic_name_to_rid(zTag+9, zType); |
| 386 | 394 | return start_of_branch(rid, 2); |
| 387 | 395 | } |
| 388 | 396 | |
| 389 | 397 |
| --- src/name.c | |
| +++ src/name.c | |
| @@ -261,10 +261,11 @@ | |
| 261 | ** * "next" |
| 262 | ** |
| 263 | ** The following modifier prefixes may be applied to the above forms: |
| 264 | ** |
| 265 | ** * "root:BR" = The origin of the branch named BR. |
| 266 | ** * "merge-in:BR" = The most recent merge-in for the branch named BR. |
| 267 | ** |
| 268 | ** In those forms, BR may be any symbolic form but is assumed to be a |
| 269 | ** checkin. Thus root:2021-02-01 would resolve to a checkin, possibly |
| 270 | ** in a branch and possibly in the trunk, but never a wiki edit or |
| @@ -378,11 +379,18 @@ | |
| 378 | /* root:BR -> The origin of the branch named BR */ |
| 379 | if( strncmp(zTag, "root:", 5)==0 ){ |
| 380 | rid = symbolic_name_to_rid(zTag+5, zType); |
| 381 | return start_of_branch(rid, 0); |
| 382 | } |
| 383 | /* merge-in:BR -> Most recent merge-in for the branch name BR */ |
| 384 | if( strncmp(zTag, "merge-in:", 9)==0 ){ |
| 385 | rid = symbolic_name_to_rid(zTag+9, zType); |
| 386 | return start_of_branch(rid, 2); |
| 387 | } |
| 388 | |
| 389 |
| --- src/name.c | |
| +++ src/name.c | |
| @@ -261,10 +261,11 @@ | |
| 261 | ** * "next" |
| 262 | ** |
| 263 | ** The following modifier prefixes may be applied to the above forms: |
| 264 | ** |
| 265 | ** * "root:BR" = The origin of the branch named BR. |
| 266 | ** * "start:BR" = The first check-in of the branch named BR. |
| 267 | ** * "merge-in:BR" = The most recent merge-in for the branch named BR. |
| 268 | ** |
| 269 | ** In those forms, BR may be any symbolic form but is assumed to be a |
| 270 | ** checkin. Thus root:2021-02-01 would resolve to a checkin, possibly |
| 271 | ** in a branch and possibly in the trunk, but never a wiki edit or |
| @@ -378,11 +379,18 @@ | |
| 379 | /* root:BR -> The origin of the branch named BR */ |
| 380 | if( strncmp(zTag, "root:", 5)==0 ){ |
| 381 | rid = symbolic_name_to_rid(zTag+5, zType); |
| 382 | return start_of_branch(rid, 0); |
| 383 | } |
| 384 | |
| 385 | /* start:BR -> The first check-in on branch named BR */ |
| 386 | if( strncmp(zTag, "start:", 6)==0 ){ |
| 387 | rid = symbolic_name_to_rid(zTag+6, zType); |
| 388 | return start_of_branch(rid, 1); |
| 389 | } |
| 390 | |
| 391 | /* merge-in:BR -> Most recent merge-in for the branch named BR */ |
| 392 | if( strncmp(zTag, "merge-in:", 9)==0 ){ |
| 393 | rid = symbolic_name_to_rid(zTag+9, zType); |
| 394 | return start_of_branch(rid, 2); |
| 395 | } |
| 396 | |
| 397 |
+2
| --- www/changes.wiki | ||
| +++ www/changes.wiki | ||
| @@ -14,10 +14,12 @@ | ||
| 14 | 14 | * Add the new "[/help?cmd=describe|fossil describe]" command. |
| 15 | 15 | * Markdown subsystem extended with [../src/markdown.md#ftnts|footnotes support]. |
| 16 | 16 | See corresponding [../test/markdown-test3.md|test cases], |
| 17 | 17 | [/wiki?name=branch/markdown-footnotes#il|known limitations] and |
| 18 | 18 | [forum:/forumthread/ee1f1597e46ec07a|discussion]. |
| 19 | + * Add the new special name "start:BRANCH" to refer to the first check-in of | |
| 20 | + the branch. | |
| 19 | 21 | |
| 20 | 22 | <h2 id='v2_18'>Changes for version 2.18 (2022-02-23)</h2> |
| 21 | 23 | * Added support for [./ssl-server.md|SSL/TLS server mode] for commands |
| 22 | 24 | like "[/help?cmd=server|fossil server]" and "[/help?cmd=http|fossil http]" |
| 23 | 25 | * The new [/help?cmd=cherry-pick|cherry-pick command] is an alias for |
| 24 | 26 |
| --- www/changes.wiki | |
| +++ www/changes.wiki | |
| @@ -14,10 +14,12 @@ | |
| 14 | * Add the new "[/help?cmd=describe|fossil describe]" command. |
| 15 | * Markdown subsystem extended with [../src/markdown.md#ftnts|footnotes support]. |
| 16 | See corresponding [../test/markdown-test3.md|test cases], |
| 17 | [/wiki?name=branch/markdown-footnotes#il|known limitations] and |
| 18 | [forum:/forumthread/ee1f1597e46ec07a|discussion]. |
| 19 | |
| 20 | <h2 id='v2_18'>Changes for version 2.18 (2022-02-23)</h2> |
| 21 | * Added support for [./ssl-server.md|SSL/TLS server mode] for commands |
| 22 | like "[/help?cmd=server|fossil server]" and "[/help?cmd=http|fossil http]" |
| 23 | * The new [/help?cmd=cherry-pick|cherry-pick command] is an alias for |
| 24 |
| --- www/changes.wiki | |
| +++ www/changes.wiki | |
| @@ -14,10 +14,12 @@ | |
| 14 | * Add the new "[/help?cmd=describe|fossil describe]" command. |
| 15 | * Markdown subsystem extended with [../src/markdown.md#ftnts|footnotes support]. |
| 16 | See corresponding [../test/markdown-test3.md|test cases], |
| 17 | [/wiki?name=branch/markdown-footnotes#il|known limitations] and |
| 18 | [forum:/forumthread/ee1f1597e46ec07a|discussion]. |
| 19 | * Add the new special name "start:BRANCH" to refer to the first check-in of |
| 20 | the branch. |
| 21 | |
| 22 | <h2 id='v2_18'>Changes for version 2.18 (2022-02-23)</h2> |
| 23 | * Added support for [./ssl-server.md|SSL/TLS server mode] for commands |
| 24 | like "[/help?cmd=server|fossil server]" and "[/help?cmd=http|fossil http]" |
| 25 | * The new [/help?cmd=cherry-pick|cherry-pick command] is an alias for |
| 26 |
| --- www/checkin_names.wiki | ||
| +++ www/checkin_names.wiki | ||
| @@ -8,10 +8,11 @@ | ||
| 8 | 8 | <li> Branch name |
| 9 | 9 | <li> Tag name |
| 10 | 10 | <li> Timestamp: <i>YYYY-MM-DD HH:MM:SS</i> |
| 11 | 11 | <li> <i>tag-name</i> <big><b>:</b></big> <i>timestamp</i> |
| 12 | 12 | <li> <b>root <big>:</big></b> <i>branchname</i> |
| 13 | +<li> <b>start <big>:</big></b> <i>branchname</i> | |
| 13 | 14 | <li> <b>merge-in <big>:</big></b> <i>branchname</i> |
| 14 | 15 | <li> Special names: |
| 15 | 16 | <ul> |
| 16 | 17 | <li> <b>tip</b> |
| 17 | 18 | <li> <b>current</b> |
| @@ -234,10 +235,13 @@ | ||
| 234 | 235 | the most recent merge-in point for that branch. |
| 235 | 236 | The resulting diff will then show only the changes in |
| 236 | 237 | the branch itself, omitting |
| 237 | 238 | any changes that have already been merged in from the parent branch. |
| 238 | 239 | |
| 240 | +<a id="start"></a> | |
| 241 | +The prefix "<tt>start:</tt>" gives the first check-in of the named branch. | |
| 242 | + | |
| 239 | 243 | The prefixes "<tt>root:</tt>" and "<tt>merge-in:</tt>" can be chained: one |
| 240 | 244 | can say for example |
| 241 | 245 | |
| 242 | 246 | <blockquote><tt> |
| 243 | 247 | fossil info merge-in:xyzzy:2022-03-01 |
| @@ -299,12 +303,13 @@ | ||
| 299 | 303 | |
| 300 | 304 | # Exact matches on [#special | the special names] |
| 301 | 305 | # [#timestamps | Timestamps], with preference to ISO8601 forms |
| 302 | 306 | # [#tagpfx | tag:TAGNAME] |
| 303 | 307 | # [#root | root:BRANCH] |
| 308 | + # [#start | start:BRANCH] | |
| 304 | 309 | # [#merge-in | merge-in:BRANCH] |
| 305 | 310 | # [#tag-ts | TAGNAME:timestamp] |
| 306 | 311 | # Full artifact hash or hash prefix. |
| 307 | 312 | # Any other type of symbolic name that Fossil extracts from |
| 308 | 313 | artifacts. |
| 309 | 314 | |
| 310 | 315 | <div style="height:50em" id="this-space-intentionally-left-blank"></div> |
| 311 | 316 |
| --- www/checkin_names.wiki | |
| +++ www/checkin_names.wiki | |
| @@ -8,10 +8,11 @@ | |
| 8 | <li> Branch name |
| 9 | <li> Tag name |
| 10 | <li> Timestamp: <i>YYYY-MM-DD HH:MM:SS</i> |
| 11 | <li> <i>tag-name</i> <big><b>:</b></big> <i>timestamp</i> |
| 12 | <li> <b>root <big>:</big></b> <i>branchname</i> |
| 13 | <li> <b>merge-in <big>:</big></b> <i>branchname</i> |
| 14 | <li> Special names: |
| 15 | <ul> |
| 16 | <li> <b>tip</b> |
| 17 | <li> <b>current</b> |
| @@ -234,10 +235,13 @@ | |
| 234 | the most recent merge-in point for that branch. |
| 235 | The resulting diff will then show only the changes in |
| 236 | the branch itself, omitting |
| 237 | any changes that have already been merged in from the parent branch. |
| 238 | |
| 239 | The prefixes "<tt>root:</tt>" and "<tt>merge-in:</tt>" can be chained: one |
| 240 | can say for example |
| 241 | |
| 242 | <blockquote><tt> |
| 243 | fossil info merge-in:xyzzy:2022-03-01 |
| @@ -299,12 +303,13 @@ | |
| 299 | |
| 300 | # Exact matches on [#special | the special names] |
| 301 | # [#timestamps | Timestamps], with preference to ISO8601 forms |
| 302 | # [#tagpfx | tag:TAGNAME] |
| 303 | # [#root | root:BRANCH] |
| 304 | # [#merge-in | merge-in:BRANCH] |
| 305 | # [#tag-ts | TAGNAME:timestamp] |
| 306 | # Full artifact hash or hash prefix. |
| 307 | # Any other type of symbolic name that Fossil extracts from |
| 308 | artifacts. |
| 309 | |
| 310 | <div style="height:50em" id="this-space-intentionally-left-blank"></div> |
| 311 |
| --- www/checkin_names.wiki | |
| +++ www/checkin_names.wiki | |
| @@ -8,10 +8,11 @@ | |
| 8 | <li> Branch name |
| 9 | <li> Tag name |
| 10 | <li> Timestamp: <i>YYYY-MM-DD HH:MM:SS</i> |
| 11 | <li> <i>tag-name</i> <big><b>:</b></big> <i>timestamp</i> |
| 12 | <li> <b>root <big>:</big></b> <i>branchname</i> |
| 13 | <li> <b>start <big>:</big></b> <i>branchname</i> |
| 14 | <li> <b>merge-in <big>:</big></b> <i>branchname</i> |
| 15 | <li> Special names: |
| 16 | <ul> |
| 17 | <li> <b>tip</b> |
| 18 | <li> <b>current</b> |
| @@ -234,10 +235,13 @@ | |
| 235 | the most recent merge-in point for that branch. |
| 236 | The resulting diff will then show only the changes in |
| 237 | the branch itself, omitting |
| 238 | any changes that have already been merged in from the parent branch. |
| 239 | |
| 240 | <a id="start"></a> |
| 241 | The prefix "<tt>start:</tt>" gives the first check-in of the named branch. |
| 242 | |
| 243 | The prefixes "<tt>root:</tt>" and "<tt>merge-in:</tt>" can be chained: one |
| 244 | can say for example |
| 245 | |
| 246 | <blockquote><tt> |
| 247 | fossil info merge-in:xyzzy:2022-03-01 |
| @@ -299,12 +303,13 @@ | |
| 303 | |
| 304 | # Exact matches on [#special | the special names] |
| 305 | # [#timestamps | Timestamps], with preference to ISO8601 forms |
| 306 | # [#tagpfx | tag:TAGNAME] |
| 307 | # [#root | root:BRANCH] |
| 308 | # [#start | start:BRANCH] |
| 309 | # [#merge-in | merge-in:BRANCH] |
| 310 | # [#tag-ts | TAGNAME:timestamp] |
| 311 | # Full artifact hash or hash prefix. |
| 312 | # Any other type of symbolic name that Fossil extracts from |
| 313 | artifacts. |
| 314 | |
| 315 | <div style="height:50em" id="this-space-intentionally-left-blank"></div> |
| 316 |