Hi, On Mon, Sep 15, 2008 at 10:01:31AM +0200, Michael Radziej wrote: > I wonder about the .topmsg and .topdeps files. Why is this information > within the topic branch? It tends to get into the way even though a special > merge driver is provided. For example, you cannot do octopus merges (which I > found very confusing as first-time user). what do octopus merge have to do with that? If these files prevent octopus merges somehow, I think that'd be a Git bug. (TopGit making octopus merges whenever possible is deep on my mental TODO list.) > And it might also confuse people > cloning a TopGit repository and want to use a topgit branch. They might not > be aware of these special TopGit things. They need to be properly educated by whoever gives them the clone URL. Using TopGit branches outside of TopGit is still dangerous - they have *unholy* history and they are not really suitable for non-TopGit merging etc. If TopGit users want non-TopGit users to use their work, they should tg export. > I'd rather have a dedicated branched named e.g. 'TopGit' which includes the > information that is currently in .topmsg and .topdeps, but for all branches > in a repository. This was indeed a difficult design decision, perhaps the most major one I had to make. Both approaches have their pros and cons, and in the end I chose the .top* files mainly to keep the changes atomicity - if you revert your branch to older version, your .topmsg and .topdeps are rewound appropriately as well, and if you change something in your branch that affects your topmessage, these changes are connected appropriately. Also, you do not need to use special tools to edit your top message and merges are much simpler than if you had to merge two people's work on a single branch (besides, the merge semantics of the TopGit branch would be really, really nasty, perhaps downright impossible to specify properly). Hmm, well, oops. Merging of two people's work on a single branch is broken right now anyway, because we unconditionally use our 'ours' merge driver in these cases. I wonder how to fix this best... swapping two gitattributes files in .git/info/attributes during tg update seems like the only solution to me. -- Petr "Pasky" Baudis The next generation of interesting software will be done on the Macintosh, not the IBM PC. -- Bill Gates -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html