On 6/13/2017 12:52 PM, Joerg Sonnenberger wrote:
On Tue, Jun 13, 2017 at 12:17:46PM -0500, The Tick wrote:
Given a repository based on a previously fetched version of some software
package and having been modified with local changes, what is the best way to
update to a more recent version of the upstream package?

The best approach is still to kind of emulate what CVS is doing with
vendor branches. It works best if you start from scratch, but with some
work it can be fixed up later:

- Create a branch off the initial empty commit for this package.
- Put the sources into the correct subdirectory, addremove.
- Commit, possibly with a tag including the package name and version.
- Now merge that branch into trunk.
- Commit local changes on top.

If you want to update:

- Checkout the branch.
- Remove all files, put the sources into the correct subdirectory,
  addremove.
- Commit.
- Merge the branch into trunk.
- Fix any conflicts.


Thanks, that is what I was looking for. I've set up a test respository and things look good until I get to the final "merge" step:

$ f init F.fossil
$ f open F.fossil
$ f add project
$ f commit --tag 1.5 --branch Official
$ f tag add --propagate Official 0dd97cd973

$ f co trunk
$ f add project
$ f commit

#Make some local changes

$ f commit

At this point things look pretty good. I've got a branch "Official" and my "trunk" has my local changes. Now I download the latest official version.

$ f co Official
# Remove all files and unpack newest upstream version
# I guess I do an "addremove" here.
$ f commit --tag 1.6

Again, things are looking good. I've got the latest upstream version into branch "Official"

$ f co trunk

Now, how do I "merge"?

$ f merge -n Official
WARNING: no common ancestor for project/graph1.tcl
WARNING: no common ancestor for project/graph2.tcl
REMINDER: this was a dry run - no files were actually changed.
$ f merge -n 1.6
WARNING: no common ancestor for project/graph1.tcl
WARNING: no common ancestor for project/graph2.tcl
REMINDER: this was a dry run - no files were actually changed.
MSYS2 /tmp/f
$ f merge -n a85895dba5
WARNING: no common ancestor for project/graph1.tcl
WARNING: no common ancestor for project/graph2.tcl
REMINDER: this was a dry run - no files were actually changed.


_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to