(copy/paste sbeal response in diff't thread) > i looked into that sometime in the past year. In theory, once you can pop the > top-most > commit, you can pop any number (but always from the top). But the devil's in > the details - > getting each and every cross-reference and delta removed/replaced properly is > remarkably > difficult.
Are references "backward", "forward", or both ? What I mean is, roughly, is fossil a doubly linked list, or singly, and if single, what direction? -bch On 10/28/14, Richard Hipp <d...@sqlite.org> wrote: > On Tue, Oct 28, 2014 at 1:31 PM, B Harder <brad.har...@gmail.com> wrote: > >> I would like an option to "pop and discard" from a branch >> tip. Possible? If the repo has been sync'd, then that work would come >> back to you on next sync (that's understood), but if it hasn't been >> sync'd, it could be useful. >> > > To do an "uncommit" for a check-in that has not yet been synced, all you > have to do is identify the particular artifacts that were added by that > commit (the RCVFROM table should be helpful there) and remove them from > the BLOB table of the database (taking care to also fix up the DELTA table > so that it does not depend on any BLOB that you removed). Then rebuild. > > You could perhaps omit the rebuild step if you go to the extra work of > removing the artifacts from the various other tables in the database. Or > maybe you want an "uncommit" to force a "rebuild" in order to make it a > little more painful, and hence discourage its use. I dunno. > > If somebody has a patch for the above, we can look at adding it... > > -- > D. Richard Hipp > d...@sqlite.org > _______________________________________________ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users