On 09/28/2011 09:12 AM, Andrew Ardill wrote: > On 28 September 2011 14:23, Michael Haggerty <mhagger@xxxxxxxxxxxx> wrote: > [snip] >> >> [1] If the retention of annotation history were considered a >> requirement, the annotation object could record as a "parent" the object >> name of the annotation object that it is succeeding. But I don't think >> that this is a good idea; it would make branches too heavyweight and >> every branch update would be recorded permanently, both of which are >> contrary to the git philosophy. > > If this was required, a better way would be to update the parent object only > if the description changed. You would then have a nice little DAG that > records changes to the description and could be used in 3-way merges etc. > You would of course get lots of 'dead' annotation objects pointing to the > previous change, however that shouldn't be too much of an issue. > > At this point, however, I ask how is an annotation object any different to > placing an annotation file in our repository. Perhaps there is no difference, > except that one is a convention and the other is provided. Yes, if history is being preserved, then the annotation objects would not be much different than storing a file in the repository. But even then, there are differences: - A branch annotation would be separate from the source code and not appear in the working tree, which seems more appropriate for metadata. - git and other tools would know where to find the annotation instead of having to configure whether a particular project uses annotations and if so where to find them. This would make it easier to use the annotations in git workflow like the generation of pull requests. - The merge rules for annotations would be different than those for other files. But I believe that branch annotation history should *not* be retained, so storing the annotations in the source tree is not even an option (except perhaps in another artificial branch used only for annotations). Michael -- Michael Haggerty mhagger@xxxxxxxxxxxx http://softwareswirl.blogspot.com/ -- 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