Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

Highlight the existence of git 'tree' object type to distinguish it (e.g. from file system tree) #239

Merged
merged 1 commit into from

4 participants

@dsbonev

No description provided.

@jnavila
Collaborator

And rewording it like :

When you create the commit by running git commit, Git checksums each subdirectory list (in this case, just the root project directory) and stores those as tree objects in the Git repository. Git then creates a commit object that has the metadata and a pointer to the root project tree so it can re-create that snapshot when needed.

@GArik

Not a typo.

And rewording it like :

When you create the commit by running git commit, Git checksums each subdirectory list (in this case, just the root project directory)

What is "subdirectory list"?

@jnavila
Collaborator

It is the list of the content of subdir. Yes, maybe expanding the phrase as "Git checksums the list of the content of each subdirectory" would be better. A pity that the only people concerned by rewordings are not native english speakers...

@GArik

"Git checksums the list of the content of each subdirectory"

Doesn't seem correct to me as well. Really, the figure below this paragraph explains what is stored better then words :)

A pity that the only people concerned by rewordings are not native english speakers...

Yeah. I think we can leave this part alone until someone will write a better description.

@tundramonkey

Agreed. Just swooping in from Code Triage, but I'd suggest a complete rewriting of the paragraph if you find it that confusing (git is, so not arguing with you, but as a native English speaker it seemed alright to me, so perhaps the person who felt that might be the issue could re-write the entire paragraph segment and submit it. Otherwise, I think we should close this issue.

@dsbonev

How about this way:

By running git commit Git checksums each directory and each file and stores those as tree and blob object types respectively in the Git repository. Git then creates a commit object type that has the metadata and a pointer to the root project tree object so it can re-create that snapshot when needed.

@tundramonkey

Sounds good to me. Ship it!... =]

@GArik

The new variant is not perfectly correct IMO. On git commit Git checksums only project's subdirectories. Files are checksummed on git add.

By running git commit Git checksums

I think that dropping "When you create the commit" part makes the sentence incorrect.

tree and blob object types
commit object type

Doesn't look correct either.

@jnavila
Collaborator

Seems OK to me.

@jnavila jnavila merged commit c267f27 into progit:master
@harupong harupong referenced this pull request in harupong/progit
Open

[進捗]本家コミット取り込み状況追跡用 Issue #4

15 of 32 tasks complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Feb 27, 2013
  1. @dsbonev

    highlight the existence of git 'tree' object type to distinguish it (…

    dsbonev authored
    …e.g. from file system tree)
This page is out of date. Refresh to see the latest.
Showing with 1 addition and 1 deletion.
  1. +1 −1  en/03-git-branching/01-chapter3.markdown
View
2  en/03-git-branching/01-chapter3.markdown
@@ -15,7 +15,7 @@ To visualize this, let’s assume that you have a directory containing three fil
$ git add README test.rb LICENSE
$ git commit -m 'initial commit of my project'
-When you create the commit by running `git commit`, Git checksums each subdirectory (in this case, just the root project directory) and stores those tree objects in the Git repository. Git then creates a commit object that has the metadata and a pointer to the root project tree so it can re-create that snapshot when needed.
+Running `git commit` checksums all project directories and stores them as `tree` objects in the Git repository. Git then creates a `commit` object that has the metadata and a pointer to the root project `tree` object so it can re-create that snapshot when needed.
Your Git repository now contains five objects: one blob for the contents of each of your three files, one tree that lists the contents of the directory and specifies which file names are stored as which blobs, and one commit with the pointer to that root tree and all the commit metadata. Conceptually, the data in your Git repository looks something like Figure 3-1.
Something went wrong with that request. Please try again.