Fossil SCM

Document more consequences of the merge parent-merge child relationship not recorded for private branches.

florian 2022-10-18 13:32 trunk
Commit 3b719a96145243759fe3bba7dc1e907c02ef3b097c6db0f04402c2fbd5cf4941
1 file changed +13
--- www/private.wiki
+++ www/private.wiki
@@ -50,10 +50,23 @@
5050
and generate a missing artifact reference on repository clones without that
5151
private branch. It's still possible to close the leaf of the private branch
5252
(after committing the merge child) with the <code>fossil amend --close</code>
5353
command.
5454
55
+<blockquote><small>
56
+Side note: For the same reason, i.e. so as not to generate a missing artifact
57
+reference on peer repositories without the private branch, the merge parent
58
+is not recorded when merging the private branch into a public branch. As a
59
+consequence, the web UI timeline does not draw a merge line from the private
60
+merge parent to the public merge child. Moreover, repeat private-to-public
61
+merge operations (without the [/help?cmd=merge | --force option]) with files
62
+added on the private branch may only work once, but later abort with
63
+"WARNING: no common ancestor for FILE", as the parent-child relationship is
64
+not recorded (see the [/doc/trunk/www/branching.wiki | Branching, Forking,
65
+Merging, and Tagging] document for more information).
66
+</small></blockquote>
67
+
5568
<h2>Syncing Private Branches</h2>
5669
5770
A private branch normally stays on the one repository where it was
5871
originally created. But sometimes you want to share private branches
5972
with another repository. For example, you might be building a cross-platform
6073
--- www/private.wiki
+++ www/private.wiki
@@ -50,10 +50,23 @@
50 and generate a missing artifact reference on repository clones without that
51 private branch. It's still possible to close the leaf of the private branch
52 (after committing the merge child) with the <code>fossil amend --close</code>
53 command.
54
 
 
 
 
 
 
 
 
 
 
 
 
 
55 <h2>Syncing Private Branches</h2>
56
57 A private branch normally stays on the one repository where it was
58 originally created. But sometimes you want to share private branches
59 with another repository. For example, you might be building a cross-platform
60
--- www/private.wiki
+++ www/private.wiki
@@ -50,10 +50,23 @@
50 and generate a missing artifact reference on repository clones without that
51 private branch. It's still possible to close the leaf of the private branch
52 (after committing the merge child) with the <code>fossil amend --close</code>
53 command.
54
55 <blockquote><small>
56 Side note: For the same reason, i.e. so as not to generate a missing artifact
57 reference on peer repositories without the private branch, the merge parent
58 is not recorded when merging the private branch into a public branch. As a
59 consequence, the web UI timeline does not draw a merge line from the private
60 merge parent to the public merge child. Moreover, repeat private-to-public
61 merge operations (without the [/help?cmd=merge | --force option]) with files
62 added on the private branch may only work once, but later abort with
63 "WARNING: no common ancestor for FILE", as the parent-child relationship is
64 not recorded (see the [/doc/trunk/www/branching.wiki | Branching, Forking,
65 Merging, and Tagging] document for more information).
66 </small></blockquote>
67
68 <h2>Syncing Private Branches</h2>
69
70 A private branch normally stays on the one repository where it was
71 originally created. But sometimes you want to share private branches
72 with another repository. For example, you might be building a cross-platform
73

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button