<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/Documentation/git-rev-parse.txt, branch v2.14.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.14.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.14.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2017-06-01T01:37:42Z</updated>
<entry>
<title>doc: rewrite description for rev-parse --short</title>
<updated>2017-06-01T01:37:42Z</updated>
<author>
<name>Andreas Heiduk</name>
<email>asheiduk@gmail.com</email>
</author>
<published>2017-05-31T21:39:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=fb87327aeed9c0079266e74b80d46b0119142601'/>
<id>urn:sha1:fb87327aeed9c0079266e74b80d46b0119142601</id>
<content type='text'>
`git rev-parse --short` is not a generic modifier but just a variant
of `--verify` and considers the given length only as a suggestion to
ensure uniqueness.

Signed-off-by: Andreas Heiduk &lt;asheiduk@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>rev-parse: add --show-superproject-working-tree</title>
<updated>2017-03-08T23:52:03Z</updated>
<author>
<name>Stefan Beller</name>
<email>sbeller@google.com</email>
</author>
<published>2017-03-08T23:07:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=bf0231c66140be5194ac76a4a9f79e949c588293'/>
<id>urn:sha1:bf0231c66140be5194ac76a4a9f79e949c588293</id>
<content type='text'>
In some situations it is useful to know if the given repository
is a submodule of another repository.

Add the flag --show-superproject-working-tree to git-rev-parse
to make it easy to find out if there is a superproject. When no
superproject exists, the output will be empty.

Signed-off-by: Stefan Beller &lt;sbeller@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>rev-parse: add '--absolute-git-dir' option</title>
<updated>2017-02-04T06:18:41Z</updated>
<author>
<name>SZEDER Gábor</name>
<email>szeder.dev@gmail.com</email>
</author>
<published>2017-02-03T02:48:23Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a2f5a8762693d5af6dbbca714d882a21d7ba0b75'/>
<id>urn:sha1:a2f5a8762693d5af6dbbca714d882a21d7ba0b75</id>
<content type='text'>
The output of 'git rev-parse --git-dir' can be either a relative or an
absolute path, depending on whether the current working directory is
at the top of the worktree or the .git directory or not, or how the
path to the repository is specified via the '--git-dir=&lt;path&gt;' option
or the $GIT_DIR environment variable.  And if that output is a
relative path, then it is relative to the directory where any 'git
-C &lt;path&gt;' options might have led us.

This doesn't matter at all for regular scripts, because the git
wrapper automatically takes care of changing directories according to
the '-C &lt;path&gt;' options, and the scripts can then simply follow any
path returned by 'git rev-parse --git-dir', even if it's a relative
path.

Our Bash completion script, however, is unique in that it must run
directly in the user's interactive shell environment.  This means that
it's not executed through the git wrapper and would have to take care
of any '-C &lt;path&gt; options on its own, and it can't just change
directories as it pleases.  Consequently, adding support for taking
any '-C &lt;path&gt;' options on the command line into account during
completion turned out to be considerably more difficult, error prone
and required more subshells and git processes when it had to cope with
a relative path to the .git directory.

Help this rather special use case and teach 'git rev-parse' a new
'--absolute-git-dir' option which always outputs a canonicalized
absolute path to the .git directory, regardless of whether the path is
discovered automatically or is specified via $GIT_DIR or 'git
--git-dir=&lt;path&gt;'.

Signed-off-by: SZEDER Gábor &lt;szeder.dev@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>rev-parse doc: pass "--" to rev-parse in the --prefix example</title>
<updated>2017-01-10T21:22:19Z</updated>
<author>
<name>Richard Hansen</name>
<email>hansenr@google.com</email>
</author>
<published>2017-01-10T20:41:50Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=11873b438faa13ff1416741bb48dbdaa8a6cc083'/>
<id>urn:sha1:11873b438faa13ff1416741bb48dbdaa8a6cc083</id>
<content type='text'>
The "--" argument avoids "ambiguous argument: unknown revision or
path not in the working tree" errors when a pathname argument refers
to a non-existent file.

The "--" passed explicitly to set was removed because rev-parse
outputs the "--" argument that it is given.

Signed-off-by: Richard Hansen &lt;hansenr@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>rev-parse --parseopt: allow [*=?!] in argument hints</title>
<updated>2015-07-15T17:30:54Z</updated>
<author>
<name>Ilya Bobyr</name>
<email>ilya.bobyr@gmail.com</email>
</author>
<published>2015-07-14T08:17:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=2d893dff4c3c49750557da7a1701b46c1fe95844'/>
<id>urn:sha1:2d893dff4c3c49750557da7a1701b46c1fe95844</id>
<content type='text'>
A line in the input to "rev-parse --parseopt" describes an option by
listing a short and/or long name, optional flags [*=?!], argument hint,
and then whitespace and help string.

We did not allow any of the [*=?!] characters in the argument hints.
The following input

    pair=key=value  equals sign in the hint

used to generate a help line like this:

    --pair=key &lt;value&gt;   equals sign in the hint

and used to expect "pair=key" as the argument name.

That is not very helpful as we generally do not want any of the [*=?!]
characters in the argument names.  But we do want to use at least the
equals sign in the argument hints.

Update the parser to make long argument names stop at the first [*=?!]
character.

Add test case with equals sign in the argument hint and update the test
to perform all the operations in test_expect_success matching the
t/README requirements and allowing commands like

    ./t1502-rev-parse-parseopt.sh --run=1-2

to stop at the test case 2 without any further modification of the test
state area.

Signed-off-by: Ilya Bobyr &lt;ilya.bobyr@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jk/asciidoc-markup-fix'</title>
<updated>2015-05-22T19:41:50Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-05-22T19:41:50Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d1caa5895458443cc9535b6fda6ff8480383471b'/>
<id>urn:sha1:d1caa5895458443cc9535b6fda6ff8480383471b</id>
<content type='text'>
Various documentation mark-up fixes to make the output more
consistent in general and also make AsciiDoctor (an alternative
formatter) happier.

* jk/asciidoc-markup-fix:
  doc: convert AsciiDoc {?foo} to ifdef::foo[]
  doc: put example URLs and emails inside literal backticks
  doc: drop backslash quoting of some curly braces
  doc: convert \--option to --option
  doc/add: reformat `--edit` option
  doc: fix length of underlined section-title
  doc: fix hanging "+"-continuation
  doc: fix unquoted use of "{type}"
  doc: fix misrendering due to `single quote'
</content>
</entry>
<entry>
<title>doc: convert \--option to --option</title>
<updated>2015-05-13T05:14:46Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2015-05-13T05:01:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1c262bb7b2968a8eecca3fed366638e0779184bb'/>
<id>urn:sha1:1c262bb7b2968a8eecca3fed366638e0779184bb</id>
<content type='text'>
Older versions of AsciiDoc would convert the "--" in
"--option" into an emdash. According to 565e135
(Documentation: quote double-dash for AsciiDoc, 2011-06-29),
this is fixed in AsciiDoc 8.3.0. According to bf17126, we
don't support anything older than 8.4.1 anyway, so we no
longer need to worry about quoting.

Even though this does not change the output at all, there
are a few good reasons to drop the quoting:

  1. It makes the source prettier to read.

  2. We don't quote consistently, which may be confusing when
     reading the source.

  3. Asciidoctor does not like the quoting, and renders a
     literal backslash.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>doc: fix unquoted use of "{type}"</title>
<updated>2015-05-13T05:13:40Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2015-05-13T04:58:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b50bfb8fd5357ec7902ff2f4a4fead9dc907f788'/>
<id>urn:sha1:b50bfb8fd5357ec7902ff2f4a4fead9dc907f788</id>
<content type='text'>
Curly braces open an "attribute" in AsciiDoc; if there's no
such attribute, strange things may happen. In this case, the
unquoted "{type}" causes AsciiDoc to omit an entire line of
text from the output. We can fix it by putting the whole
phrase inside literal backticks (which also lets us get rid
of ugly backslash escaping).

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>setup.c: support multi-checkout repo setup</title>
<updated>2014-12-01T19:00:15Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2014-11-30T08:24:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=31e26ebcb512ad234d9725120fb4f5670ff75625'/>
<id>urn:sha1:31e26ebcb512ad234d9725120fb4f5670ff75625</id>
<content type='text'>
The repo setup procedure is updated to detect $GIT_DIR/commondir and
set $GIT_COMMON_DIR properly.

The core.worktree is ignored when $GIT_COMMON_DIR is set. This is
because the config file is shared in multi-checkout setup, but
checkout directories _are_ different. Making core.worktree effective
in all checkouts mean it's back to a single checkout.

Helped-by: Johannes Sixt &lt;j6t@kdbg.org&gt;
Signed-off-by: Nguyễn Thái Ngọc Duy &lt;pclouds@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git_path(): be aware of file relocation in $GIT_DIR</title>
<updated>2014-12-01T19:00:11Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2014-11-30T08:24:31Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=557bd833bb4e2bd1f109f6f911ab517b6ba3d27a'/>
<id>urn:sha1:557bd833bb4e2bd1f109f6f911ab517b6ba3d27a</id>
<content type='text'>
We allow the user to relocate certain paths out of $GIT_DIR via
environment variables, e.g. GIT_OBJECT_DIRECTORY, GIT_INDEX_FILE and
GIT_GRAFT_FILE. Callers are not supposed to use git_path() or
git_pathdup() to get those paths. Instead they must use
get_object_directory(), get_index_file() and get_graft_file()
respectively. This is inconvenient and could be missed in review (for
example, there's git_path("objects/info/alternates") somewhere in
sha1_file.c).

This patch makes git_path() and git_pathdup() understand those
environment variables. So if you set GIT_OBJECT_DIRECTORY to /foo/bar,
git_path("objects/abc") should return /foo/bar/abc. The same is done
for the two remaining env variables.

"git rev-parse --git-path" is the wrapper for script use.

This patch kinda reverts a0279e1 (setup_git_env: use git_pathdup
instead of xmalloc + sprintf - 2014-06-19) because using git_pathdup
here would result in infinite recursion:

  setup_git_env() -&gt; git_pathdup("objects") -&gt; .. -&gt; adjust_git_path()
  -&gt; get_object_directory() -&gt; oops, git_object_directory is NOT set
  yet -&gt; setup_git_env()

I wanted to make git_pathdup_literal() that skips adjust_git_path().
But that won't work because later on when $GIT_COMMON_DIR is
introduced, git_pathdup_literal("objects") needs adjust_git_path() to
replace $GIT_DIR with $GIT_COMMON_DIR.

Signed-off-by: Nguyễn Thái Ngọc Duy &lt;pclouds@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
