<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/dir.h, branch v2.9.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.9.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.9.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2016-05-23T21:54:29Z</updated>
<entry>
<title>Merge branch 'nd/worktree-various-heads'</title>
<updated>2016-05-23T21:54:29Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-05-23T21:54:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=352d72a30e3d113064ebc194f49560eeae34b332'/>
<id>urn:sha1:352d72a30e3d113064ebc194f49560eeae34b332</id>
<content type='text'>
The experimental "multiple worktree" feature gains more safety to
forbid operations on a branch that is checked out or being actively
worked on elsewhere, by noticing that e.g. it is being rebased.

* nd/worktree-various-heads:
  branch: do not rename a branch under bisect or rebase
  worktree.c: check whether branch is bisected in another worktree
  wt-status.c: split bisect detection out of wt_status_get_state()
  worktree.c: check whether branch is rebased in another worktree
  worktree.c: avoid referencing to worktrees[i] multiple times
  wt-status.c: make wt_status_check_rebase() work on any worktree
  wt-status.c: split rebase detection out of wt_status_get_state()
  path.c: refactor and add worktree_git_path()
  worktree.c: mark current worktree
  worktree.c: make find_shared_symref() return struct worktree *
  worktree.c: store "id" instead of "git_dir"
  path.c: add git_common_path() and strbuf_git_common_path()
  dir.c: rename str(n)cmp_icase to fspath(n)cmp
</content>
</entry>
<entry>
<title>dir.c: rename str(n)cmp_icase to fspath(n)cmp</title>
<updated>2016-04-22T21:09:37Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2016-04-22T13:01:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ba0897e6ae6b0b3f259efb31be0f1ab3d820aacf'/>
<id>urn:sha1:ba0897e6ae6b0b3f259efb31be0f1ab3d820aacf</id>
<content type='text'>
These functions compare two paths that are taken from file system.
Depending on the running file system, paths may need to be compared
case-sensitively or not, and maybe even something else in future. The
current names do not convey that well.

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>dir.c: remove dead function fnmatch_icase()</title>
<updated>2016-04-22T21:07:45Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2016-04-22T12:25:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=423b592a06876a90f584884d4381dcf4d41f6b3b'/>
<id>urn:sha1:423b592a06876a90f584884d4381dcf4d41f6b3b</id>
<content type='text'>
It was largely replaced by fnmatch_icase_mem() and its last use was in
84b8b5d (remove match_pathspec() in favor of match_pathspec_depth() -
2013-07-14).

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>Merge branch 'ss/exc-flag-is-a-collection-of-bits' into maint</title>
<updated>2016-04-15T01:37:15Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-04-15T01:37:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9fabc7083275f455ef21123cbdcbdd31b21a8251'/>
<id>urn:sha1:9fabc7083275f455ef21123cbdcbdd31b21a8251</id>
<content type='text'>
Code clean-up.

* ss/exc-flag-is-a-collection-of-bits:
  dir: store EXC_FLAG_* values in unsigned integers
</content>
</entry>
<entry>
<title>Merge branch 'ss/exc-flag-is-a-collection-of-bits'</title>
<updated>2016-04-06T18:38:59Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-04-06T18:38:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=12508a83549e59f0160ada423997069bf4a4003f'/>
<id>urn:sha1:12508a83549e59f0160ada423997069bf4a4003f</id>
<content type='text'>
Code clean-up.

* ss/exc-flag-is-a-collection-of-bits:
  dir: store EXC_FLAG_* values in unsigned integers
</content>
</entry>
<entry>
<title>Revert "Merge branch 'nd/exclusion-regression-fix'"</title>
<updated>2016-03-18T18:06:15Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-03-18T18:06:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5cee349370bd2dce48d0d653ab4ce99bb79a3415'/>
<id>urn:sha1:5cee349370bd2dce48d0d653ab4ce99bb79a3415</id>
<content type='text'>
This reverts commit 5e57f9c3dfe7dd44a1b56bb5b3327d7a1356ec7c, reversing
changes made to e79112d21024beb997951381db21a70b087d459d.

We will be postponing nd/exclusion-regression-fix topic to later
cycle.
</content>
</entry>
<entry>
<title>dir: store EXC_FLAG_* values in unsigned integers</title>
<updated>2016-03-01T18:20:22Z</updated>
<author>
<name>Saurav Sachidanand</name>
<email>sauravsachidanand@gmail.com</email>
</author>
<published>2016-03-01T17:02:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f870899864e077a54776af838c6476d5850cfaaf'/>
<id>urn:sha1:f870899864e077a54776af838c6476d5850cfaaf</id>
<content type='text'>
The values defined by the macro EXC_FLAG_* (1, 4, 8, 16) are stored
in fields of the structs "pattern" and "exclude", some functions
arguments and a local variable.  None of these uses its most
significant bit in any special way and there is no good reason to
use a signed integer for them.

And while we're at it, document "flags" of "exclude" to explicitly
state the values it's supposed to take on.

Signed-off-by: Saurav Sachidanand &lt;sauravsachidanand@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>dir.c: support marking some patterns already matched</title>
<updated>2016-02-15T23:32:32Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2016-02-15T09:03:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c62a91736a6dcd909167cf9fbb751d65c85482dd'/>
<id>urn:sha1:c62a91736a6dcd909167cf9fbb751d65c85482dd</id>
<content type='text'>
Given path "a" and the pattern "a", it's matched. But if we throw path
"a/b" to pattern "a", the code fails to realize that if "a" matches
"a" then "a/b" should also be matched.

When the pattern is matched the first time, we can mark it "sticky", so
that all files and dirs inside the matched path also matches. This is a
simpler solution than modify all match scenarios to fix that.

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>dir: simplify untracked cache "ident" field</title>
<updated>2016-01-25T20:40:17Z</updated>
<author>
<name>Christian Couder</name>
<email>christian.couder@gmail.com</email>
</author>
<published>2016-01-24T15:28:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0e0f761842eafb51c1a5d93fbc84470e2d7ee7c3'/>
<id>urn:sha1:0e0f761842eafb51c1a5d93fbc84470e2d7ee7c3</id>
<content type='text'>
It is not a good idea to compare kernel versions and disable
the untracked cache if it changes, as people may upgrade and
still want the untracked cache to work. So let's just
compare work tree locations and kernel name to decide if we
should disable it.

Also storing many locations in the ident field and comparing
to any of them can be dangerous if GIT_WORK_TREE is used with
different values. So let's just store one location, the
location of the current work tree.

The downside is that untracked cache can only be used by one
type of OS for now. Exporting a git repo to different clients
via a network to e.g. Linux and Windows means that only one
can use the untracked cache.

If the location changed in the ident field and we still want
an untracked cache, let's delete the cache and recreate it.

Note that if an untracked cache has been created by a
previous Git version, then the kernel version is stored in
the ident field. As we now compare with just the kernel
name the comparison will fail and the untracked cache will
be disabled until it's recreated.

Helped-by: Torsten Bögershausen &lt;tboegi@web.de&gt;
Signed-off-by: Christian Couder &lt;chriscool@tuxfamily.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>dir: add remove_untracked_cache()</title>
<updated>2016-01-25T20:40:11Z</updated>
<author>
<name>Christian Couder</name>
<email>christian.couder@gmail.com</email>
</author>
<published>2016-01-24T15:28:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=07b29bfd8d3de9a16c1c93e285b6980ca6b77b45'/>
<id>urn:sha1:07b29bfd8d3de9a16c1c93e285b6980ca6b77b45</id>
<content type='text'>
Factor out code into remove_untracked_cache(), which will be used
in a later commit.

Signed-off-by: Christian Couder &lt;chriscool@tuxfamily.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
