also sprach Teemu Ikonen <[EMAIL PROTECTED]> [2008.09.30.1431 +0200]: > This would indicate that bases are managed by merging (which naturally > can be a fast-forward merge) and not rebasing or otherwise rewriting > history. The same applies for topic branches, which are merged to the > latest base (and not rebased).
topgit never rebases, by design. What happens on tg-update is that for every out-of-date dependency, it is merged into top-bases/$name, and then top-bases/$name is merged into $name. This causes top-bases/$name to point to a commit with a tree that has all dependencies merged and up-to-date, and $name has a tree with all dependencies and the changes tracked in $name. Thus, tg-patch just diffs the two to get the patch. I love it! tg-tag would simply tag the tip and the current top-base, and then tg-patch, when given a tag, would not diff tip to top-base, but the pair of tags. At the time when I created topgit 0.2-1, the debian/locations branch was at 355c550 and its base at 6433286. Thus, the patch was: git diff 6433286 355c550 | filterdiff -p1 -x .top\* (the .top* files have to be removed, which tg-patch automates). -- .''`. martin f. krafft <[EMAIL PROTECTED]> : :' : proud Debian developer, author, administrator, and user `. `'` http://people.debian.org/~madduck - http://debiansystem.info `- Debian - when you have better things to do than fixing systems "out of the crooked timber of humanity, no straight thing was ever made." -- imanuel kant
digital_signature_gpg.asc
Description: Digital signature (see http://martin-krafft.net/gpg/)