I'm maintaining a large(ish) repo for production deployments of various software like Apache httpd, OpenSSL, etc.
What I have is a [vendor] branch for the vanilla vendor software (ie: httpd-2.2.27.tar.gz), and "feature branches" for configuration/tweaks (ie: [redhat_build] for building for redhat hosts). Working with a model of this setup, it was interesting to me that if I: b1 b2 | / | / <--- divergent, no common artifacts. |/ . [origin, trunk] b1 branch == the [trunk] we're all familiar with b2 == my [vendor] Premise: I commit a file "myfile" to trunk (let's say contents are "I'm in trunk!"), then checkout origin (an initial empty commit), and then create a file "myfile" (contents: "I'm in vendor!"), and commit --branch vendor. If I "f co trunk; f merge vendor", I'll get a "no common ancestors" warning (which is expected), but *also* no change to "myfile". I don't know what the expect here per se, so I can't say it was unexpected. If I then "f co vendor; echo "another line" >> myfile; fossil ci -m 'update on vendor'" then "f co trunk;fossil merge vendor" the effect (in [trunk], remember) is a file: ==== I'm in trunk! another line ==== I thought the effect was neat, and it's a bit different than how I usually handle vendor branches (where I usually create a vendor branch and immediately merge into trunk, then their inextricably linked from the beginning of their lives as artifacts. Interesting enough I thought I'd share. -bch _______________________________________________ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users