[GSoC] Follow-up post

2019-10-21 Thread Matheus Tavares Bernardino
Hi, everyone I wrote a small follow-up post to talk about the conclusion of my GSoC project. I believe the main remaining tasks are now finally complete :) If you would be interested in taking a look, the post is at https://matheustavares.gitlab.io/posts/gsoc-follow-ups Thanks, Matheus

Re: [RFC WIP PATCH 3/3] tag: add full support for --edit and --no-edit

2019-10-09 Thread Matheus Tavares Bernardino
On Tue, Oct 8, 2019 at 3:47 PM Lucas Oshiro wrote: > > git tag --edit and --no-edit flags are not currently fully supported. > This patch fixes the functionality that allows the editor to be opened > on demand. > > Co-authored-by: Bárbara Fernandes > Signed-off-by: Lucas Oshiro > Signed-off-by:

Re: [RFC WIP PATCH 2/3] tag: factor out prepare tag template code

2019-10-08 Thread Matheus Tavares Bernardino
authored-by: Bárbara Fernandes > Helped-by: Matheus Tavares > Signed-off-by: Lucas Oshiro > Signed-off-by: Bárbara Fernandes These tags can be re-ordered as I mentioned in patch 1/3, to follow a chronological order: probably the Helped-by first followed by the Co-authored-

Re: [RFC WIP PATCH 1/3] tag: factor out tag reading from write_tag_body()

2019-10-08 Thread Matheus Tavares Bernardino
ra Fernandes > Signed-off-by: Bárbara Fernandes > Signed-off-by: Lucas Oshiro > Helped-by: Matheus Tavares These tags usually come in chronological order. So I think the Helped-by should come first as I helped you, then you and Bárbara co-authored the patch and then, lastly, you

Re: git-grep in sparse checkout

2019-10-01 Thread Matheus Tavares Bernardino
On Tue, Oct 1, 2019 at 3:29 PM Derrick Stolee wrote: > > On 10/1/2019 9:06 AM, Matheus Tavares Bernardino wrote: > > Hi, > > > > During Git Summit it was mentioned that git-grep searches outside > > sparsity pattern which is not aligned with user expectation. I took

[PATCH] squash! grep: replace grep_read_mutex by internal obj read lock

2019-10-01 Thread Matheus Tavares
Signed-off-by: Matheus Tavares --- This is just a small fixup to be squashed into patch 6: with multiple locks, the locking order must be consistent across all critical sections to avoid dead-lock. Since grep_attr_lock() is called before obj_read_lock() in grep_source_load_driver(), it must also

git-grep in sparse checkout

2019-10-01 Thread Matheus Tavares Bernardino
Hi, During Git Summit it was mentioned that git-grep searches outside sparsity pattern which is not aligned with user expectation. I took a quick look at it and it seems the reason is builtin/grep.c:grep_cache() (which also greps worktree) will grep the object store when a given index entry has th

[PATCH v2 08/11] grep: allow submodule functions to run in parallel

2019-09-29 Thread Matheus Tavares
racy with object readings in the superproject. So it must be kept protected for now. Let's add a "NEEDSWORK" to it, informing why it cannot be removed from the critical section yet. - Finally, add_to_alternates_memory() must be kept protected by the same reason of the above ite

[PATCH v2 11/11] grep: move driver pre-load out of critical section

2019-09-29 Thread Matheus Tavares
--- Out of critical section | 5.7852s [1]: Tests performed on an i7-7700HQ with 16GB of RAM and SSD, running Manjaro Linux. [2]: chromium’s repo at commit 03ae96f (“Add filters testing at DSF=2”, 04-06-2019), after a 'git gc' execution. Signed-off-by: Matheus Tavares ---

[PATCH v2 09/11] grep: protect packed_git [re-]initialization

2019-09-29 Thread Matheus Tavares
Again, all paths to it in git-grep are already protected by obj_read_lock() but it may suffer from the same problem in the future. So let's also internally protect it with obj_read_lock() (which is a recursive mutex). Signed-off-by: Matheus Tavares --- builtin/grep.c | 8 ++-- packfi

[PATCH v2 07/11] submodule-config: add skip_if_read option to repo_read_gitmodules()

2019-09-29 Thread Matheus Tavares
les() adding an 'skip_if_read' which allow both internal and external callers to access this functionality. This simplifies a little the code. The added option will also be used in the following patch. Signed-off-by: Matheus Tavares --- builtin/grep.c | 2 +-

[PATCH v2 10/11] grep: re-enable threads in non-worktree case

2019-09-29 Thread Matheus Tavares
ons, not being able to perform them in parallel can cause performance drops. To inform the users about this (and other threading detais), let's also add a "NOTES ON THREADS" section to Documentation/git-grep.txt. [1]: chromium’s repo at commit 03ae96f (“Add filters testin

[PATCH v2 05/11] object-store: allow threaded access to object reading

2019-09-29 Thread Matheus Tavares
object reading lock only works in conjunction with the 'struct raw_object_store's replace_mutex. Otherwise, there would still be racy spots in object reading functions. Signed-off-by: Matheus Tavares --- object-store.h | 35 +++ packfile.c |

[PATCH v2 06/11] grep: replace grep_read_mutex by internal obj read lock

2019-09-29 Thread Matheus Tavares
some of them will require additional modifications to be removed from the critical section, this will be done in its own patch. Signed-off-by: Matheus Tavares --- builtin/grep.c | 46 -- grep.c | 39 +++

[PATCH v2 04/11] replace-object: make replace operations thread-safe

2019-09-29 Thread Matheus Tavares
;s not really worthy since the warning doesn't represent a real problem. Instead, to make sure we don't get false positives (at ThreadSanitizer, at least) an entry for the respective function is added to .tsan-suppressions. Signed-off-by: Matheus Tavares --- .tsan-suppressions | 6

[PATCH v2 02/11] grep: fix race conditions at grep_submodule()

2019-09-29 Thread Matheus Tavares
ow. But we better protect ourselves against this possibility, anyway. So, to solve these issues, move both of these function calls into the critical section of grep_read_mutex. Signed-off-by: Matheus Tavares --- builtin/grep.c | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git

[PATCH v2 01/11] grep: fix race conditions on userdiff calls

2019-09-29 Thread Matheus Tavares
acing grep_read_mutex for an internal object reading lock and allowing parallel inflation during object reading. Signed-off-by: Matheus Tavares --- grep.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/grep.c b/grep.c index cd952ef5d3..b29946def2 100644 --- a/grep.c +++ b/g

[PATCH v2 00/11] grep: improve threading and fix race conditions

2019-09-29 Thread Matheus Tavares
race condition fixes and being able to run --textconv and --recurse-submodules threaded now. Matheus Tavares (11): grep: fix race conditions on userdiff calls grep: fix race conditions at grep_submodule() grep: fix racy calls in grep_objects() replace-object: make replace operations thread

[PATCH v2 03/11] grep: fix racy calls in grep_objects()

2019-09-29 Thread Matheus Tavares
s with the call to gitmodules_config_oid() which also has parse_object() in its call stack. Fix that protecting both call with the said grep_read_mutex. Signed-off-by: Matheus Tavares --- builtin/grep.c | 5 + 1 file changed, 5 insertions(+) diff --git a/builtin/grep.c b/builtin/grep.c index

Re: [RFC PATCH 0/3] grep: don't add subrepos to in-memory alternates

2019-09-27 Thread Matheus Tavares Bernardino
On Sat, Sep 28, 2019 at 12:24 AM Junio C Hamano wrote: > > Matheus Tavares Bernardino writes: > > > Right, this would be the best way of doing it. However, I think this > > is not how it's currently implemented. I if correctly understood the &

Re: [RFC PATCH 0/3] grep: don't add subrepos to in-memory alternates

2019-09-21 Thread Matheus Tavares Bernardino
On Fri, Sep 20, 2019 at 1:26 PM Junio C Hamano wrote: > > Matheus Tavares Bernardino writes: > > > Hmm, I may have gotten a little confused here. Are you talking > > about the attributes stack (which contains .gitattributes and > > info/attributes)? If so, isn'

Re: [RFC PATCH 0/3] grep: don't add subrepos to in-memory alternates

2019-09-18 Thread Matheus Tavares Bernardino
On Wed, Sep 18, 2019 at 4:55 PM Junio C Hamano wrote: > > Matheus Tavares writes: > [...] > > - textconv cache is written to the_repository's object database even for > > submodules. Should it perhaps be written to submodules' odb instead? > > You mention &

[RFC PATCH 3/3] grep: don't add submodules to the alternates list

2019-09-17 Thread Matheus Tavares
will also help future patches to re-enable threads in non-worktree grep as less mutual exclusions will be needed. E.g. grep_submodule()'s call to parse_object_or_die() won't conflict with other calls to the same function by worker threads (as they should be referencing different '

[RFC PATCH 1/3] diff: use the given repo at diff_populate_filespec()

2019-09-17 Thread Matheus Tavares
diff_populate_filespec() accepts an struct repository "r" as parameter but implicitly uses the_repository when calling read_object_file(). To be more consistent, replace this call with repo_read_object_file(r, ...). Signed-off-by: Matheus Tavares --- diff.c | 2 +- 1 file changed, 1

[RFC PATCH 2/3] object: allow parse_object_or_die() to handle any repo

2019-09-17 Thread Matheus Tavares
r the third parameter as it's the default when NULL is given. This will be used in the following patch, to allow git-grep to parse submodule's objects. Signed-off-by: Matheus Tavares --- builtin/grep.c | 4 ++-- builtin/prune.c | 4 ++-- bundle.c| 13 - objec

[RFC PATCH 0/3] grep: don't add subrepos to in-memory alternates

2019-09-17 Thread Matheus Tavares
_file()? (Again, for paths inside the submodule, read_object_file() won't be able to find the object as we won't be adding to alternates anymore.) Matheus Tavares (3): diff: use the given repo at diff_populate_filespec() object: allow parse_object_or_die() to handle any repo

Re: What's cooking in git.git (Sep 2019, #01; Sat, 7)

2019-09-10 Thread Matheus Tavares Bernardino
Hi, Junio On Sat, Sep 7, 2019 at 2:27 PM Junio C Hamano wrote: > > * mt/threaded-grep-in-object-store (2019-08-13) 4 commits > - grep: re-enable threads in some non-worktree cases > - grep: disable grep_read_mutex when possible > - grep: allow locks to be enabled individually > - object-store

Re: [RFC] Post/tutorial for newcomers

2019-09-03 Thread Matheus Tavares Bernardino
added to the "Contributing to Git" section. > Thanks, > Pedro > > > Matheus Tavares Bernardino escreveu no dia > terça, 3/09/2019 à(s) 03:34: > > > > Hi, everyone > > > > I've been writing a blog post based on what I learned during GSoC to &

Re: [RFC] Post/tutorial for newcomers

2019-09-03 Thread Matheus Tavares Bernardino
On Tue, Sep 3, 2019 at 4:49 AM Olga Telezhnaya wrote: > > вт, 3 сент. 2019 г. в 05:32, Matheus Tavares Bernardino > : > > > > Here is the end result: > > https://matheustavares.gitlab.io/posts/first-steps-contributing-to-git > > If you have any comments or sugges

[RFC] Post/tutorial for newcomers

2019-09-02 Thread Matheus Tavares Bernardino
Hi, everyone I've been writing a blog post based on what I learned during GSoC to help other students here at FLUSP[1] start contributing as well. In the meantime `Documentation/MyFirstContribution.txt` was released, so I've pointed my interested colleagues to it. But since I was already pretty c

Re: [PATCH 1/2] config: allow config_with_options() to handle any repo

2019-08-29 Thread Matheus Tavares Bernardino
On Thu, Aug 29, 2019 at 11:00 AM Jeff King wrote: > > On Thu, Aug 29, 2019 at 04:31:34PM +0700, Duy Nguyen wrote: > > > > If so, how could we get R there? I mean, we could pass it through this > > > chain, but the chain already passes a "struct config_options", which > > > carries the "commondir"

Re: [PATCH 1/2] config: allow config_with_options() to handle any repo

2019-08-28 Thread Matheus Tavares Bernardino
On Tue, Aug 27, 2019 at 8:46 PM Matheus Tavares Bernardino wrote: > > Hi, Duy > > On Tue, Aug 27, 2019 at 6:26 AM Duy Nguyen wrote: > > > > On Tue, Aug 27, 2019 at 6:57 AM Matheus Tavares > > wrote: > > > > > > Currently, config_with_options() r

Re: [PATCH 1/2] config: allow config_with_options() to handle any repo

2019-08-27 Thread Matheus Tavares Bernardino
Hi, Duy On Tue, Aug 27, 2019 at 6:26 AM Duy Nguyen wrote: > > On Tue, Aug 27, 2019 at 6:57 AM Matheus Tavares > wrote: > > > > Currently, config_with_options() relies on the global the_repository > > when it has to configure from a blob. > > Not really reading

Re: How to build to debug with gdb?

2019-08-27 Thread Matheus Tavares Bernardino
On Tue, Aug 27, 2019 at 1:27 PM Giuseppe Crino' wrote: > > Hello, to debug some issues I built and installed git via > > $ make prefix=/usr/local DEVELOPER=1 CFLAGS="-O0 -g" > $ sudo make install > $ git --version # git version 2.23.0.40.g4d8aada92f Hmm, could it be perhaps that CFLAGS is being o

Re: [GSoC] My project blog

2019-08-26 Thread Matheus Tavares Bernardino
Hi, everyone Just wanted to share with you the final report on my GSoC project: https://matheustavares.gitlab.io/posts/gsoc-final-report I plan to continue the project (as it isn't finished yet) and keep contributing with whatever I can :) Thank you all for the support during this SoC! Best, Mat

[PATCH 1/2] config: allow config_with_options() to handle any repo

2019-08-26 Thread Matheus Tavares
ehind NO_THE_REPOSITORY_COMPATIBILITY_MACROS. Finally, adjust documentation and add a rule to coccinelle to reflect the change. Note: the following patch will take care of actually using the added function in place of config_with_options() at config_from_gitmodules(). Signed-off-by: Matheus Ta

[PATCH 2/2] submodule: pass repo instead of adding to alternates list

2019-08-26 Thread Matheus Tavares
27;d right after use whereas the_repository's alternates list doesn't). While we are here, let's also adjust the comment on top of config_from_gitmodules() to be explicit that it also handles the case where .gitmodules is not present at the working tree. Signed-off-by: Matheus T

[PATCH 0/2] config: make config_with_options() handle any repo

2019-08-26 Thread Matheus Tavares
This patchset makes more config.c functions handle arbitrary repos and use that to remove an add_to_alternates_memory() call in submodule-config.c. This should hopefully benefit performance and memory. Matheus Tavares (2): config: allow config_with_options() to handle any repo submodule: pass

Re: [GSoC] My project blog

2019-08-20 Thread Matheus Tavares Bernardino
On Tue, Aug 20, 2019 at 9:16 AM Christian Couder wrote: > > Hi Matheus, > > On Tue, Aug 20, 2019 at 1:28 PM Olga Telezhnaya > wrote: > > > > вт, 20 авг. 2019 г. в 07:59, Matheus Tavares Bernardino > > : > > > > > > I just poste

Re: [GSoC] My project blog

2019-08-19 Thread Matheus Tavares Bernardino
Hi, everyone I just posted the penultimate report on my project: https://matheustavares.gitlab.io/posts/going-for-a-too-big-step This week I’ve been working on a v2 of threaded git-grep w/ parallel inflation, to allow threads when grepping submodules. I also tried some more optimizations along the

Re: What's cooking in git.git (Aug 2019, #04; Wed, 14)

2019-08-15 Thread Matheus Tavares Bernardino
On Thu, Aug 15, 2019 at 1:57 PM Junio C Hamano wrote: > > Carlo Arenas writes: > > > On Wed, Aug 14, 2019 at 4:58 PM Matheus Tavares Bernardino > > wrote: > >> > >> On Wed, Aug 14, 2019 at 6:27 PM Junio C Hamano wrote: > >> > > >> [

Re: What's cooking in git.git (Aug 2019, #04; Wed, 14)

2019-08-14 Thread Matheus Tavares Bernardino
Hi, Junio On Wed, Aug 14, 2019 at 6:27 PM Junio C Hamano wrote: > [...] > * mt/grep-submodules-working-tree (2019-07-30) 1 commit > (merged to 'next' on 2019-08-02 at e1a46a195f) > + grep: fix worktree case in submodules There is a new version of this patch here[1], addressing the comments yo

Re: [GSoC] My project blog

2019-08-12 Thread Matheus Tavares Bernardino
Hi, everyone I just posted a new update on my project: https://matheustavares.gitlab.io/posts/simplified-version-of-parallel-inflation This week I sent a simplified version of the series I was working on last week (which would still take some time to finish). And I'm working to improve it with su

[GSoC][PATCH 0/4] grep: re-enable threads when cached, w/ parallel inflation

2019-08-10 Thread Matheus Tavares
. [1]: https://matheustavares.gitlab.io/posts/week-6-working-at-zlib-inflation#multithreading-zlib-inflation [2]: chromium’s repo at commit 03ae96f (“Add filters testing at DSF=2”, 04-06-2019), after a 'git gc' execution. travis build: https://travis-ci.org/matheustav

[GSoC][PATCH 2/4] grep: allow locks to be enabled individually

2019-08-10 Thread Matheus Tavares
ne in the following patch. Signed-off-by: Matheus Tavares --- builtin/grep.c | 2 +- grep.c | 4 ++-- grep.h | 8 ++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/builtin/grep.c b/builtin/grep.c index 560051784e..a871bad8ad 100644 --- a/builtin/grep.c +++ b

[GSoC][PATCH 3/4] grep: disable grep_read_mutex when possible

2019-08-10 Thread Matheus Tavares
git-grep uses 'grep_read_mutex' to protect some object reading operations. But these have their own internal lock now, which ensure a better performance (with more parallel regions). So, disable the former when it's possible to use the latter, with enable_obj_read_lock(). Signed-

[GSoC][PATCH 4/4] grep: re-enable threads in some non-worktree cases

2019-08-10 Thread Matheus Tavares
]: chromium’s repo at commit 03ae96f (“Add filters testing at DSF=2”, 04-06-2019), after a 'git gc' execution. Signed-off-by: Matheus Tavares --- Documentation/git-grep.txt | 12 builtin/grep.c | 3 ++- 2 files changed, 14 insertions(+), 1 deletion(-) di

[GSoC][PATCH 1/4] object-store: add lock to read_object_file_extended()

2019-08-10 Thread Matheus Tavares
, but now it is since phase I and phase III of unpack_entry() may execute concurrently. Signed-off-by: Matheus Tavares --- object-store.h | 4 packfile.c | 7 ++ sha1-file.c| 61 +- 3 files changed, 67 insertions(+), 5 deletions(-

Re: [GSoC] My project blog

2019-08-08 Thread Matheus Tavares Bernardino
On Tue, Aug 6, 2019 at 4:16 AM Christian Couder wrote: > > Hi Matheus, > > On Tue, Aug 6, 2019 at 4:54 AM Matheus Tavares Bernardino > wrote: > > > > Here's my report from last week: > > https://matheustavares.gitlab.io/posts/week-11-wip-grep-protecting-tex

Re: [GSoC] My project blog

2019-08-05 Thread Matheus Tavares Bernardino
Hi, Here's my report from last week: https://matheustavares.gitlab.io/posts/week-11-wip-grep-protecting-textconv-and-submodules I'm working to protect the operations I left behind on the first version of the patchset[1]. And for that, I used a lot of the code Duy provided[2] me as an example in th

[GSoC][PATCH v3] grep: fix worktree case in submodules

2019-07-31 Thread Matheus Tavares
nside grep_submodule(). Also, add tests to ensure that the desired behavior is performed. Reported-by: Daniel Zaoui Signed-off-by: Matheus Tavares --- Changes in v3: - Replaced the "\* ignored *\" comment by a more meaningful note at the top of grep_submodule() builtin/grep.c

Re: [GSoC][PATCH] grep: fix worktree case in submodules

2019-07-31 Thread Matheus Tavares Bernardino
On Wed, Jul 31, 2019 at 12:57 PM Junio C Hamano wrote: > > Christian Couder writes: > > > On Tue, Jul 30, 2019 at 10:04 PM Junio C Hamano wrote: > >> > >> Matheus Tavares writes: > > > >> > @@ -598,7 +599,8 @@ static int grep_tree(struct gre

[GSoC][PATCH v2] grep: fix worktree case in submodules

2019-07-31 Thread Matheus Tavares
nside grep_submodule(). Also, add tests to ensure that the desired behavior is performed. Reported-by: Daniel Zaoui Signed-off-by: Matheus Tavares --- Changes in v2: - repositioned the '/* ignored */' comment to avoid ambiguity - joined `git clean` and `git reset` invokations i

Re: [GSoC][PATCH] grep: fix worktree case in submodules

2019-07-30 Thread Matheus Tavares Bernardino
On Tue, Jul 30, 2019 at 5:04 PM Junio C Hamano wrote: > > Matheus Tavares writes: > > > @@ -475,7 +475,7 @@ static int grep_submodule(struct grep_opt *opt, > > strbuf_release(&base); > > free(data); > > } else { >

Re: [ANNOUNCE] Git v2.23.0-rc0 - Initial test failures on NonStop

2019-07-30 Thread Matheus Tavares Bernardino
Hi, Junio and Randall On Tue, Jul 30, 2019 at 2:31 PM Junio C Hamano wrote: > > "Randall S. Becker" writes: > > > t0066: dir-iterator > > > > Subtest 4 depends on a non-portable error code. ENOENT is not guaranteed ... > > Subtest 5 also depends on a non-portable error code. ENOTDIR is not gua..

[GSoC][PATCH] grep: fix worktree case in submodules

2019-07-30 Thread Matheus Tavares
nside grep_submodule(). Also, add tests to ensure that the desired behavior is performed. Reported-by: Daniel Zaoui Signed-off-by: Matheus Tavares --- builtin/grep.c | 10 ++ t/t7814-grep-recurse-submodules.sh | 21 + 2 files changed, 27 insertions(

Re: [GSoC] My project blog

2019-07-29 Thread Matheus Tavares Bernardino
Hi, everyone I just posted an update about my project here: https://matheustavares.gitlab.io/posts/week-10-a-bug-in-git-grep-submodules This one is focused on a patch to correct a bug at git-grep --recurse-submodules and some tests for the parallel inflation patchset. Please, feel free to leave an

Re: Weird behavior with git grep --recurse-submodules

2019-07-29 Thread Matheus Tavares Bernardino
On Tue, Jul 16, 2019 at 3:09 PM Daniel Zaoui wrote: > > Hi Matheus, Hi, Daniel I'm sorry, your last message went to my spam folder for some reason :( > Thank you for your response. > > I really hope the change Brandon made is not a project decision. At least, it > does seem to me like a bug. >

Re: [GSoC] My project blog

2019-07-22 Thread Matheus Tavares Bernardino
Hi, everyone Unfortunately, not quite much to report this week :( I'm attending DebConf until July 28th but I'm trying to conciliate that with the work on my project. You can see my brief report of last week here: https://matheustavares.gitlab.io/posts/week-9-an-rfc-on-parallel-inflation As alway

[GSoC][RFC WIP PATCH 1/3] object-store: make read_object_file_extended() thread-safe

2019-07-19 Thread Matheus Tavares
s possible as phase I and phase III of unpack_entry() may execute concurrently. Signed-off-by: Matheus Tavares --- object-store.h | 4 packfile.c | 7 +++ sha1-file.c| 56 +- 3 files changed, 62 insertions(+), 5 deletions(-) diff

[GSoC][RFC WIP PATCH 2/3] grep: remove locks on object reading operations

2019-07-19 Thread Matheus Tavares
git-grep has locks around the object reading operations it performs. But these have an internal lock now, which can be enabled through enable_obj_read_lock(). So let's use it and drop git-grep's ones. Signed-off-by: Matheus Tavares --- builtin/grep.c | 18 +++--- grep.c

[GSoC][RFC WIP PATCH 3/3] grep: re-enable threads in non-worktree case

2019-07-19 Thread Matheus Tavares
after 2 warmup runs. All tests were executed on a i7-7700HQ with 16GB of RAM and SSD. [1]: chromium’s repo at commit 03ae96f (“Add filters testing at DSF=2”, 04-06-2019), after a 'git gc' execution. Signed-off-by: Matheus Tavares --- builtin/grep.c | 2 +- 1 file changed, 1 ins

[GSoC][RFC WIP PATCH 0/3] grep: allow parallelism in zlib inflation

2019-07-19 Thread Matheus Tavares
lab.io/posts/week-6-working-at-zlib-inflation#multithreading-zlib-inflation [2]: chromium’s repo at commit 03ae96f (“Add filters testing at DSF=2”, 04-06-2019), after a 'git gc' execution. travis build: https://travis-ci.org/matheustavares/git/builds/561200398 Matheus Tavares (3):

Re: [GSoC] My project blog

2019-07-14 Thread Matheus Tavares Bernardino
On Sun, Jul 14, 2019 at 8:00 AM Christian Couder wrote: > > Hi Matheus, > > On Sun, Jul 14, 2019 at 9:38 AM Matheus Tavares Bernardino > wrote: > > > > I just posted a new update about my GSoC project here: > > https://matheustavares.gitlab.io/posts/week-8-a-work

Re: [GSoC] My project blog

2019-07-14 Thread Matheus Tavares Bernardino
Hi, everyone I just posted a new update about my GSoC project here: https://matheustavares.gitlab.io/posts/week-8-a-working-parallel-inflation Please, feel free to leave any comments. I've finally solved the race condition problem and now we have a working parallel inflation :) But there's still s

Re: [GSoC][PATCH v8 00/10] clone: dir-iterator refactoring with tests

2019-07-11 Thread Matheus Tavares Bernardino
On Thu, Jul 11, 2019 at 8:56 AM Johannes Schindelin wrote: > > Hi Matheus, > > On Wed, 10 Jul 2019, Matheus Tavares wrote: > > > - a replacement of explicit recursive dir iteration at > > copy_or_link_directory for the dir-iterator API; > > As far as I can s

Re: What's cooking in git.git (Jul 2019, #02; Tue, 9)

2019-07-10 Thread Matheus Tavares Bernardino
On Wed, Jul 10, 2019 at 3:58 PM Junio C Hamano wrote: > > Johannes Schindelin writes: > > > Hi Junio, > > > > On Tue, 9 Jul 2019, Junio C Hamano wrote: > > > >> * mt/dir-iterator-updates (2019-06-25) 10 commits > >> - clone: replace strcmp by fspathcmp > >> - clone: use dir-iterator to avoid ex

[GSoC][PATCH v8 09/10] clone: use dir-iterator to avoid explicit dir traversal

2019-07-10 Thread Matheus Tavares
error on readdir or stat inside dir_iterator_advance. Previously it would just print a warning for errors on stat and ignore errors on readdir, which isn't nice because a local git clone could succeed even though the .git/objects copy didn't fully succeed. Signed-off-by: Matheus Tavares --

[GSoC][PATCH v8 06/10] dir-iterator: add flags parameter to dir_iterator_begin

2019-07-10 Thread Matheus Tavares
Signed-off-by: Matheus Tavares --- dir-iterator.c | 56 + dir-iterator.h | 55 - refs/files-backend.c | 2 +- t/helper/test-dir-iterator.c | 34 +++ t/t0066-dir-iterator.sh

[GSoC][PATCH v8 07/10] clone: copy hidden paths at local clone

2019-07-10 Thread Matheus Tavares
' and '..' only but it ended up accidentally skipping all directories starting with '.'. Besides being more natural, the new behaviour is more permissive to the user. Also adjust tests to reflect this behaviour change. Signed-off-by: Matheus Tavares Signed-off-by: Ævar Arnf

[GSoC][PATCH v8 10/10] clone: replace strcmp by fspathcmp

2019-07-10 Thread Matheus Tavares
Replace the use of strcmp by fspathcmp at copy_or_link_directory, which is more permissive/friendly to case-insensitive file systems. Suggested-by: Nguyễn Thái Ngọc Duy Signed-off-by: Matheus Tavares --- builtin/clone.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a

[GSoC][PATCH v8 08/10] clone: extract function from copy_or_link_directory

2019-07-10 Thread Matheus Tavares
Extract dir creation code snippet from copy_or_link_directory to its own function named mkdir_if_missing. This change will help to remove copy_or_link_directory's explicit recursion, which will be done in a following patch. Also makes the code more readable. Signed-off-by: Matheus Ta

[GSoC][PATCH v8 05/10] dir-iterator: refactor state machine model

2019-07-10 Thread Matheus Tavares
) failures. Original-patch-by: Daniel Ferreira Signed-off-by: Matheus Tavares --- dir-iterator.c | 234 ++- dir-iterator.h | 17 ++- refs/files-backend.c | 17 ++- t/helper/test-dir-iterator.c | 5 + t/t0066-dir-iterator.sh

[GSoC][PATCH v8 04/10] dir-iterator: use warning_errno when possible

2019-07-10 Thread Matheus Tavares
Change warning(..., strerror(errno)) by warning_errno(...). This helps to unify warning display besides simplifying a bit the code. Also, improve warning messages by surrounding paths with quotation marks and using more meaningful statements. Signed-off-by: Matheus Tavares --- dir-iterator.c

[GSoC][PATCH v8 03/10] dir-iterator: add tests for dir-iterator API

2019-07-10 Thread Matheus Tavares
Ferreira [matheus.bernardino: update to use test-tool and some minor aesthetics] Helped-by: Matheus Tavares Signed-off-by: Matheus Tavares --- Makefile | 1 + t/helper/test-dir-iterator.c | 33 ++ t/helper/test-tool.c | 1 + t/helper/test-tool.h

[GSoC][PATCH v8 02/10] clone: better handle symlinked files at .git/objects/

2019-07-10 Thread Matheus Tavares
int to dereferenced paths, instead of the symlinks themselves. Also, add tests for symlinked files at .git/objects/. Note: Git won't create symlinks at .git/objects itself, but it's better to handle this case and be friendly with users who manually create them. Signed-off-by: Matheus

[GSoC][PATCH v8 01/10] clone: test for our behavior on odd objects/* content

2019-07-10 Thread Matheus Tavares
a...@gmail.com/ Signed-off-by: Ævar Arnfjörð Bjarmason [matheus.bernardino: improved and split tests in more than one patch] Helped-by: Matheus Tavares Signed-off-by: Matheus Tavares --- t/t5604-clone-reference.sh | 111 + 1 file changed, 111 insertions(+)

[GSoC][PATCH v8 00/10] clone: dir-iterator refactoring with tests

2019-07-10 Thread Matheus Tavares
r.qro.7.76.6.1907041136530...@tvgsbejvaqbjf.bet/ travis build: https://travis-ci.org/matheustavares/git/builds/557047597 Daniel Ferreira (1): dir-iterator: add tests for dir-iterator API Matheus Tavares (8): clone: better handle symlinked files at .git/objects/ dir-iterator: use warning_errno when possible

Re: Weird behavior with git grep --recurse-submodules

2019-07-09 Thread Matheus Tavares Bernardino
On Mon, Jul 8, 2019 at 5:22 AM Daniel Zaoui wrote: > > Hi guys, Hi, Daniel > I work with submodules and use git grep a lot. > > I noted that when it is invoked used with --recurse-submodules, the result is > not as expected for the submodules. I get submodules results as if no files > were mod

Re: mt/dir-iterator-updates, was Re: What's cooking in git.git (Jul 2019, #01; Wed, 3)

2019-07-08 Thread Matheus Tavares Bernardino
On Fri, Jul 5, 2019 at 3:17 PM Johannes Schindelin wrote: > > Hi Matheus, > > On Fri, 5 Jul 2019, Matheus Tavares Bernardino wrote: > > > > So, should I send a fixup patch removing find_recursive_symlinks() or > > reroll the series? There's also the option

Re: [GSoC][PATCH v7 06/10] dir-iterator: add flags parameter to dir_iterator_begin

2019-07-08 Thread Matheus Tavares Bernardino
Thanks for the review. I'll address those issues in v8. Best, Matheus On Wed, Jul 3, 2019 at 5:57 AM SZEDER Gábor wrote: > > > diff --git a/t/t0066-dir-iterator.sh b/t/t0066-dir-iterator.sh > > index c739ed7911..8f996a31fa 100755 > > --- a/t/t0066-dir-iterator.sh > > +++ b/t/t0066-dir-iterator.

Re: mt/dir-iterator-updates, was Re: What's cooking in git.git (Jul 2019, #01; Wed, 3)

2019-07-05 Thread Matheus Tavares Bernardino
On Thu, Jul 4, 2019 at 6:30 PM Johannes Schindelin wrote: > > Hi Matheus, > > On Thu, 4 Jul 2019, Matheus Tavares Bernardino wrote: > > > > I wanted to take a look at the failures to see if I could help, [...] > > Could you point me to the right place, please? [.

Re: mt/dir-iterator-updates, was Re: What's cooking in git.git (Jul 2019, #01; Wed, 3)

2019-07-04 Thread Matheus Tavares Bernardino
Hi, Dscho On Thu, Jul 4, 2019 at 7:02 AM Johannes Schindelin wrote: > > Hi Junio, > > On Wed, 3 Jul 2019, Junio C Hamano wrote: > > > * mt/dir-iterator-updates (2019-06-25) 10 commits [...] > > Is this ready for 'next'? > > No. It still breaks many dozens of test cases on Windows (if not more) >

[GSoC] My project blog

2019-07-02 Thread Matheus Tavares Bernardino
Hi, everyone I've been posting about the progress of my GSoC project at https://matheustavares.gitlab.io/gsoc/ I should have sent the link earlier but, please, let me know if you have any comments on my previous posts. You can read my latest update here: https://matheustavares.gitlab.io/posts/wee

Re: [GSoC][PATCH v7 06/10] dir-iterator: add flags parameter to dir_iterator_begin

2019-06-28 Thread Matheus Tavares Bernardino
On Fri, Jun 28, 2019 at 9:50 AM Johannes Schindelin wrote: > > Hi Matheus, > > On Thu, 27 Jun 2019, Matheus Tavares Bernardino wrote: > > > On Thu, Jun 27, 2019 at 3:47 PM Johannes Schindelin > > wrote: > > > > > > On Thu, 27 Jun 2019, Matheus Tavare

Re: [GSoC][PATCH v7 06/10] dir-iterator: add flags parameter to dir_iterator_begin

2019-06-27 Thread Matheus Tavares Bernardino
On Thu, Jun 27, 2019 at 3:47 PM Johannes Schindelin wrote: > > Hi Matheus, > > On Thu, 27 Jun 2019, Matheus Tavares Bernardino wrote: > > > On Wed, Jun 26, 2019 at 3:04 PM Junio C Hamano wrote: > > > > > > Johannes Schindelin writes: > > > > &g

Re: [GSoC][PATCH v7 06/10] dir-iterator: add flags parameter to dir_iterator_begin

2019-06-27 Thread Matheus Tavares Bernardino
On Wed, Jun 26, 2019 at 3:04 PM Junio C Hamano wrote: > > Johannes Schindelin writes: > > > Hi Matheus, > > > > On Tue, 18 Jun 2019, Matheus Tavares wrote: > > > >>[...] > >> +/* > >> + * Look for a recursive symlink at iter->bas

Re: [GSoC][PATCH v7 06/10] dir-iterator: add flags parameter to dir_iterator_begin

2019-06-25 Thread Matheus Tavares Bernardino
On Tue, Jun 25, 2019 at 3:00 PM Junio C Hamano wrote: > > Matheus Tavares writes: > > This hunk, which claims to have 25 lines in the postimage ... > > > @@ -44,6 +45,25 @@ > > * dir_iterator_advance() again. > > */ > > >

Re: [GSoC][PATCH v7 00/10] clone: dir-iterator refactoring with tests

2019-06-21 Thread Matheus Tavares Bernardino
On Thu, Jun 20, 2019 at 5:18 PM Junio C Hamano wrote: > > Matheus Tavares writes: > > > Daniel Ferreira (1): > > dir-iterator: add tests for dir-iterator API > > > > Matheus Tavares (8): > > clone: better handle symlinked files at .git/objects/ >

Re: [GSoC][PATCH v7 00/10] clone: dir-iterator refactoring with tests

2019-06-18 Thread Matheus Tavares Bernardino
On Tue, Jun 18, 2019 at 8:28 PM Matheus Tavares wrote: > > This patchset contains: > - tests to the dir-iterator API; > - dir-iterator refactoring to make its state machine simpler > and feature adding with tests; > - a replacement of explicit recursiv

[GSoC][PATCH v7 10/10] clone: replace strcmp by fspathcmp

2019-06-18 Thread Matheus Tavares
Replace the use of strcmp by fspathcmp at copy_or_link_directory, which is more permissive/friendly to case-insensitive file systems. Suggested-by: Nguyễn Thái Ngọc Duy Signed-off-by: Matheus Tavares --- builtin/clone.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a

[GSoC][PATCH v7 07/10] clone: copy hidden paths at local clone

2019-06-18 Thread Matheus Tavares
' and '..' only but it ended up accidentally skipping all directories starting with '.'. Besides being more natural, the new behaviour is more permissive to the user. Also adjust tests to reflect this behaviour change. Signed-off-by: Matheus Tavares Signed-off-by: Ævar Arnf

[GSoC][PATCH v7 05/10] dir-iterator: refactor state machine model

2019-06-18 Thread Matheus Tavares
) failures. Original-patch-by: Daniel Ferreira Signed-off-by: Matheus Tavares --- dir-iterator.c | 234 ++- dir-iterator.h | 15 ++- refs/files-backend.c | 17 ++- t/helper/test-dir-iterator.c | 5 + t/t0066-dir-iterator.sh

[GSoC][PATCH v7 09/10] clone: use dir-iterator to avoid explicit dir traversal

2019-06-18 Thread Matheus Tavares
recursive symlinks will be detected and skipped. This is another behavior improvement, since the current version would continue to copy the same content over and over until stat() returned an ELOOP error. Signed-off-by: Matheus Tavares --- builtin/cl

[GSoC][PATCH v7 06/10] dir-iterator: add flags parameter to dir_iterator_begin

2019-06-18 Thread Matheus Tavares
Signed-off-by: Matheus Tavares --- dir-iterator.c | 82 +-- dir-iterator.h | 51 ++- refs/files-backend.c | 2 +- t/helper/test-dir-iterator.c | 34 ++--- t/t0066-dir-iterator.sh

[GSoC][PATCH v7 03/10] dir-iterator: add tests for dir-iterator API

2019-06-18 Thread Matheus Tavares
Ferreira [matheus.bernardino: update to use test-tool and some minor aesthetics] Helped-by: Matheus Tavares Signed-off-by: Matheus Tavares --- Makefile | 1 + t/helper/test-dir-iterator.c | 33 ++ t/helper/test-tool.c | 1 + t/helper/test-tool.h

[GSoC][PATCH v7 04/10] dir-iterator: use warning_errno when possible

2019-06-18 Thread Matheus Tavares
Change warning(..., strerror(errno)) by warning_errno(...). This helps to unify warning display besides simplifying a bit the code. Also, improve warning messages by surrounding paths with quotation marks and using more meaningful statements. Signed-off-by: Matheus Tavares --- dir-iterator.c

[GSoC][PATCH v7 08/10] clone: extract function from copy_or_link_directory

2019-06-18 Thread Matheus Tavares
Extract dir creation code snippet from copy_or_link_directory to its own function named mkdir_if_missing. This change will help to remove copy_or_link_directory's explicit recursion, which will be done in a following patch. Also makes the code more readable. Signed-off-by: Matheus Ta

[GSoC][PATCH v7 02/10] clone: better handle symlinked files at .git/objects/

2019-06-18 Thread Matheus Tavares
int to dereferenced paths, instead of the symlinks themselves. Also, add tests for symlinked files at .git/objects/. Note: Git won't create symlinks at .git/objects itself, but it's better to handle this case and be friendly with users who manually create them. Signed-off-by: Matheus

[GSoC][PATCH v7 01/10] clone: test for our behavior on odd objects/* content

2019-06-18 Thread Matheus Tavares
a...@gmail.com/ Signed-off-by: Ævar Arnfjörð Bjarmason [matheus.bernardino: improved and split tests in more than one patch] Helped-by: Matheus Tavares Signed-off-by: Matheus Tavares --- t/t5604-clone-reference.sh | 111 + 1 file changed, 111 insertions(+)

  1   2   >