Linus Torvalds wrote: > On Tue, 25 Apr 2006, Linus Torvalds wrote: >> >> I want the git objects to have clear and unambiguous semantics. I want >> people to be able to explain exactly what the fields _mean_. No "this >> random field could be used this random way" crud, please. > > Btw, if the whole point is a "leave random porcelain a field that they can > use any way they want", then I say "Hell NO!". The generic commit links "related" which is fsck-able at least and "note" which is not. It is idea somewhat on the level of providing _extended attributes_ in VFS in Linux kernel, IMVHO. "note" can be considere cruft, "related" is fsck-able and pull-able so has meaning for core (even if not all "note" and/or "related" links have any repercussion for merging for example). So far there are following core git ideas of using this feature (akin to using extended attributes for ACL, or SELinux properties): 1. "related" link "bind" for better support of subprojects. Useful if some parts of project are developed independently (e.g. lm_sensors or ALSA was in Linux kernel, xdiff for git, somelibrary or somemodule for someproject etc.). 2. "note" link "cherrypicked" for cherry-picking, rebase etc., for example to not apply the same commit twice. Useful in merging after cherry picking. Additionally there are following less certain ideas 3. "prior" link in the sense of prior state of frequently rebased branch like git's "pu" (case (1) in first post in this thread) 4. "depend" link for creating darc-esque dependency partial ordering of commits (patches), for better merge perhaps 5. "note" link "rename" (or more generic "contents related") for remembering renames/file moving, file splitting, contents moving and copying, including correcting automatic "rename" detection at merge (i.e. remembering false positives and false negatives). Useful in subsequent merges and information commands (log, whatchanged, annotate/blame, diff). 6. "note" link "origin" to remember for where the commit was pulled. Note that none of those are non-core Porcelain ideas. -- Jakub Narebski Warsaw, Poland - : 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