* Worktree vs. working copy
@ 2011-09-20 7:50 Carlos Martín Nieto
2011-09-20 10:39 ` Michael Haggerty
2011-09-20 10:56 ` Ramkumar Ramachandra
0 siblings, 2 replies; 7+ messages in thread
From: Carlos Martín Nieto @ 2011-09-20 7:50 UTC (permalink / raw)
To: git
[-- Attachment #1: Type: text/plain, Size: 663 bytes --]
Hello,
I've noticed that in some places in git.git, the term 'working copy' is
used. Mostly it's in git-cvsserver which I guess it's fine, but the
git-config man page talks about the 'working copy' in three places.
$ git grep 'worktree' | wc -l
412
$ git grep 'working copy' | grep -v ^git-cvsserver | wc -l
32
Most of the references to a 'working copy' are in Git.pm, and the
git-gui glossary treats them as the same thing.
Is there some sort of official position, or rough agreement that we
should use woktree instead of working copy? The latter term IMHO implies
a centralised system, where an user gets a copy.
cmn
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 490 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Worktree vs. working copy
2011-09-20 7:50 Worktree vs. working copy Carlos Martín Nieto
@ 2011-09-20 10:39 ` Michael Haggerty
2011-09-20 10:48 ` Nguyen Thai Ngoc Duy
2011-09-20 10:56 ` Ramkumar Ramachandra
1 sibling, 1 reply; 7+ messages in thread
From: Michael Haggerty @ 2011-09-20 10:39 UTC (permalink / raw)
To: Carlos Martín Nieto; +Cc: git
On 09/20/2011 09:50 AM, Carlos Martín Nieto wrote:
> I've noticed that in some places in git.git, the term 'working copy' is
> used. Mostly it's in git-cvsserver which I guess it's fine, but the
> git-config man page talks about the 'working copy' in three places.
>
> $ git grep 'worktree' | wc -l
> 412
> $ git grep 'working copy' | grep -v ^git-cvsserver | wc -l
> 32
Please note that the string "worktree" mostly appears in code
(presumably as variable names) and in the names of options. In text,
"working tree" is far more common than either:
$ git grep -i 'worktree' -- '*.txt' | wc -l
50
$ git grep -i 'working copy' -- '*.txt' | wc -l
6
$ git grep -i 'working tree' -- '*.txt' | wc -l
330
Michael
--
Michael Haggerty
mhagger@alum.mit.edu
http://softwareswirl.blogspot.com/
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Worktree vs. working copy
2011-09-20 10:39 ` Michael Haggerty
@ 2011-09-20 10:48 ` Nguyen Thai Ngoc Duy
0 siblings, 0 replies; 7+ messages in thread
From: Nguyen Thai Ngoc Duy @ 2011-09-20 10:48 UTC (permalink / raw)
To: Michael Haggerty; +Cc: Carlos Martín Nieto, git
On Tue, Sep 20, 2011 at 8:39 PM, Michael Haggerty <mhagger@alum.mit.edu> wrote:
> On 09/20/2011 09:50 AM, Carlos Martín Nieto wrote:
>> I've noticed that in some places in git.git, the term 'working copy' is
>> used. Mostly it's in git-cvsserver which I guess it's fine, but the
>> git-config man page talks about the 'working copy' in three places.
>>
>> $ git grep 'worktree' | wc -l
>> 412
>> $ git grep 'working copy' | grep -v ^git-cvsserver | wc -l
>> 32
>
> Please note that the string "worktree" mostly appears in code
> (presumably as variable names) and in the names of options. In text,
> "working tree" is far more common..
And probably the oldest. It was mentioned in the first version of git
glossary back in 2005, da13981, [PATCH] Add GIT glossary.
--
Duy
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Worktree vs. working copy
2011-09-20 7:50 Worktree vs. working copy Carlos Martín Nieto
2011-09-20 10:39 ` Michael Haggerty
@ 2011-09-20 10:56 ` Ramkumar Ramachandra
2011-09-20 19:10 ` Junio C Hamano
1 sibling, 1 reply; 7+ messages in thread
From: Ramkumar Ramachandra @ 2011-09-20 10:56 UTC (permalink / raw)
To: Carlos Martín Nieto
Cc: git, Nguyễn Thái Ngọc Duy, Michael Haggerty
Hi Carlos,
Carlos Martín Nieto writes:
> [...]
> $ git grep 'worktree' | wc -l
> 412
> $ git grep 'working copy' | grep -v ^git-cvsserver | wc -l
> 32
> [...]
You might like to refer to a related discussion [1].
[1]: http://thread.gmane.org/gmane.comp.version-control.git/159287/focus=160083
-- Ram
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Worktree vs. working copy
2011-09-20 10:56 ` Ramkumar Ramachandra
@ 2011-09-20 19:10 ` Junio C Hamano
2011-09-20 20:25 ` Carlos Martín Nieto
0 siblings, 1 reply; 7+ messages in thread
From: Junio C Hamano @ 2011-09-20 19:10 UTC (permalink / raw)
To: Ramkumar Ramachandra
Cc: Carlos Martín Nieto, git,
Nguyễn Thái Ngọc Duy, Michael Haggerty
Ramkumar Ramachandra <artagnon@gmail.com> writes:
> Hi Carlos,
>
> Carlos Martín Nieto writes:
>> [...]
>> $ git grep 'worktree' | wc -l
>> 412
>> $ git grep 'working copy' | grep -v ^git-cvsserver | wc -l
>> 32
>> [...]
>
> You might like to refer to a related discussion [1].
>
> [1]: http://thread.gmane.org/gmane.comp.version-control.git/159287/focus=160083
Sorry, I do not see "working tree" discussion there. The discussion on
that quoted thread was about remote-tracking branches, no?
Historically, we used to say "working tree" and "worktree" more or less
interchangeably, and over time we tried to update the documentation to use
"working tree" consistently, even though the latter is still seen in
places like "GIT_WORK_TREE" environment variable (which will _not_
change).
But as far as I recall, we have never referred to the working tree
controlled by a git repository as "working copy".
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Worktree vs. working copy
2011-09-20 19:10 ` Junio C Hamano
@ 2011-09-20 20:25 ` Carlos Martín Nieto
2011-09-20 21:45 ` Junio C Hamano
0 siblings, 1 reply; 7+ messages in thread
From: Carlos Martín Nieto @ 2011-09-20 20:25 UTC (permalink / raw)
To: Junio C Hamano
Cc: Ramkumar Ramachandra, git, Nguyễn Thái Ngọc Duy,
Michael Haggerty
[-- Attachment #1: Type: text/plain, Size: 5104 bytes --]
On Tue, 2011-09-20 at 12:10 -0700, Junio C Hamano wrote:
> Ramkumar Ramachandra <artagnon@gmail.com> writes:
>
> > Hi Carlos,
> >
> > Carlos Martín Nieto writes:
> >> [...]
> >> $ git grep 'worktree' | wc -l
> >> 412
> >> $ git grep 'working copy' | grep -v ^git-cvsserver | wc -l
> >> 32
> >> [...]
> >
> > You might like to refer to a related discussion [1].
> >
> > [1]: http://thread.gmane.org/gmane.comp.version-control.git/159287/focus=160083
>
> Sorry, I do not see "working tree" discussion there. The discussion on
> that quoted thread was about remote-tracking branches, no?
>
> Historically, we used to say "working tree" and "worktree" more or less
> interchangeably, and over time we tried to update the documentation to use
> "working tree" consistently, even though the latter is still seen in
> places like "GIT_WORK_TREE" environment variable (which will _not_
> change).
>
> But as far as I recall, we have never referred to the working tree
> controlled by a git repository as "working copy".
The config man page has three mentions, diff-lib.c has one,
merge-recursive.c three and perl/Git.pm nine.
This patch covers the documentation and C code. I'll move the perl code
over if you want, but I'm not sure how well maintained or relevant that
part of the codebase is.
--- 8< ---
Subject: [PATCH] Remove 'working copy' from the documentation and C code
The git term is 'working tree', so replace the most public references
to 'working copy'.
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
---
Documentation/config.txt | 6 +++---
Documentation/git-svn.txt | 2 +-
diff-lib.c | 2 +-
merge-recursive.c | 2 +-
4 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 6b93777..c3f22f3 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -147,7 +147,7 @@ advice.*::
core.fileMode::
If false, the executable bit differences between the index and
- the working copy are ignored; useful on broken filesystems like FAT.
+ the working tree are ignored; useful on broken filesystems like FAT.
See linkgit:git-update-index[1].
+
The default is true, except linkgit:git-clone[1] or linkgit:git-init[1]
@@ -179,7 +179,7 @@ is created.
core.trustctime::
If false, the ctime differences between the index and the
- working copy are ignored; useful when the inode change time
+ working tree are ignored; useful when the inode change time
is regularly modified by something outside Git (file system
crawlers and some backup systems).
See linkgit:git-update-index[1]. True by default.
@@ -292,7 +292,7 @@ core.ignoreStat::
If true, commands which modify both the working tree and the index
will mark the updated paths with the "assume unchanged" bit in the
index. These marked files are then assumed to stay unchanged in the
- working copy, until you mark them otherwise manually - Git will not
+ working tree, until you mark them otherwise manually - Git will not
detect the file changes by lstat() calls. This is useful on systems
where those are very slow, such as Microsoft Windows.
See linkgit:git-update-index[1].
diff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt
index 713e523..4ba6f61 100644
--- a/Documentation/git-svn.txt
+++ b/Documentation/git-svn.txt
@@ -297,7 +297,7 @@ Any other arguments are passed directly to 'git log'
Show what revision and author last modified each line of a file. The
output of this mode is format-compatible with the output of
`svn blame' by default. Like the SVN blame command,
- local uncommitted changes in the working copy are ignored;
+ local uncommitted changes in the working tree are ignored;
the version of the file in the HEAD revision is annotated. Unknown
arguments are passed directly to 'git blame'.
+
diff --git a/diff-lib.c b/diff-lib.c
index 9c29293..c7d33d7 100644
--- a/diff-lib.c
+++ b/diff-lib.c
@@ -289,7 +289,7 @@ static void show_new_file(struct rev_info *revs,
/*
* New file in the index: it might actually be different in
- * the working copy.
+ * the working tree.
*/
if (get_stat_data(new, &sha1, &mode, cached, match_missing,
&dirty_submodule, &revs->diffopt) < 0)
diff --git a/merge-recursive.c b/merge-recursive.c
index db9ba19..0c9f77e 100644
--- a/merge-recursive.c
+++ b/merge-recursive.c
@@ -337,7 +337,7 @@ static void make_room_for_directories_of_df_conflicts(struct merge_options *o,
struct string_list *entries)
{
/* If there are D/F conflicts, and the paths currently exist
- * in the working copy as a file, we want to remove them to
+ * in the working tree as a file, we want to remove them to
* make room for the corresponding directory. Such paths will
* later be processed in process_df_entry() at the end. If
* the corresponding directory ends up being removed by the
--
1.7.5.2.354.g349bf
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 490 bytes --]
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: Worktree vs. working copy
2011-09-20 20:25 ` Carlos Martín Nieto
@ 2011-09-20 21:45 ` Junio C Hamano
0 siblings, 0 replies; 7+ messages in thread
From: Junio C Hamano @ 2011-09-20 21:45 UTC (permalink / raw)
To: Carlos Martín Nieto
Cc: Ramkumar Ramachandra, git, Nguyễn Thái Ngọc Duy,
Michael Haggerty
Carlos Martín Nieto <cmn@elego.de> writes:
> Subject: [PATCH] Remove 'working copy' from the documentation and C code
>
> The git term is 'working tree', so replace the most public references
> to 'working copy'.
>
> Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Thanks.
"working tree" is a term used to collectively call the whole, and I think
all the places in your patch read better with "working tree".
People with background from other systems refer to one particular file in
the working tree as "working copy", I think, but...
> core.fileMode::
> If false, the executable bit differences between the index and
> - the working copy are ignored; useful on broken filesystems like FAT.
> + the working tree are ignored; useful on broken filesystems like FAT.
... this compares "the index and the working tree", meaning each path in
the index and the corresponding file in the working tree (both are taken
as a _collection_), so this rewrite makes perfect sense. The same for
the description for trustctime.
> @@ -292,7 +292,7 @@ core.ignoreStat::
> If true, commands which modify both the working tree and the index
> will mark the updated paths with the "assume unchanged" bit in the
> index. These marked files are then assumed to stay unchanged in the
> - working copy, until you mark them otherwise manually - Git will not
> + working tree, until you mark them otherwise manually - Git will not
This again is "paths in the" working tree, and the term is used as a
collection (good). The same for "git-svn" manpage.
> diff --git a/diff-lib.c b/diff-lib.c
> index 9c29293..c7d33d7 100644
> --- a/diff-lib.c
> +++ b/diff-lib.c
> @@ -289,7 +289,7 @@ static void show_new_file(struct rev_info *revs,
>
> /*
> * New file in the index: it might actually be different in
> - * the working copy.
> + * the working tree.
> */
We are looking at one path, and wondering if it is different "in the"
working tree---again used as a collection (it would have said "it might
actually be different from the working copy" if it referred to an instance
in the collection). The same for the comment in merge-recursive.c.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2011-09-21 12:39 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-09-20 7:50 Worktree vs. working copy Carlos Martín Nieto
2011-09-20 10:39 ` Michael Haggerty
2011-09-20 10:48 ` Nguyen Thai Ngoc Duy
2011-09-20 10:56 ` Ramkumar Ramachandra
2011-09-20 19:10 ` Junio C Hamano
2011-09-20 20:25 ` Carlos Martín Nieto
2011-09-20 21:45 ` Junio C Hamano
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).