<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/t/t7400-submodule-basic.sh, branch v2.3.7</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.3.7</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.3.7'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2015-03-05T21:13:10Z</updated>
<entry>
<title>Merge branch 'ps/submodule-sanitize-path-upon-add' into maint</title>
<updated>2015-03-05T21:13:10Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-03-05T21:13:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3630be2749819b79de917a77c6627e3f84c00a11'/>
<id>urn:sha1:3630be2749819b79de917a77c6627e3f84c00a11</id>
<content type='text'>
"git submodule add" failed to squash "path/to/././submodule" to
"path/to/submodule".

* ps/submodule-sanitize-path-upon-add:
  git-submodule.sh: fix '/././' path normalization
</content>
</entry>
<entry>
<title>git-submodule.sh: fix '/././' path normalization</title>
<updated>2015-02-02T20:35:16Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2015-01-30T15:14:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8196e728955a084303e99affff2ebc1120112516'/>
<id>urn:sha1:8196e728955a084303e99affff2ebc1120112516</id>
<content type='text'>
When we add a new submodule the path of the submodule is being
normalized. We fail to normalize multiple adjacent '/./', though.
Thus 'path/to/././submodule' will become 'path/to/./submodule' where
it should be 'path/to/submodule' instead.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Acked-by: Jens Lehmann &lt;Jens.Lehmann@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>t: prefer "git config --file" to GIT_CONFIG</title>
<updated>2014-03-21T21:26:55Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2014-03-20T23:17:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f7e87141011fc55f8267ea76d3cc016ee87f9053'/>
<id>urn:sha1:f7e87141011fc55f8267ea76d3cc016ee87f9053</id>
<content type='text'>
Doing:

  GIT_CONFIG=foo git config ...

is equivalent to:

  git config --file=foo ...

The latter is easier to read and slightly less error-prone,
because of issues with one-shot variables and shell
functions (e.g., you cannot use the former with
test_must_fail).

Note that we explicitly leave one case in t1300 which checks
the same operation on both GIT_CONFIG and "git config
--file". They are equivalent in the code these days, but
this will make sure it remains so.

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>Merge branch 'jk/trailing-slash-in-pathspec'</title>
<updated>2013-10-17T22:55:14Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2013-10-17T22:55:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=be98d915bec9aadcf746192ce0c5ddc19926b8bb'/>
<id>urn:sha1:be98d915bec9aadcf746192ce0c5ddc19926b8bb</id>
<content type='text'>
Code refactoring.

* jk/trailing-slash-in-pathspec:
  reset: handle submodule with trailing slash
  rm: re-use parse_pathspec's trailing-slash removal
</content>
</entry>
<entry>
<title>Merge branch 'tb/precompose-autodetect-fix'</title>
<updated>2013-09-17T18:39:59Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2013-09-17T18:39:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f2ded0f807da72d2bac8cdb7f332a91f5ea5ee72'/>
<id>urn:sha1:f2ded0f807da72d2bac8cdb7f332a91f5ea5ee72</id>
<content type='text'>
On MacOS X, we detected if the filesystem needs the "pre-composed
unicode strings" workaround, but did not automatically enable it.
Now we do.

* tb/precompose-autodetect-fix:
  Set core.precomposeunicode to true on e.g. HFS+
</content>
</entry>
<entry>
<title>reset: handle submodule with trailing slash</title>
<updated>2013-09-13T19:37:35Z</updated>
<author>
<name>John Keeping</name>
<email>john@keeping.me.uk</email>
</author>
<published>2013-09-12T19:25:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=2c63d6eb46da4ef0abc9c040c927818e437d2fcc'/>
<id>urn:sha1:2c63d6eb46da4ef0abc9c040c927818e437d2fcc</id>
<content type='text'>
When using tab-completion, a directory path will often end with a
trailing slash which currently confuses "git reset" when dealing with
submodules.  Now that we have parse_pathspec we can easily handle this
by simply adding the PATHSPEC_STRIP_SUBMODULE_SLASH_CHEAP flag.

To do this, we need to move the read_cache() call before the
parse_pathspec() call.  All of the existing paths through cmd_reset()
that do not die early already call read_cache() at some point, so there
is no performance impact to doing this in the common case.

Signed-off-by: John Keeping &lt;john@keeping.me.uk&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jl/submodule-mv'</title>
<updated>2013-09-09T21:36:15Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2013-09-09T21:36:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b02f5aeda6f66ac3be9b2e35f9b237d4f1f80d73'/>
<id>urn:sha1:b02f5aeda6f66ac3be9b2e35f9b237d4f1f80d73</id>
<content type='text'>
"git mv A B" when moving a submodule A does "the right thing",
inclusing relocating its working tree and adjusting the paths in
the .gitmodules file.

* jl/submodule-mv: (53 commits)
  rm: delete .gitmodules entry of submodules removed from the work tree
  mv: update the path entry in .gitmodules for moved submodules
  submodule.c: add .gitmodules staging helper functions
  mv: move submodules using a gitfile
  mv: move submodules together with their work trees
  rm: do not set a variable twice without intermediate reading.
  t6131 - skip tests if on case-insensitive file system
  parse_pathspec: accept :(icase)path syntax
  pathspec: support :(glob) syntax
  pathspec: make --literal-pathspecs disable pathspec magic
  pathspec: support :(literal) syntax for noglob pathspec
  kill limit_pathspec_to_literal() as it's only used by parse_pathspec()
  parse_pathspec: preserve prefix length via PATHSPEC_PREFIX_ORIGIN
  parse_pathspec: make sure the prefix part is wildcard-free
  rename field "raw" to "_raw" in struct pathspec
  tree-diff: remove the use of pathspec's raw[] in follow-rename codepath
  remove match_pathspec() in favor of match_pathspec_depth()
  remove init_pathspec() in favor of parse_pathspec()
  remove diff_tree_{setup,release}_paths
  convert common_prefix() to use struct pathspec
  ...
</content>
</entry>
<entry>
<title>Merge branch 'jl/some-submodule-config-are-not-boolean'</title>
<updated>2013-09-04T19:36:51Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2013-09-04T19:36:51Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5fb0e0868c25d4be66ead46992c393ed5f91c2d1'/>
<id>urn:sha1:5fb0e0868c25d4be66ead46992c393ed5f91c2d1</id>
<content type='text'>
* jl/some-submodule-config-are-not-boolean:
  avoid segfault on submodule.*.path set to an empty "true"
</content>
</entry>
<entry>
<title>Set core.precomposeunicode to true on e.g. HFS+</title>
<updated>2013-08-27T14:41:32Z</updated>
<author>
<name>Torsten Bögershausen</name>
<email>tboegi@web.de</email>
</author>
<published>2013-08-27T13:50:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=92b0c8bed0d3f6ed5442e3ffa178413772faa31b'/>
<id>urn:sha1:92b0c8bed0d3f6ed5442e3ffa178413772faa31b</id>
<content type='text'>
When core.precomposeunicode was introduced in 76759c7d,
it was set to false on a unicode decomposing file system like HFS+
to be compatible with older versions of Git.

The Mac OS users need to find out that this configuration exist
and change it manually from false to true.

A smoother workflow can be achieved,
so set core.precomposeunicode to true on a decomposing file system.

Signed-off-by: Torsten Bögershausen &lt;tboegi@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>avoid segfault on submodule.*.path set to an empty "true"</title>
<updated>2013-08-19T20:47:56Z</updated>
<author>
<name>Jharrod LaFon</name>
<email>jlafon@eyesopen.com</email>
</author>
<published>2013-08-19T16:26:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4b05440283350ec3b01afabe847d9ce5cf4cbdb7'/>
<id>urn:sha1:4b05440283350ec3b01afabe847d9ce5cf4cbdb7</id>
<content type='text'>
Git fails due to a segmentation fault if a submodule path is empty.
Here is an example .gitmodules that will cause a segmentation fault:

    [submodule "foo-module"]
      path
      url = http://host/repo.git
    $ git status
    Segmentation fault (core dumped)

This is because the parsing of "submodule.*.path" is not prepared to
see a value-less "true" and assumes that the value is always
non-NULL (parsing of "ignore" has the same problem).

Fix it by checking the NULL-ness of value and complain with
config_error_nonbool().

Signed-off-by: Jharrod LaFon &lt;jlafon@eyesopen.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
