Re: [PATCH] status: handle worktree renames

2017-12-25 Thread Duy Nguyen
On Mon, Dec 25, 2017 at 07:26:27PM +0100, Igor Djordjevic wrote: > But I`ve noticed that "--porcelain=v2" output might still be buggy - > this is what having both files staged shows: > > $ git status --porcelain=v2 > 2 R. N... 100644 100644 100644 12f00e90b6ef79117ce6e650416b8cf517099b78

Re: [PATCH v2 8/9] rebase -i: learn to abbreviate command names

2017-12-25 Thread Duy Nguyen
On Mon, Dec 25, 2017 at 10:39 PM, Liam Beguin wrote: > I'm curious, how did you build to get this error to show? > I tried with the DEVELOPER 'flag' but nothing showed and -Wextra gave > way too much messages... > Did you just add -Wignored-qualifiers to CFLAGS? I have a

Re: [PATCH v2 8/9] rebase -i: learn to abbreviate command names

2017-12-25 Thread Duy Nguyen
On Mon, Dec 4, 2017 at 5:17 AM, Liam Beguin wrote: > +static const char command_to_char(const enum todo_command command) > +{ > + if (command < TODO_COMMENT && todo_command_info[command].c) > + return todo_command_info[command].c; > + return

Re: [PATCH] status: add a failing test showing a core.untrackedCache bug

2017-12-25 Thread Duy Nguyen
On Fri, Dec 22, 2017 at 9:00 PM, Ævar Arnfjörð Bjarmason wrote: > The untracked cache gets confused when a directory is swapped out for > a symlink to another directory. Whatever files are inside the target > of the symlink will be incorrectly shown as untracked. This issue does

Re: [BUG] File move with `add -N` shows as rename to same name

2017-12-25 Thread Duy Nguyen
On Sat, Dec 23, 2017 at 9:42 AM, Alex Vandiver wrote: > I just stumbled across the following oddity: Thanks. I'm looking into it. -- Duy

Re: [PATCH v4 07/16] refs: add refs_head_ref()

2017-09-06 Thread Duy Nguyen
On Fri, Aug 25, 2017 at 4:52 AM, Junio C Hamano wrote: > Nguyễn Thái Ngọc Duy writes: > > ... which does what? > > Unlike refs_for_each_ref() and friends, this does not iterate. > It just uses the same function signature to make a single call >

Re: [PATCH v4 11/16] revision.c: --all adds HEAD from all worktrees

2017-09-06 Thread Duy Nguyen
On Thu, Aug 24, 2017 at 2:54 AM, Stefan Beller wrote: >> +int other_head_refs(each_ref_fn fn, void *cb_data) >> +{ >> + struct worktree **worktrees, **p; >> + int ret = 0; >> + >> + worktrees = get_worktrees(0); >> + for (p = worktrees; *p; p++) { >> +

Re: [PATCH v4 02/16] refs.c: use is_dir_sep() in resolve_gitlink_ref()

2017-09-06 Thread Duy Nguyen
On Thu, Aug 24, 2017 at 2:14 AM, Stefan Beller wrote: > On Wed, Aug 23, 2017 at 5:36 AM, Nguyễn Thái Ngọc Duy > wrote: >> The "submodule" argument in this function is a path, which can have >> either '/' or '\\' as a separator. Use is_dir_sep() to support

Re: [PATCH v4 00/16] Fix git-gc losing objects in multi worktree

2017-09-06 Thread Duy Nguyen
On Fri, Aug 25, 2017 at 6:21 PM, Michael J Gruber wrote: > I suggest we think about the UI exposure a bit when it > comes to including all heads or naming options, though: > > * HEAD is "the current head" > * refs/heads is where all local branch heads are > > * --branches is the

Re: Undocumented change in `git branch -M` behavior

2017-08-24 Thread Duy Nguyen
On Thu, Aug 24, 2017 at 3:13 AM, Nish Aravamudan wrote: > Hello, > > Hopefully, I've got this right -- I noticed a change in behavior in git > with Ubuntu 17.10, which recently got 2.14.1. Specifically, that when in > an orphaned branch, -M ends up moving HEAD to

Re: What's cooking in git.git (Aug 2017, #04; Fri, 18)

2017-08-22 Thread Duy Nguyen
On Sat, Aug 19, 2017 at 4:26 AM, Junio C Hamano wrote: > [Discarded] > > * nd/prune-in-worktree (2017-04-24) 12 commits > . rev-list: expose and document --single-worktree > . revision.c: --reflog add HEAD reflog from all worktrees > . files-backend: make reflog iterator go

Re: [WIP/RFC 00/23] repository object

2017-05-29 Thread Duy Nguyen
On Mon, May 29, 2017 at 6:23 PM, Ævar Arnfjörð Bjarmason wrote: >>> That said, even if we never reached the point where we could handle all >>> submodule requests in-process, I think sticking the repo-related global >>> state in a struct certainly could not hurt general

Re: git worktrees must exist even if locked

2017-05-29 Thread Duy Nguyen
On Thu, May 11, 2017 at 3:24 AM, taylor, david wrote: > The Git documentation in describing worktrees says that one reason > why you might want to lock a worktree is to prevent it from being pruned > if it is on a removable media that isn't currently mounted. > > So, my

Re: [WIP/RFC 00/23] repository object

2017-05-29 Thread Duy Nguyen
On Tue, May 23, 2017 at 2:35 AM, Jeff King wrote: > On Thu, May 18, 2017 at 04:21:11PM -0700, Brandon Williams wrote: > >> When I first started working on the git project I found it very difficult to >> understand parts of the code base because of the inherently global nature of >>

Re: [RFC/PATCH] WIP: add deprecation & experimental process/interface

2017-05-29 Thread Duy Nguyen
On Sat, May 27, 2017 at 6:10 PM, Ævar Arnfjörð Bjarmason wrote: > This is the WIP start of a deprecation & experimental interface to > git. The goal is to formalize the workflow around deprecating > features, or around introducing new experimental features. > > This is much more

Re: git worktrees must exist even if locked

2017-05-29 Thread Duy Nguyen
On Tue, May 16, 2017 at 5:43 AM, Junio C Hamano wrote: > "taylor, david" writes: > >> The original report was against Git v2.12.2. I have since tried v2.12.3, >> v2.13.0, >> and the next branch. All exhibit the same symptoms. >> >> Even if you ignore

Re: What's cooking in git.git (May 2017, #06; Mon, 22)

2017-05-25 Thread Duy Nguyen
On Mon, May 22, 2017 at 1:11 PM, Junio C Hamano wrote: > * nd/fopen-errors (2017-05-09) 23 commits > - t1308: add a test case on open a config directory > - config.c: handle error on failing to fopen() > - xdiff-interface.c: report errno on failure to stat() or fopen() > -

Re: [PATCH v2 1/2] refs: Add for_each_worktree_ref for iterating over all worktree HEADs

2017-05-25 Thread Duy Nguyen
On Tue, May 23, 2017 at 5:52 AM, Manish Goregaokar wrote: > What work is remaining for prune-in-worktree? Link to the relevant > discussions? > > I might be able to take it over the finish line. (No guarantees) The finish line should be pretty close. I've addressed

Re: [PATCH v2 1/2] refs: Add for_each_worktree_ref for iterating over all worktree HEADs

2017-05-22 Thread Duy Nguyen
On Sat, May 20, 2017 at 5:30 PM, Junio C Hamano wrote: > By the way, doesn't nd/prune-in-worktree topic that has been cooking > in 'pu' supersede this change? It not just protects the commit at > the tip of HEAD in each worktree, it also makes sure the ones in > HEAD's reflog

Re: reversion in GIT_COMMON_DIR refs path

2017-05-22 Thread Duy Nguyen
On Fri, May 19, 2017 at 9:37 PM, Joey Hess wrote: > Joey Hess wrote: >> Bisecting this test suite failure >> https://git-annex.branchable.com/git-annex_in_nixpkgs_fails_with_git-2.13.0/ >> I landed on commit f57f37e2e1bf11ab4cdfd221ad47e961ba9353a0 to git. >> >> It seems that

Re: [PATCH v2 00/21]

2017-05-09 Thread Duy Nguyen
On Sun, May 7, 2017 at 11:20 AM, Junio C Hamano wrote: > On Thu, May 4, 2017 at 2:45 PM, Junio C Hamano wrote: >> >> Nguyễn Thái Ngọc Duy writes: >> >> > Changes since v1: >> > >> > - fopen_or_warn() and warn_on_fopen_errors() are

Re: [PATCH v2 13/21] remote.c: report error on failure to fopen()

2017-05-09 Thread Duy Nguyen
Sorry for super late reply. I'm slowly catching up. On Wed, May 3, 2017 at 10:22 PM, Johannes Schindelin wrote: > Hi Duy, > > > On Wed, 3 May 2017, Nguyễn Thái Ngọc Duy wrote: > >> There's plenty of error() in this code to safely assume --quiet is not a >> concern. >>

Re: PCRE v2 compile error, was Re: What's cooking in git.git (May 2017, #01; Mon, 1)

2017-05-03 Thread Duy Nguyen
On Wed, May 3, 2017 at 4:45 PM, Johannes Schindelin wrote: >> So it makes sense to give our downstream distributors a nudge to >> switch over to it. Some contributor (i.e. me) was not happy with this nudging though. The other day I switched to some branch

Re: RFA: untracked cache vs git reset --hard

2017-05-03 Thread Duy Nguyen
On Wed, May 3, 2017 at 5:27 PM, Johannes Schindelin wrote: > Hi all, > > I have a problem and would like to solicit advice how to fix it. > > The untracked cache has made a real difference on rather large > repositories with tons of directories, and it is really,

Re: [PATCH 0/5] Start of a journey: drop NO_THE_INDEX_COMPATIBILITY_MACROS

2017-05-03 Thread Duy Nguyen
On Tue, May 2, 2017 at 8:36 AM, Junio C Hamano wrote: > Stefan Beller writes: > >> This applies to origin/master. >> >> For better readability and understandability for newcomers it is a good idea >> to not offer 2 APIs doing the same thing with on being

Re: [PATCH] cache-tree: reject entries with null sha1

2017-05-03 Thread Duy Nguyen
On Tue, May 2, 2017 at 2:22 AM, Jeff King <p...@peff.net> wrote: > On Mon, May 01, 2017 at 01:23:28PM +0200, René Scharfe wrote: > >> Am 24.04.2017 um 12:39 schrieb Duy Nguyen: >> > BTW, I ran t7009 with valgrind and it reported this. Is it something >> > w

Re: [PATCH 07/15] remote.c: report error on failure to fopen()

2017-04-27 Thread Duy Nguyen
On Thu, Apr 27, 2017 at 12:07 PM, Johannes Sixt wrote: > Am 27.04.2017 um 02:57 schrieb Junio C Hamano: >> >> Johannes Sixt writes: >> >>> +++ git ls-remote 'refs*master' >>> +warning: unable to access '.git/branches/refs*master': Invalid argument >>> fatal:

Re: [PATCH] test: remove unused parameter from the wildmatch test

2017-04-26 Thread Duy Nguyen
On Tue, Apr 25, 2017 at 4:51 PM, Ævar Arnfjörð Bjarmason wrote: > We wouldn't be using fnmatch(), but I think it's a probably a good > idea for the tests to support a mode where we have to declare > explicitly whether something should also match under fnmatch or not, > so we

Re: BUG: wildmatches like foo/**/**/bar don't match properly due to internal optimizations

2017-04-26 Thread Duy Nguyen
On Wed, Apr 26, 2017 at 2:13 AM, Ævar Arnfjörð Bjarmason wrote: > Thought I'd just start another thread for this rather than tack it > onto the pathalogical case thread. > > In commit 4c251e5cb5 ("wildmatch: make /**/ match zero or more > directories", 2012-10-15) Duy added

Re: [BUG] test suite broken with GETTEXT_POISON=YesPlease

2017-04-24 Thread Duy Nguyen
On Fri, Apr 21, 2017 at 9:54 PM, Lars Schneider wrote: > >> Am 20.04.2017 um 23:58 schrieb Ævar Arnfjörð Bjarmason : >> >> As a refresh of everyone's memory (because mine needed it). This is a >> feature I added back in 2011 when the i18n support was

Re: [PATCH 1/5] add SWAP macro

2017-04-24 Thread Duy Nguyen
On Mon, Apr 24, 2017 at 6:49 PM, Jeff King wrote: > diff --git a/prio-queue.c b/prio-queue.c > index 17252d231..fc3860fdc 100644 > --- a/prio-queue.c > +++ b/prio-queue.c > @@ -21,7 +21,7 @@ void prio_queue_reverse(struct prio_queue *queue) > > if (queue->compare != NULL) >

Re: [PATCH 1/6] worktree.c: add validate_worktree()

2017-04-24 Thread Duy Nguyen
On Fri, Apr 21, 2017 at 9:16 AM, Junio C Hamano wrote: >> +int validate_worktree(const struct worktree *wt, int quiet) >> +{ >> + struct strbuf sb = STRBUF_INIT; >> + char *path; >> + int err, ret; >> + >> + if (is_main_worktree(wt)) { >> + /* >> +

Re: [PATCH] cache-tree: reject entries with null sha1

2017-04-24 Thread Duy Nguyen
On Sat, Apr 22, 2017 at 1:46 AM, Jeff King wrote: > We generally disallow null sha1s from entering the index, > due to 4337b5856 (do not write null sha1s to on-disk index, > 2012-07-28). However, we loosened that in 83bd7437c > (write_index: optionally allow broken null sha1s, >

Re: Feature request: --format=json

2017-04-24 Thread Duy Nguyen
On Mon, Apr 24, 2017 at 3:33 PM, shawn wilson wrote: > Late to the party, but I too would also like json format output (mainly so I > could pipe stuff to jq instead of looking at the man page for which %thing > I'm looking for). That said, it's not at the PR level of want for

Re: [PATCH v3 10/12] files-backend: make reflog iterator go through per-worktree reflog

2017-04-22 Thread Duy Nguyen
On Sat, Apr 22, 2017 at 10:05:02AM +0200, Michael Haggerty wrote: > I find this implementation confusing: > > * `if (iter->worktree_dir_iterator)` sounds like it should mean > that we are iterating over worktree references but it really means > that we are iterating over the common references

Re: [PATCH v3 06/12] refs: add refs_head_ref()

2017-04-22 Thread Duy Nguyen
On Sat, Apr 22, 2017 at 1:37 PM, Michael Haggerty wrote: > On 04/19/2017 01:01 PM, Nguyễn Thái Ngọc Duy wrote: >> Signed-off-by: Nguyễn Thái Ngọc Duy >> --- >> refs.c | 19 +-- >> refs.h | 2 ++ >> 2 files changed, 11 insertions(+), 10

Re: [PATCH 00/15] Handle fopen() errors

2017-04-21 Thread Duy Nguyen
On Fri, Apr 21, 2017 at 6:52 PM, Junio C Hamano wrote: > Yes, but (1) we'd need to be careful about --quiet Yeah. It's a real pain point for making changes like this. At some point we should just have a global (maybe multi-level) quiet flag. -- Duy

Re: [BUG] test suite broken with GIT_TEST_SPLIT_INDEX

2017-04-21 Thread Duy Nguyen
On Fri, Apr 21, 2017 at 6:57 PM, Christian Couder <christian.cou...@gmail.com> wrote: > On Fri, Apr 21, 2017 at 1:46 PM, Christian Couder > <christian.cou...@gmail.com> wrote: >> On Fri, Apr 21, 2017 at 11:53 AM, Duy Nguyen <pclo...@gmail.com> wrote: >>> On

Re: [PATCH 00/15] Handle fopen() errors

2017-04-21 Thread Duy Nguyen
On Fri, Apr 21, 2017 at 1:29 PM, Jeff King wrote: > On Thu, Apr 20, 2017 at 08:41:32PM -0700, Junio C Hamano wrote: > >> Junio C Hamano writes: >> >> > I wonder if it is OK to only special case ENOENT for !fp cases, >> > where existing code silently returns.

Re: [BUG] test suite broken with GIT_TEST_SPLIT_INDEX

2017-04-21 Thread Duy Nguyen
On Fri, Apr 21, 2017 at 2:10 PM, Christian Couder wrote: > On Thu, Apr 20, 2017 at 11:24 PM, Thomas Gummerer > wrote: >> On 04/20, Christian Couder wrote: >>> >>> Could you try with the following patch: >>> >>>

Re: [PATCH] refs.h: rename submodule arguments to submodule_path

2017-04-21 Thread Duy Nguyen
On Fri, Apr 21, 2017 at 1:42 PM, Michael Haggerty wrote: > On 04/21/2017 08:32 AM, Michael Haggerty wrote: >> [...] >> I've CCed Duy because I don't know whether he has more plans regarding >> submodule references [...] get rid of the >> `for_each_ref_submodule()` family of

Re: [PATCH v3 05/12] refs: move submodule slash stripping code to get_submodule_ref_store

2017-04-20 Thread Duy Nguyen
On Thu, Apr 20, 2017 at 5:02 AM, Johannes Sixt wrote: > Am 19.04.2017 um 13:01 schrieb Nguyễn Thái Ngọc Duy: >> >> @@ -1558,7 +1543,17 @@ struct ref_store *get_submodule_ref_store(const >> char *submodule) >> { >> struct strbuf submodule_sb = STRBUF_INIT; >> struct

Re: What's cooking in git.git (Apr 2017, #04; Wed, 19)

2017-04-20 Thread Duy Nguyen
On Wed, Apr 19, 2017 at 10:37:21PM -0700, Junio C Hamano wrote: > * nd/worktree-add-lock (2017-04-16) 2 commits > - SQUASH??? > - worktree add: add --lock option > > Allow to lock a worktree immediately after it's created. This helps > prevent a race between "git worktree add; git worktree

Re: [PATCH v3 05/12] refs: move submodule slash stripping code to get_submodule_ref_store

2017-04-19 Thread Duy Nguyen
On Thu, Apr 20, 2017 at 12:02:08AM +0200, Johannes Sixt wrote: > Am 19.04.2017 um 13:01 schrieb Nguyễn Thái Ngọc Duy: > > @@ -1558,7 +1543,17 @@ struct ref_store *get_submodule_ref_store(const char > > *submodule) > > { > > struct strbuf submodule_sb = STRBUF_INIT; > > struct ref_store

Re: [PATCH v2 12/12] rev-list: expose and document --single-worktree

2017-04-19 Thread Duy Nguyen
On Sun, Mar 19, 2017 at 1:00 AM, Junio C Hamano wrote: >> diff --git a/Documentation/rev-list-options.txt >> b/Documentation/rev-list-options.txt >> index a02f7324c0..c71e94b2d0 100644 >> --- a/Documentation/rev-list-options.txt >> +++ b/Documentation/rev-list-options.txt >>

Re: What's cooking in git.git (Apr 2017, #03; Tue, 18)

2017-04-19 Thread Duy Nguyen
On Tue, Apr 18, 2017 at 10:45:22PM -0700, Junio C Hamano wrote: > * nd/conditional-config-in-early-config (2017-04-17) 3 commits > - config: correct file reading order in read_early_config() > - config: handle conditional include when $GIT_DIR is not set up > - config: prepare to pass more info

Re: Feature request: --format=json

2017-04-17 Thread Duy Nguyen
On Mon, Apr 17, 2017 at 7:44 PM, Fred .Flintstone wrote: > So I did "git rev-list --all --pretty" and it looks like "git log". > Which outputs a human-readable format. > > However, if I want something more suitable for machine parsing, is > there any way to get that output? >

Re: How to keep log history when renaming and changing simultaneously

2017-04-17 Thread Duy Nguyen
On Mon, Apr 17, 2017 at 6:36 PM, Urs Thuermann wrote: > Sometimes I need to rename and change a file in one commit. One > example would be a file foo.h that begins with > > #ifndef FOO_H > #define FOO_H > > which should be renamed bar.h and have the FOO_H changed

Re: [PATCH 3/3] reset.c: update files when using sparse to avoid data loss.

2017-04-17 Thread Duy Nguyen
On Sun, Apr 16, 2017 at 11:25 AM, Duy Nguyen <pclo...@gmail.com> wrote: >> Because this is a reset --mixed it will never run through unpack_trees and >> The entries are never marked with CE_REMOVE. > > I know. But in my view, it should. All updates from a tree object to &

Re: [PATCH] Make git log work for git CWD outside of work tree

2017-04-17 Thread Duy Nguyen
On Fri, Apr 14, 2017 at 4:29 AM, Jeff King <p...@peff.net> wrote: > On Wed, Apr 12, 2017 at 08:11:22PM +0700, Duy Nguyen wrote: > >> On Wed, Apr 12, 2017 at 8:01 PM, Jeff King <p...@peff.net> wrote: >> > I dunno. Maybe I am missing some subtle case, but it's n

Re: [PATCH 2/2] config: handle conditional include when $GIT_DIR is not set up

2017-04-17 Thread Duy Nguyen
(To Junio, this series conflicts slightly with nd/conditional-config-include, let me know if you want me to rebase this on top of that) On Sun, Apr 16, 2017 at 10:51 PM, Jeff King wrote: >> + if (opts.git_dir) { >> struct git_config_source repo_config; >> >>

Re: [PATCH 2/2] config: handle conditional include when $GIT_DIR is not set up

2017-04-16 Thread Duy Nguyen
On Sun, Apr 16, 2017 at 11:51:32AM -0400, Jeff King wrote: > > diff --git a/cache.h b/cache.h > > index e29a093839..27b7286f99 100644 > > --- a/cache.h > > +++ b/cache.h > > @@ -1884,6 +1884,8 @@ enum config_origin_type { > > > > struct config_options { > > unsigned int respect_includes :

Re: [PATCH 1/2] config: prepare to pass more info in git_config_with_options()

2017-04-16 Thread Duy Nguyen
On Sun, Apr 16, 2017 at 11:31:28AM -0400, Jeff King wrote: > On Sun, Apr 16, 2017 at 05:41:24PM +0700, Nguyễn Thái Ngọc Duy wrote: > > > So far we can only pass one flag, respect_includes, to thie function. We > > need to pass some more (non-flag even), so let's make it accept a struct > >

Re: [BUG] ls-files '**' globstar matches one or more directories instead of zero or more directories

2017-04-16 Thread Duy Nguyen
On Sat, Apr 15, 2017 at 2:17 AM, Alistair Buxton wrote: > To reproduce, go to any git repository and run: > > diff <(git ls-files '**/*' | sort) <(git ls-files | sort) Actually the '**/' magic only kicks in if you write git ls-files ':(glob)**/*' Without that '**' is

Re: [BUG] ls-files '**' globstar matches one or more directories instead of zero or more directories

2017-04-16 Thread Duy Nguyen
On Sat, Apr 15, 2017 at 2:17 AM, Alistair Buxton wrote: > To reproduce, go to any git repository and run: > > diff <(git ls-files '**/*' | sort) <(git ls-files | sort) > > Expected result: No output since both commands should produce identical > output. > > Actual

Re: What's cooking in git.git (Apr 2017, #02; draft as of Sat, 15)

2017-04-16 Thread Duy Nguyen
On Sat, Apr 15, 2017 at 5:14 PM, Junio C Hamano wrote: > * nd/conditional-config-include (2017-04-14) 2 commits > - config: resolve symlinks in conditional include's patterns > - path.c: and an option to call real_path() in expand_user_path() > $GIT_DIR may in some cases be

Re: [PATCH 3/3] reset.c: update files when using sparse to avoid data loss.

2017-04-15 Thread Duy Nguyen
On Wed, Apr 12, 2017 at 10:37 PM, Kevin Willford <kewi...@microsoft.com> wrote: > >> -Original Message- >> From: git-ow...@vger.kernel.org [mailto:git-ow...@vger.kernel.org] On >> Behalf Of Duy Nguyen >> Sent: Wednesday, April 12, 2017 7:21 AM >> To

Re: includeIf breaks calling dashed externals

2017-04-15 Thread Duy Nguyen
On Fri, Apr 14, 2017 at 01:43:37PM -0400, Jeff King wrote: > On Fri, Apr 14, 2017 at 07:04:23PM +0200, Bert Wesarg wrote: > > > Dear Duy, > > > > heaving an includeIf in a git config file breaks calling external git > > commands, most prominently git-gui. > > > > $ git --version > > git version

Re: [PATCH] worktree add: add --lock option

2017-04-15 Thread Duy Nguyen
On Sat, Apr 15, 2017 at 3:07 PM, Junio C Hamano wrote: > Junio C Hamano writes: > >> Nguyễn Thái Ngọc Duy writes: >> >>> -unlink_or_warn(sb.buf); >>> +if (!ret && opts->keep_locked) { >>> +/* >>> + * Don't

Re: [PATCH v7 19/28] files-backend: replace submodule_allowed check in files_downcast()

2017-04-14 Thread Duy Nguyen
On Fri, Apr 14, 2017 at 03:44:46AM -0700, Junio C Hamano wrote: > Duy Nguyen <pclo...@gmail.com> writes: > > > I'll mark this mail and do a follow-up patch once this topic graduates > > to master. It's less review burden and mail traffic. > > I actually do not m

Re: [PATCH] worktree add: add --lock option

2017-04-14 Thread Duy Nguyen
On Fri, Apr 14, 2017 at 5:50 AM, Junio C Hamano wrote: > Nguyễn Thái Ngọc Duy writes: > >> As explained in the document. This option has an advantage over the >> command sequence "git worktree add && git worktree lock": there will be >> no gap that somebody

Re: [PATCH v4 0/5] Kill manual ref parsing code in worktree.c

2017-04-14 Thread Duy Nguyen
On Thu, Apr 13, 2017 at 07:02:22PM -0700, Junio C Hamano wrote: > Oops, I shouldn't have done that. When applied on top of the > files-backend thing (or have you updated that one and is my tree > lacking it???), this breaks quite a few tests. > > t0001#41 dumps core from "git worktree add

Re: git work trees

2017-04-12 Thread Duy Nguyen
On Tue, Apr 11, 2017 at 10:14 PM, taylor, david wrote: > We are using Git in a distributed environment. > > In the United States, we have the master repository in one state and a build > cluster in a different state. > In addition to people in the US doing builds, we have

Re: [PATCH 3/3] reset.c: update files when using sparse to avoid data loss.

2017-04-12 Thread Duy Nguyen
On Wed, Apr 12, 2017 at 5:30 AM, Kevin Willford wrote: > The loss of the skip-worktree bits is part of the problem if you are talking > about modified files. The other issue that I was having is when running a > reset > and there were files added in the commit that is

Re: [PATCH] Make git log work for git CWD outside of work tree

2017-04-12 Thread Duy Nguyen
On Wed, Apr 12, 2017 at 8:01 PM, Jeff King wrote: > I dunno. Maybe I am missing some subtle case, but it's not clear to me > what the user would be trying to do by having git stay in the original > directory. Not sure if it really happens. But if we jump from worktree is inside

Re: [PATCH] Make git log work for git CWD outside of work tree

2017-04-12 Thread Duy Nguyen
On Wed, Apr 12, 2017 at 3:41 PM, Junio C Hamano <gits...@pobox.com> wrote: > Duy Nguyen <pclo...@gmail.com> writes: > >>> I think this is much more than just .mailmap, though. For instance, I >>> have noticed a similar problem with .gitattributes: >>

Re: [PATCH] Make git log work for git CWD outside of work tree

2017-04-12 Thread Duy Nguyen
On Tue, Apr 11, 2017 at 12:13 AM, Jeff King <p...@peff.net> wrote: > On Mon, Apr 10, 2017 at 07:01:00PM +0700, Duy Nguyen wrote: >> An alternative is, when you have found out you need to read .mailmap, >> you call setup_work_tree() then, which prepares the worktree for you

Re: [PATCH] pathspec: fix segfault in clear_pathspec

2017-04-10 Thread Duy Nguyen
On Sat, Apr 8, 2017 at 2:29 AM, Brandon Williams wrote: > In 'clear_pathspec()' the incorrect index parameter is used to bound an > inner-loop which is used to free a 'struct attr_match' value field. > Using the incorrect index parameter (in addition to being incorrect) >

Re: [PATCH] Make git log work for git CWD outside of work tree

2017-04-10 Thread Duy Nguyen
On Mon, Apr 10, 2017 at 7:21 AM, Junio C Hamano wrote: > If your arrangement is even more exotic, e.g. you have these two > variables set, and then are running from OUTSIDE the working tree, > my knee-jerk reaction is that you should get your head examined, as > it is totally

Re: [PATCH 3/3] WIP - Allow custom printf function for column printing

2017-04-10 Thread Duy Nguyen
On Wed, Mar 29, 2017 at 06:42:38PM -0700, Stefan Beller wrote: > Ever wondered why column.ui applies the untracked files in git-status, > but not for the help text comment in git-commit? Nobody wrote the code! How do you decide text width for this help text? If the output is terminal, we know how

Re: [PATCH 2/3] column: allow for custom printf

2017-04-10 Thread Duy Nguyen
On Wed, Mar 29, 2017 at 06:42:37PM -0700, Stefan Beller wrote: > diff --git a/column.h b/column.h > index 0a61917fa7..c44a1525a9 100644 > --- a/column.h > +++ b/column.h > @@ -24,6 +24,9 @@ struct column_options { > int padding; > const char *indent; > const char *nl; > + > +

Re: [PATCH 1/3] merge-recursive.c: conflict using sparse should update file

2017-04-10 Thread Duy Nguyen
On Fri, Apr 07, 2017 at 12:23:55PM -0700, Kevin Willford wrote: > Update the file when there is a conflict with a modify/delete scenario > when using the sparse-checkout feature since the file might not be on disk > because the skip-worktree bit is on and the user will need the file and > content

Re: [PATCH 3/3] reset.c: update files when using sparse to avoid data loss.

2017-04-10 Thread Duy Nguyen
On Fri, Apr 07, 2017 at 12:23:57PM -0700, Kevin Willford wrote: > When using the sparse checkout feature the git reset command will add "git reset" has three different modes. It would be good if you mention what mode is affected here. The tests are for --mixed only. I wonder if we need to do

Re: [PATCH 2/3] apply.c: do not checkout file when skip-worktree bit set

2017-04-10 Thread Duy Nguyen
On Fri, Apr 07, 2017 at 12:23:56PM -0700, Kevin Willford wrote: > When using the sparse-checkout feature git should not write to > the working directory for files with the skip-worktree bit on. > With the skip-worktree bit on the file may or may not be in > the working directory and if it is not

Re: [PATCH v7 19/28] files-backend: replace submodule_allowed check in files_downcast()

2017-04-07 Thread Duy Nguyen
I'll mark this mail and do a follow-up patch once this topic graduates to master. It's less review burden and mail traffic. On Sat, Apr 1, 2017 at 11:02 AM, Michael Haggerty wrote: > On 03/26/2017 04:42 AM, Nguyễn Thái Ngọc Duy wrote: >> files-backend.c is unlearning

Re: [PATCH v7 22/28] refs: new transaction related ref-store api

2017-04-07 Thread Duy Nguyen
On Sat, Apr 1, 2017 at 11:54 AM, Michael Haggerty wrote: > On 03/26/2017 04:42 AM, Nguyễn Thái Ngọc Duy wrote: >> The transaction struct now takes a ref store at creation and will >> operate on that ref store alone. > > Having worked downstream of this patch series for a

Re: [PATCH v2 00/20] Separate `ref_cache` into a separate module

2017-04-07 Thread Duy Nguyen
On Wed, Apr 5, 2017 at 9:03 PM, Duy Nguyen <pclo...@gmail.com> wrote: > On Sat, Apr 1, 2017 at 12:16 PM, Michael Haggerty <mhag...@alum.mit.edu> > wrote: >> Duy, have you looked over my patch series? Since you've been working in >> the area, your feedback woul

Re: [PATCH v2 19/20] files_pack_refs(): use reference iteration

2017-04-07 Thread Duy Nguyen
On Fri, Mar 31, 2017 at 9:11 PM, Michael Haggerty wrote: > Use reference iteration rather than do_for_each_entry_in_dir() in the > definition of files_pack_refs(). A "why" is missing here. My guess is readability/maintainability because it's easier to follow the code with

Re: [PATCH v2 11/20] refs: record the ref_store in ref_cache, not ref_dir

2017-04-07 Thread Duy Nguyen
On Fri, Mar 31, 2017 at 9:11 PM, Michael Haggerty wrote: > Instead of keeping a pointer to the ref_store in every ref_dir entry, > store it once in `struct ref_cache`, and change `struct ref_dir` to > include a pointer to its containing `ref_cache` instead. This makes it >

Re: [PATCH v2 10/20] ref-cache: introduce a new type, ref_cache

2017-04-07 Thread Duy Nguyen
On Fri, Mar 31, 2017 at 9:11 PM, Michael Haggerty wrote: > +void free_ref_cache(struct ref_cache *cache) > +{ > + free_ref_entry(cache->root); > + free(cache); > +} free(NULL) is no-op (and safe). Maybe we should follow the same pattern for free_ref_cache().

Re: [PATCH v2 04/20] refs_verify_refname_available(): implement once for all backends

2017-04-07 Thread Duy Nguyen
On Fri, Mar 31, 2017 at 9:11 PM, Michael Haggerty wrote: > It turns out that we can now implement > `refs_verify_refname_available()` based on the other virtual > functions, so there is no need for it to be defined at the backend > level. Instead, define it once in `refs.c`

Re: [PATCH v2 03/20] refs_ref_iterator_begin(): new function

2017-04-07 Thread Duy Nguyen
On Fri, Mar 31, 2017 at 9:11 PM, Michael Haggerty wrote: > Extract a new function from `do_for_each_ref()`. It will be useful > elsewhere. > > Signed-off-by: Michael Haggerty > --- > refs.c | 15 +-- > refs/refs-internal.h |

Re: [PATCH v2 0/7] thread lazy_init_name_hash

2017-04-05 Thread Duy Nguyen
On Thu, Mar 23, 2017 at 8:46 PM, wrote: > This patch series is a performance optimization for > lazy_init_name_hash() in name-hash.c on very large > repositories. > > This change allows lazy_init_name_hash() to optionally > use multiple threads when building the

Re: [PATCH v2 00/20] Separate `ref_cache` into a separate module

2017-04-05 Thread Duy Nguyen
On Sat, Apr 1, 2017 at 12:16 PM, Michael Haggerty wrote: > Duy, have you looked over my patch series? Since you've been working in > the area, your feedback would be very welcome, if you have the time for it. You probably have guessed my answer based on my lack of response

Re: [PATCH v2] pathspec: honor `PATHSPEC_PREFIX_ORIGIN` with empty prefix

2017-04-05 Thread Duy Nguyen
On Tue, Apr 4, 2017 at 11:39 PM, Brandon Williams wrote: >> This is the second version of [1]. It fixes a bug catched by >> Brandon when the pathspec is resolved to the empty string and >> improves the test a bit to actually catch this issue. > > This version looks good to me.

Re: [PATCH] pathspec: always honor `PATHSPEC_PREFIX_ORIGIN` flag

2017-04-05 Thread Duy Nguyen
On Mon, Apr 3, 2017 at 11:26 PM, Brandon Williams wrote: > On 04/03, Patrick Steinhardt wrote: >> Previous to commit 5d8f084a5 (pathspec: simpler logic to prefix original >> pathspec elements, 2017-01-04), we were always using the computed >> `match` variable to perform

Re: [PATCH/RFC] gitperformance: add new documentation about git performance tuning

2017-04-05 Thread Duy Nguyen
On Tue, Apr 4, 2017 at 4:16 AM, Ævar Arnfjörð Bjarmason wrote: > Things I have on my TODO list: Always keep cache-tree valid. I think there's some changes in "git checkout" to rebuild cache-tree often, so it's probably not as bad as before. I don't know if there's a command to

Re: [PATCH v4 2/5] dir_iterator: iterate over dir after its contents

2017-04-05 Thread Duy Nguyen
real world and we just cannot change those behaviors). Using iterator interface would be a good improvement to clean up the "on disk or on cache" directory traversal there though. > > On Thu, Mar 30, 2017 at 8:08 AM, Duy Nguyen <pclo...@gmail.com> wrote: >> On Thu, Mar 30

Re: [PATCH 2/2] config: resolve symlinks in conditional include's patterns

2017-04-04 Thread Duy Nguyen
On Fri, Mar 31, 2017 at 1:38 AM, Junio C Hamano wrote: > Nguyễn Thái Ngọc Duy writes: > >> $GIT_DIR returned by get_git_dir() is normalized, with all symlinks >> resolved (see setup_work_tree function). In order to match paths (or >> patterns) against

Re: [PATCH v5 0/6] [GSoC] remove_subtree(): reimplement using iterators

2017-03-30 Thread Duy Nguyen
On Thu, Mar 30, 2017 at 6:27 PM, Michael Haggerty wrote: > I'm very encouraged by your quick and constructive > responses and especially that you are sticking with it even though the > project is getting much, much more involved than a typical GSoC > microproject. I'm

Re: [PATCH v4 2/5] dir_iterator: iterate over dir after its contents

2017-03-30 Thread Duy Nguyen
On Thu, Mar 30, 2017 at 1:39 PM, Michael Haggerty wrote: > * DIR_ITERATOR_RECURSE -- recurse into subdirectories > > would make the set of possible options complete. If this option is not > set, then the iteration would be over the entries in a single directory > without

Re: [PATCH] read-cache: avoid git_path() race in freshen_shared_index()

2017-03-30 Thread Duy Nguyen
On Thu, Mar 30, 2017 at 12:56 AM, Jeff King wrote: > But in the end it doesn't really matter. I think code like: > > const char *filename = git_path(...); > > or > > nontrivial_function(git_path(...)); > > is an anti-pattern. It _might_ be safe, but it's really hard to tell >

Re: [PATCH v3 2/4] refs: introduce get_worktree_ref_store()

2017-03-26 Thread Duy Nguyen
On Mon, Mar 20, 2017 at 9:25 PM, Michael Haggerty wrote: > Instead of moving all of the `for_each_*_submodule()` functions over, I > encourage you to consider getting rid of them entirely and let the > end-users call the `refs_for_each_*()` versions of the functions. Again,

Re: [PATCH v6 18/27] files-backend: replace submodule_allowed check in files_downcast()

2017-03-25 Thread Duy Nguyen
On Mon, Mar 20, 2017 at 4:18 AM, Michael Haggerty wrote: >> +/* ref_store_init flags */ >> +#define REF_STORE_READ (1 << 0) > > I asked [1] in reply to v5 whether `REF_STORE_READ` is really necessary > but I don't think you replied. Surely a reference store

Re: t1503 broken ?

2017-03-25 Thread Duy Nguyen
On Sat, Mar 25, 2017 at 07:26:14PM +0700, Duy Nguyen wrote: > On Sat, Mar 25, 2017 at 6:46 PM, Duy Nguyen <pclo...@gmail.com> wrote: > > On Sat, Mar 25, 2017 at 5:46 PM, Torsten Bögershausen <tbo...@web.de> wrote: > >> ./t1305-config-include.sh > >> seems to

Re: [PATCH v2] [GSoC] remove_subtree(): reimplement using iterators

2017-03-25 Thread Duy Nguyen
On Sat, Mar 25, 2017 at 7:13 PM, Daniel Ferreira (theiostream) wrote: > You are correct, which shows that since all tests pass, we need to > come up with better cases for this function. > > As for a solution, I believe that the best way to go for it is to > dir_iterator's

Re: t1503 broken ?

2017-03-25 Thread Duy Nguyen
On Sat, Mar 25, 2017 at 6:46 PM, Duy Nguyen <pclo...@gmail.com> wrote: > On Sat, Mar 25, 2017 at 5:46 PM, Torsten Bögershausen <tbo...@web.de> wrote: >> ./t1305-config-include.sh >> seems to be broken: >> not ok 19 - conditional include, $HOME expansion >> no

Re: [PATCH] Documentation/git-worktree: use working tree for trees on the file system

2017-03-25 Thread Duy Nguyen
On Fri, Mar 24, 2017 at 12:55 AM, Junio C Hamano wrote: > Michael J Gruber writes: > >> Are we at a point where we can still rename the new feature at least? If >> yes, and keeping everything else is mandatory, than "workspace" or >> "working space"

Re: [PATCH] Documentation/git-worktree: use working tree for trees on the file system

2017-03-25 Thread Duy Nguyen
On Tue, Mar 21, 2017 at 10:48 PM, Junio C Hamano <gits...@pobox.com> wrote: > Duy Nguyen <pclo...@gmail.com> writes: > >> On Tue, Mar 21, 2017 at 1:50 AM, Jonathan Nieder <jrnie...@gmail.com> wrote: >>> Junio C Hamano wrote: >>>> Stefan Beller

Re: [PATCH v1 0/3] Add support for downloading blobs on demand

2017-03-25 Thread Duy Nguyen
On Wed, Mar 22, 2017 at 11:52 PM, Ben Peart wrote: > We have a couple of patch series we’re working on (ObjectDB/Read-Object, > Watchman integration) Oops, sorry. I should be reworking the index-helper series for watchman support, but I haven't time for it. Yes I'm also

<    6   7   8   9   10   11   12   13   14   15   >