aboutsummaryrefslogtreecommitdiff
path: root/write-tree.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-24 22:56:58 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-24 22:56:58 -0700
commit9de48752fedc4923502c522af0e1f5b94c5fea2e (patch)
tree5fa9dc8ce4813f3433c65d14da5b99ae899e9119 /write-tree.c
parent023d66ed7b397c811a0693f34851d8590b69247b (diff)
downloadgit-9de48752fedc4923502c522af0e1f5b94c5fea2e.tar.gz
git-9de48752fedc4923502c522af0e1f5b94c5fea2e.tar.xz
git-rev-list: add option to list all objects (not just commits)
When you do git-rev-list --objects $(git-rev-parse HEAD^..HEAD) it now lists not only the "commit difference" between the parent of HEAD and HEAD itself (which is normally just the parent, but in the case of a merge will be all the newly merged commits), but also all the new tree and blob objects that weren't in the original. NOTE! It doesn't walk all the way to the root, so it doesn't do a full object search in the full old history. Instead, it will only look as far back in the history as it needs to resolve the commits. Thus, if the commit reverts a blob (or tree) back to a state much further back in history, we may end up listing some blobs (or trees) as "new" even though they exist further back. Regardless, the list of objects will be a superset (usually exact) list of objects needed to go from the beginning commit to ending commit. As a particularly obvious special case, git-rev-list --objects HEAD will end up listing every single object that is reachable from the HEAD commit. Side note: the objects are sorted by "recency", with commits first.
Diffstat (limited to 'write-tree.c')
0 files changed, 0 insertions, 0 deletions