From: Jakub Narebski <jnareb@gmail.com>
To: esr@thyrsus.com
Cc: Jacob Helwig <jacob.helwig@gmail.com>,
Eric Raymond <esr@snark.thyrsus.com>,
git@vger.kernel.org
Subject: Re: Status of all files (was: Re: How can I tell if a file is ignored by git?
Date: Fri, 09 Apr 2010 05:56:09 -0700 (PDT) [thread overview]
Message-ID: <m3sk74hjkg.fsf@localhost.localdomain> (raw)
In-Reply-To: <20100409113248.GB27353@thyrsus.com>
Eric Raymond <esr@thyrsus.com> writes:
> Jacob Helwig <jacob.helwig@gmail.com>:
> > On Thu, Apr 8, 2010 at 21:04, Eric Raymond <esr@snark.thyrsus.com> wrote:
> > > I'm planning some work on Emacs VC mode.
> > >
> > > I need a command I can run on a path to tell if it's ignored by git.
> >
> > What about a variant of:
> > git ls-files -i -o --exclude-standard
>
> That will do nicely, thank you.
>
> There could be something better. Emacs VC mode, and other similar
> front ends, would be greatly aided by a command that lists all files,
> each with a status code it can understand.
There is also
git status --short
> Our canonical list (omitting two that apply only to locking systems)
> is:
>
> 'up-to-date The working file is unmodified with respect to the
> latest version on the current branch, and not locked.
In Git you don't have locking, but you have three versions: in the
working area (the working file), in the index, and latest version on
the current branch (the HEAD version).
So 'up-to-date in Git would probably mean working tree = cached = HEAD
version.
>
> 'edited The working file has been edited by the user.
Does this include stat-dirty files, i.e. if file has been modified
(mtime), but the contents is the same in working file and in HEAD
version? See also 'git update-index --refresh' etc.
>
> 'needs-update The file has not been edited by the user, but there is
> a more recent version on the current branch stored
> in the master file.
Needs *update* looks like it came from centralized VCS like CVS and
Subversion, where you use update-the-commit method. You can't say
that HEAD version is more recent that working file...
The rought equivalent would be that upstream branch for current branch
(e.g. 'origin/master' can be upstream for 'master' branch) is in
fast-forward state i.e. current branch is direct ancestor of
corresponding upstream branch, and the file was modified upstream.
>
> 'needs-merge The file has been edited by the user, and there is also
> a more recent version on the current branch stored in
> the master file. This state can only occur if locking
> is not used for the file.
This, like 'needs-update, looks like it is relevant only in
update-the-commit workflow centralized VCS.
>
> 'added Scheduled to go into the repository on the next commit.
>
> 'removed Scheduled to be deleted from the repository on next commit.
>
> 'conflict The file contains conflicts as the result of a merge.
Note that with Git you can have other merge conflict than simple
CONFLICT(contents). With CONFLICT(rename/rename) for example the file
would not contain textual conflict, so e.g. it won't have conflict
markers, etc.
>
> 'missing The file is not present in the file system, but the VC
> system still tracks it.
Note that file might be missing only in working directory, and can be
missing both in working directory and the index (staging area).
>
> 'ignored The file showed up in a dir-status listing with a flag
> indicating the version-control system is ignoring it,
>
> 'unregistered The file is not under version control.
[...]
> I am unclear on what your "unmerged" (M) status means.
Probably 'conflict.
--
Jakub Narebski
Poland
ShadeHawk on #git
next prev parent reply other threads:[~2010-04-09 12:56 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-09 4:04 How can I tell if a file is ignored by git? Eric Raymond
2010-04-09 4:10 ` Jacob Helwig
2010-04-09 11:32 ` Status of all files (was: " Eric Raymond
2010-04-09 12:11 ` Randal L. Schwartz
2010-04-09 13:20 ` Eric Raymond
2010-04-10 19:07 ` Junio C Hamano
2010-04-09 12:56 ` Jakub Narebski [this message]
2010-04-09 14:02 ` Eric Raymond
2010-04-09 14:23 ` Matthieu Moy
2010-04-09 16:24 ` Eric Raymond
[not found] ` <z2h62a3a9cb1004091615q52bd5f5aqc24079de7f0038ba@mail.gmail.com>
2010-04-09 23:18 ` Daniel Grace
2010-04-10 3:35 ` Eric Raymond
2010-04-09 16:52 ` Junio C Hamano
2010-04-09 14:50 ` Jakub Narebski
2010-04-10 22:12 ` Status of all files Paolo Bonzini
2010-04-11 10:25 ` Jeff King
2010-04-09 4:50 ` How can I tell if a file is ignored by git? Ramkumar Ramachandra
2010-04-09 5:01 ` Ævar Arnfjörð Bjarmason
2010-04-09 10:50 ` Eric Raymond
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m3sk74hjkg.fsf@localhost.localdomain \
--to=jnareb@gmail.com \
--cc=esr@snark.thyrsus.com \
--cc=esr@thyrsus.com \
--cc=git@vger.kernel.org \
--cc=jacob.helwig@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.