Fossil

Check-in [3b719a9614]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Document more consequences of the merge parent-merge child relationship not recorded for private branches.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 3b719a96145243759fe3bba7dc1e907c02ef3b097c6db0f04402c2fbd5cf4941
User & Date: florian 2022-10-18 13:32:00.000
Context
2022-10-18
13:35
For the BUILTIN virtual table, map one-based rowids to zero-based array indices, to fix access to the first entry. ... (check-in: cf563c7217 user: florian tags: trunk)
13:32
Document more consequences of the merge parent-merge child relationship not recorded for private branches. ... (check-in: 3b719a9614 user: florian tags: trunk)
13:31
Cherry-pick [767b175d90]: Avoid references to private check-ins in Q-cards of public check-in manifests. This ensures consistent behavior regarding leakage of private check-in hashes, possibly generating phantoms on peer repositories, for P- and Q-cards. ... (check-in: 52a66829d6 user: florian tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to www/private.wiki.
48
49
50
51
52
53
54













55
56
57
58
59
60
61
check-in manifest of the resulting merge child would include a
<code>+close</code> tag referring to the leaf check-in on the private branch,
and generate a missing artifact reference on repository clones without that
private branch.  It's still possible to close the leaf of the private branch
(after committing the merge child) with the <code>fossil amend --close</code>
command.














<h2>Syncing Private Branches</h2>

A private branch normally stays on the one repository where it was
originally created.  But sometimes you want to share private branches
with another repository.  For example, you might be building a cross-platform
application and have separate repositories on your Windows laptop,
your Linux desktop, and your iMac.  You can transfer private branches







>
>
>
>
>
>
>
>
>
>
>
>
>







48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
check-in manifest of the resulting merge child would include a
<code>+close</code> tag referring to the leaf check-in on the private branch,
and generate a missing artifact reference on repository clones without that
private branch.  It's still possible to close the leaf of the private branch
(after committing the merge child) with the <code>fossil amend --close</code>
command.

<blockquote><small>
Side note: For the same reason, i.e. so as not to generate a missing artifact
reference on peer repositories without the private branch, the merge parent
is not recorded when merging the private branch into a public branch.  As a
consequence, the web UI timeline does not draw a merge line from the private
merge parent to the public merge child.  Moreover, repeat private-to-public
merge operations (without the [/help?cmd=merge | --force option]) with files
added on the private branch may only work once, but later abort with
"WARNING: no common ancestor for FILE", as the parent-child relationship is
not recorded (see the [/doc/trunk/www/branching.wiki | Branching, Forking,
Merging, and Tagging] document for more information).
</small></blockquote>

<h2>Syncing Private Branches</h2>

A private branch normally stays on the one repository where it was
originally created.  But sometimes you want to share private branches
with another repository.  For example, you might be building a cross-platform
application and have separate repositories on your Windows laptop,
your Linux desktop, and your iMac.  You can transfer private branches