It was great to meet some of you in person! Some notes from the
Contributor Summit at Git Merge are below. Taken in haste, so
my apologies if there are any mis-statements.
- Alex
"Does anyone think there's a compellin
On Mon, 13 Nov 2017, Ben Peart wrote:
> Why do you redirect stdout to stderr and then and perform an "echo"
> afterwards? I don't understand what benefit that provides. I removed this
> logic and the test still passes so am confused as to what its purpose is.
Ah -- the "echo" was purely to clean
it shell prompt when
GIT_PS1_SHOWDIRTYSTATE is set.
Signed-off-by: Alex Vandiver
---
builtin/add.c | 2 +-
diff-lib.c| 6 ++
diff.h| 2 ++
3 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/builtin/add.c b/builtin/add.c
index bf01d89e2..bba20b46e 100644
--- a/builtin/add.c
+++ b/bui
These were mistakenly left in when the test was introduced, in
1487372d3 ("fsmonitor: store fsmonitor bitmap before splitting index",
2017-11-09)
Signed-off-by: Alex Vandiver
---
t/t7519-status-fsmonitor.sh | 2 --
1 file changed, 2 deletions(-)
diff --git a/t/t7519-status-fsmoni
On Tue, 19 Dec 2017, Junio C Hamano wrote:
> Alex Vandiver writes:
>
> > Subject: Re: [PATCH 2/6] fsmonitor: Add dir.h include, for
> > untracked_cache_invalidate_path
>
> Perhaps
>
> "Subject: fsmonitor.h: include dir.h"
Certainly more concise.
On Mon, 18 Dec 2017, Alex Vandiver wrote:
> dd9005a0a ("fsmonitor: delay updating state until after split index is
> merged", 2017-10-27) began deferring the setting of the
> CE_FSMONITOR_VALID flag until later, such that do_read_index() does
> not perform those steps. Th
On Tue, 19 Dec 2017, Junio C Hamano wrote:
> That (and existing) uses of printf() all feel a bit overkill ;-)
> Perhaps putchar() would suffice.
>
> I am not sure if the above wants to become something like
>
> for (i = 0; i < istate->cache_nr; i++) {
> putchar(istate->cache[
On Thu, 30 Nov 2017, Jeff King wrote:
> On Wed, Nov 29, 2017 at 07:54:30PM +, Ævar Arnfjörð Bjarmason wrote:
>
> > Replace the perl/Makefile.PL and the fallback perl/Makefile used under
> > NO_PERL_MAKEMAKER=NoThanks with a much simpler implementation heavily
> > inspired by how the i18n infra
-- >8 --
>From 445d45027bb5b7823338cf111910d2884af6318b Mon Sep 17 00:00:00 2001
From: Alex Vandiver
Date: Tue, 3 Oct 2017 23:27:46 -0700
Subject: [PATCH] fsmonitor: Read entirety of watchman output
In perl, setting $/ sets the string that is used as the "record
separator," which sets the boundary that the
Heya,
As part of gathering some automated performance statistics of git, it
would be useful to be able to extract some vital properties of the
index. While `git update-index` has ways to _set_ the index version,
and enable/disable various extensions, AFAICT there is no method by
which one can ask
On Fri, 6 Oct 2017, Junio C Hamano wrote:
> > Do folks have feelings about surfacing this information, and where such
> > logic should live?
>
> Probably one of the t/helper/test-dump-*.c programs, if we already
> do not have one.
The goal would be to be able to extract this information from
repo
On Fri, 6 Oct 2017, Junio C Hamano wrote:
> Yes, and I am saying that such logic should not live in standard
> install outside developer tools ;-)
Fair enough. It seems a little odd to me that git provides logic for
_altering_ those bits, but not to report on the state that can be so
altered.
-
Signed-off-by: Alex Vandiver
---
Documentation/git.txt | 4
1 file changed, 4 insertions(+)
diff --git a/Documentation/git.txt b/Documentation/git.txt
index 1fca63634..720db196e 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -594,6 +594,10 @@ into it.
Unsetting the
This provides small performance savings.
Signed-off-by: Alex Vandiver
---
t/t7519/fsmonitor-watchman | 2 +-
templates/hooks--fsmonitor-watchman.sample | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/t/t7519/fsmonitor-watchman b/t/t7519/fsmonitor-watchman
tmap until after tweak_split_index
has been called to merge in the base index as well.
Signed-off-by: Alex Vandiver
---
cache.h | 1 +
fsmonitor.c | 38 --
read-cache.c | 4
3 files changed, 29 insertions(+), 14 deletions(-)
diff --git a/cache.h
Signed-off-by: Alex Vandiver
---
t/t7519/fsmonitor-watchman | 3 ++-
templates/hooks--fsmonitor-watchman.sample | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/t/t7519/fsmonitor-watchman b/t/t7519/fsmonitor-watchman
index a3e30bf54..377edc7be 100755
--- a
A few fixes found from playing around with the fsmonitor branch in
next.
- Alex
On Fri, 20 Oct 2017, Johannes Schindelin wrote:
> This is super expensive, as it means a full-blown new process instead of
> just a simple environment variable expansion.
>
> The idea behind using `PWD` instead was that Git will already have done
> all of the work of figuring out the top-level dir
On Fri, 20 Oct 2017, Ben Peart wrote:
> > While I am very much infavor of this change (I was not aware of the
> > --no-pretty option), I would like to see some statistics on that. Could
> > you measure the impact, please, and include the results in the commit
> > message?
> >
> > Ciao,
> > Johanne
On Fri, 20 Oct 2017, Johannes Schindelin wrote:
> From the diff, it is not immediately clear that fsmonitor_dirty is not
> leaked in any code path.
>
> Could you clarify this in the commit message, please?
Will do!
> > @@ -238,6 +225,29 @@ void remove_fsmonitor(struct index_state *istate)
> >
]|;
print CHLD_IN $query;
close CHLD_IN;
my $response = do {local $/; };
my $json_pkg;
eval {
require JSON::XSomething;
$json_pkg = "JSON::XSomething";
1;
} or do {
require JSON::PP;
$json_pkg = "JSON::PP";
}
Updated based on comments from Dscho and Ben. Thanks for those!
- Alex
Signed-off-by: Alex Vandiver
---
Documentation/git.txt | 4
1 file changed, 4 insertions(+)
diff --git a/Documentation/git.txt b/Documentation/git.txt
index 1fca63634..720db196e 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -594,6 +594,10 @@ into it.
Unsetting the
tmap until after tweak_split_index
has been called to merge in the base index as well.
The new fsmonitor_dirty is kept from being leaked by dint of being
cleaned up in post_read_index_from, which is guaranteed to be called
after do_read_index in read_index_from.
Signed-off-by: Alex Vandiver
--
CWD to the top of the working directory, for consistency.
Signed-off-by: Alex Vandiver
---
fsmonitor.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/fsmonitor.c b/fsmonitor.c
index 7c1540c05..0d26ff34f 100644
--- a/fsmonitor.c
+++ b/fsmonitor.c
@@ -121,6 +121,7 @@ static int query_fsmonitor
On Wed, 25 Oct 2017, Alex Vandiver wrote:
> The fsmonitor command inherits the PWD of its caller, which may be
> anywhere in the working copy. This makes is difficult for the
> fsmonitor command to operate on the whole repository. Specifically,
> for the watchman integration, this
On Thu, 26 Oct 2017, Ben Peart wrote:
> On 10/25/2017 9:31 PM, Alex Vandiver wrote:
> > diff --git a/fsmonitor.c b/fsmonitor.c
> > index 7c1540c05..0d26ff34f 100644
> > --- a/fsmonitor.c
> > +++ b/fsmonitor.c
> > @@ -121,6 +121,7 @@ static int query_fsmonitor(int
On Thu, 26 Oct 2017, Ben Peart wrote:
> On 10/25/2017 9:31 PM, Alex Vandiver wrote:
> > diff --git a/t/t7519/fsmonitor-watchman b/t/t7519/fsmonitor-watchman
> > index a3e30bf54..79f24325c 100755
> > --- a/t/t7519/fsmonitor-watchman
> > +++ b/t/t7519/fsmonitor-
On Thu, 26 Oct 2017, Ben Peart wrote:
> I saw your response but actually can't replicate it locally. I've been
> running with Watchman integration on all my repos for months and my "watchman
> watch-list" command only shows the root of the various working directories -
> no subdirectories.
Weird.
Signed-off-by: Alex Vandiver
---
Documentation/git.txt | 4
1 file changed, 4 insertions(+)
diff --git a/Documentation/git.txt b/Documentation/git.txt
index 1fca63634..720db196e 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -594,6 +594,10 @@ into it.
Unsetting the
tmap until after tweak_split_index
has been called to merge in the base index as well.
The new fsmonitor_dirty is kept from being leaked by dint of being
cleaned up in post_read_index_from, which is guaranteed to be called
after do_read_index in read_index_from.
Signed-off-by: Alex Vandiver
--
, "$ENV{PWD}", {}]|;
print CHLD_IN $query;
close CHLD_IN;
my $response = do {local $/; };
JSON::XS->new->utf8->decode($response);
Signed-off-by: Alex Vandiver
---
templates/hooks--fsmonitor-watchman.sample | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
dif
Updates since v2:
- Fix tab which crept into 1/4
- Fixed the benchmarking code in the commit message in 2/4 to just
always load JSON::XS -- the previous version was the version where
I'd broken that to force loading of JSON::PP.
- Remove the --no-pretty from the t/ version of query-watc
CWD to the top of the working directory, for consistency.
Signed-off-by: Alex Vandiver
---
fsmonitor.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/fsmonitor.c b/fsmonitor.c
index 7c1540c05..4ea44dcc6 100644
--- a/fsmonitor.c
+++ b/fsmonitor.c
@@ -121,6 +121,7 @@ static int query_fsmonitor
On Mon, 30 Oct 2017, Jeff King wrote:
> On Mon, Oct 30, 2017 at 08:48:48AM -0400, Ben Peart wrote:
>
> > Any updates or thoughts on this one? While the patch has become quite
> > trivial, it does results in a savings of 5%-15% in index load time.
>
> I like the general direction of avoiding the
On Tue, 31 Oct 2017, Junio C Hamano wrote:
> This makes local variable "int i;" in this function unused and gets
> compiler warning.
Apologies for leaving that detritus -- I saw you added a 'SQUASH??' commit
to deal with it, which LGTM.
On Tue, 31 Oct 2017, Johannes Schindelin wrote:
> ... to whi
A couple further patches for the fsmonitor branch, which ideally I'd
have noticed before my previous series landed.
In the first patch I believe I've found the underlying reason for the
PWD confusion in the previous go-around -- but I'm not sure I'm wholly
convinced about my solution to it. Speci
r_dirty is kept from being leaked by
being freed when the extension data is written -- which always happens
precisely once, no matter the split index configuration.
Signed-off-by: Alex Vandiver
---
fsmonitor.c | 20
fsmonitor.h | 9 -
re
s_ go through a shell.
Signed-off-by: Alex Vandiver
---
t/t7519/fsmonitor-watchman | 3 ++-
templates/hooks--fsmonitor-watchman.sample | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/t/t7519/fsmonitor-watchman b/t/t7519/fsmonitor-watchman
index a3e30bf54..5fe7
Heya,
We recently ran into a particularly troubling race condition, discovered
in git 2.0.0. The setup for it is as follows:
The repository is a bare repository, which developers push to via ssh;
it mirrors its changes out onto github. In its config:
[remote "github"]
url = g...@gi
On 07/02/2014 06:20 PM, Junio C Hamano wrote:
> Alex Vandiver writes:
>
>> [remote "github"]
>> url = g...@github.com:bestpractical/rt.git
>> fetch = +refs/*:refs/*
>> mirror = yes
>
> "git push github master^:maste
On 07/02/2014 07:10 PM, Alex Vandiver wrote:
> On 07/02/2014 06:20 PM, Junio C Hamano wrote:
>> Alex Vandiver writes:
>>
>>> [remote "github"]
>>> url = g...@github.com:bestpractical/rt.git
>>> fetch = +refs/*:refs/*
&g
Heya,
I just ran into the following with `git stash`. The set-up:
git init
echo "Initial" > foo
git add .
git commit -m 'Initial commit'
echo "Rewrite" > foo
git commit -am 'Second commit, rewrites content'
echo "Stashed changes" >> foo
On Thu, 2012-12-27 at 10:51 -0800, Junio C Hamano wrote:
> > $ git stash
> > foo: needs merge
> > foo: needs merge
> > foo: unmerged (aeaa7e5e87cf309a7368d5d92a71c1f9e6a8c9e7)
> > foo: unmerged (a77fa514de2720c72c1a861de098595959a2c97a)
> > foo: unmerged (4a622d2b991f1a19ba7be313a46dc6f03692cd0a)
>
On Tue, 2012-09-04 at 22:26 -0600, Ken Dreyer wrote:
> When importing CVS tags, strip all the inappropriate strings from the
> tag names as we translate them to git tag names.
>
> [snip]
> diff --git a/git-cvsimport.perl b/git-cvsimport.perl
> index 8d41610..0dc598d 100755
> --- a/git-cvsimport.per
45 matches
Mail list logo