Re: [PATCH v6 00/15] rebase -i: offer to recreate commit topology

2018-04-17 Thread Sergey Organov
Hi Jacob, Jacob Keller writes: > On Wed, Apr 11, 2018 at 10:42 PM, Sergey Organov wrote: >> Hi Jacob, >> >> Jacob Keller writes: >>> On Wed, Apr 11, 2018 at 6:13 AM, Sergey Organov wrote: It was

Re: [PATCH] worktree: accept -f as short for --force for removal

2018-04-17 Thread Eric Sunshine
On Tue, Apr 17, 2018 at 8:17 PM, Junio C Hamano wrote: > Eric Sunshine writes: >> Makes sense. A possible rewrite (of the entire commit message): >> >> worktree: remove: recognize -f as short for --force >> >> Many commands support a --force

Re: [PATCH v1 0/5] Allocate cache entries from memory pool

2018-04-17 Thread Junio C Hamano
Jameson Miller writes: > This patch series improves the performance of loading indexes by > reducing the number of malloc() calls. ... > > Jameson Miller (5): > read-cache: teach refresh_cache_entry to take istate > Add an API creating / discarding cache_entry structs >

Re: [PATCH 0/4] doc: cleaning up instances of \--

2018-04-17 Thread Junio C Hamano
Martin Ågren writes: > This is a patch series to convert \-- to -- in our documentation. The > first patch is a reiteration of 1c262bb7b2 (doc: convert \--option to > --option, 2015-05-13) to fix some instances that have appeared since. > The other three patches deal with

Re: [PATCH/RFC] completion: complete all possible -no-

2018-04-17 Thread Junio C Hamano
Nguyễn Thái Ngọc Duy writes: > So the other half of this patch, the part in git-completion.bash, is > to uncomplete --no- options. When you do "git checkout --", > instead of displaying all --no- options, this patch simply displays > one item: the --no- prefix. If you do "git

Re: [PATCH] docs/git-gc: fix minor rendering issue

2018-04-17 Thread Junio C Hamano
SZEDER Gábor writes: > An unwanted single quote character in the paragraph documenting the > 'gc.aggressiveWindow' config variable prevented the name of that > config variable from being rendered correctly, ever since that piece > of docs was added in 0d7566a5ba (Add

Re: [PATCH 01/11] t9902-completion: add tests demonstrating issues with quoted pathnames

2018-04-17 Thread Junio C Hamano
SZEDER Gábor writes: >>> +test_expect_failure 'complete files - quoted characters on cmdline' ' >>> + test_when_finished "rm -r \"New(Dir\"" && >> >> This does not use -rf unlike the previous one? > > Noted. > > The lack of '-f' is leftover from early versions of these

Re: What's cooking in git.git (Apr 2018, #02; Tue, 17)

2018-04-17 Thread Junio C Hamano
Stefan Beller writes: >> What's the doneness of this thing? I didn't recall seeing any >> response, especially ones that demonstrated the reviewer carefully >> read and thought about the issues surrounding the code. Not that I >> spotted any problems in these patches

Re: [PATCH] send-email: avoid duplicate In-Reply-To/References

2018-04-17 Thread Eric Wong
Stefan Agner wrote: > This addresses the issue reported here: > https://public-inbox.org/git/997160314bbafb3088a401f1c09cc...@agner.ch/ Thanks for bringing this up. > --- a/git-send-email.perl > +++ b/git-send-email.perl > @@ -1642,10 +1642,15 @@ foreach my $t (@files) { >

Re: [PATCH 2/2] builtin/blame: highlight recently changed lines

2018-04-17 Thread Junio C Hamano
Eric Sunshine writes: > On Tue, Apr 17, 2018 at 5:30 PM, Stefan Beller wrote: >> Choose a different color for dates and imitate a 'temperature cool down' >> depending upon age. >> >> Originally I had planned to have the temperature cooldown dependent

Re: [PATCH 1/2] builtin/blame: dim uninteresting metadata lines

2018-04-17 Thread Junio C Hamano
Stefan Beller writes: > @@ -375,6 +378,7 @@ static void emit_other(struct blame_scoreboard *sb, > struct blame_entry *ent, int > struct commit_info ci; > char hex[GIT_MAX_HEXSZ + 1]; > int show_raw_time = !!(opt & OUTPUT_RAW_TIMESTAMP); > + const char

Re: [PATCH] worktree: accept -f as short for --force for removal

2018-04-17 Thread Junio C Hamano
Eric Sunshine writes: > On Tue, Apr 17, 2018 at 2:19 PM, Stefan Beller wrote: >> The force flag is very common in many commands and is commonly >> abbreviated with '-f', so add that to worktree removal, too by using >> OPT__FORCE instead of a self

Re: [PATCH 2/2] builtin/blame: highlight recently changed lines

2018-04-17 Thread Junio C Hamano
Stefan Beller writes: > On Mon, Apr 16, 2018 at 8:29 PM, Junio C Hamano wrote: >> It seems that this >> >> $ git -c color.blame.repeatedlines=cyan blame --heated-lines builtin/blame.c >> >> refuses to run. >> >> Would it work if the configuration is in

Re: man page for "git remote set-url" seems confusing/contradictory

2018-04-17 Thread Junio C Hamano
Jacob Keller writes: > Maybe something like: > > "Note that the push URL and the fetch URL, even though they can be set > differently, are expected to refer to the same repository. For > example, the fetch URL might use an unauthenticated transport, while > the push URL

Re: [PATCH v2] completion: reduce overhead of clearing cached --options

2018-04-17 Thread Junio C Hamano
SZEDER Gábor writes: > To get the names of all '$__git_builtin_*' variables caching --options > of builtin commands in order to unset them, 8b0eaa41f2 (completion: > clear cached --options when sourcing the completion script, > 2018-03-22) runs a 'set |sed s///' pipeline.

Re: [PATCH 01/11] t9902-completion: add tests demonstrating issues with quoted pathnames

2018-04-17 Thread SZEDER Gábor
On Wed, Apr 18, 2018 at 1:32 AM, SZEDER Gábor wrote: > On Tue, Apr 17, 2018 at 5:48 AM, Junio C Hamano wrote: >> SZEDER Gábor writes: >> >>> Do any more new tests need FUNNYNAMES* prereq? >> >> Hmph, all of these look like they

Re: [PATCH 01/11] t9902-completion: add tests demonstrating issues with quoted pathnames

2018-04-17 Thread SZEDER Gábor
On Tue, Apr 17, 2018 at 5:48 AM, Junio C Hamano wrote: > SZEDER Gábor writes: > >> Do any more new tests need FUNNYNAMES* prereq? > > Hmph, all of these look like they involve some funnynames ;-) Well, I can' create a directory with a '|' in its name

Re: GDPR compliance best practices?

2018-04-17 Thread Peter Backes
On Tue, Apr 17, 2018 at 11:38:26PM +0200, Ævar Arnfjörð Bjarmason wrote: > I've been loosely following a similar discussion around blockchains and > my understanding of the situation is that for a project such as say > Linux the GDPR gives you this potential out for that[1]: > > "the personal

Re: [PATCH v1 2/5] Add an API creating / discarding cache_entry structs

2018-04-17 Thread Ben Peart
On 4/17/2018 12:34 PM, Jameson Miller wrote: Add an API around managing the lifetime of cache_entry structs. Abstracting memory management details behind an API will allow for alternative memory management strategies without affecting all the call sites. This commit does not change how memory

Re: [PATCH/RFC 0/5] Keep all info in command-list.txt in git binary

2018-04-17 Thread Philip Oakley
From: "Duy Nguyen" : Tuesday, April 17, 2018 5:48 PM On Tue, Apr 17, 2018 at 06:24:41PM +0200, Duy Nguyen wrote: On Sun, Apr 15, 2018 at 11:21 PM, Philip Oakley wrote: > From: "Duy Nguyen" : Saturday, April 14, 2018 4:44 > PM > >>

Re: [PATCH 1/1] git-p4: fix `sync --verbose` traceback due to 'fileSize'

2018-04-17 Thread Thandesha VK
Ah. I didn't realize the script is not using p4 sizes to get the size. I assumed that it is using p4 sizes. Now I am looking at it using p4 -G print. However, when the stack trace happened, I verified what is wrong and found out that the fileSize key is not returned for "p4 -G sizes" command. So

[PATCH v2] completion: reduce overhead of clearing cached --options

2018-04-17 Thread SZEDER Gábor
To get the names of all '$__git_builtin_*' variables caching --options of builtin commands in order to unset them, 8b0eaa41f2 (completion: clear cached --options when sourcing the completion script, 2018-03-22) runs a 'set |sed s///' pipeline. This works both in Bash and in ZSH, but has a higher

Re: [PATCH 2/2] builtin/blame: highlight recently changed lines

2018-04-17 Thread Eric Sunshine
On Tue, Apr 17, 2018 at 5:30 PM, Stefan Beller wrote: > Choose a different color for dates and imitate a 'temperature cool down' > depending upon age. > > Originally I had planned to have the temperature cooldown dependent on > the age of the project or file for example, as

Re: GDPR compliance best practices?

2018-04-17 Thread Ævar Arnfjörð Bjarmason
On Tue, Apr 17 2018, Peter Backes wrote: > I'd like to ask whether anyone has best practices for achieving GDPR > compliance for git repos? The GDPR will come into effect in the EU next > month. > > In particular, how do you cope with the "Right to erasure" concerning > entries in the history of

[PATCH] docs/git-gc: fix minor rendering issue

2018-04-17 Thread SZEDER Gábor
An unwanted single quote character in the paragraph documenting the 'gc.aggressiveWindow' config variable prevented the name of that config variable from being rendered correctly, ever since that piece of docs was added in 0d7566a5ba (Add --aggressive option to 'git gc', 2007-05-09). Remove that

Re: [PATCH 1/1] git-p4: fix `sync --verbose` traceback due to 'fileSize'

2018-04-17 Thread Mazo, Andrey
Thandesha, If I read your patch correctly, it adds a warning in case `p4 -G print` doesn't return "fileSize" (not `p4 sizes`). I don't see `p4 sizes` being used by git-p4 at all. As I said earlier, for our ancient Perforce server, `p4 -G print` _never_ returns "fileSize". So, it's definitely

[PATCH 1/2] builtin/blame: dim uninteresting metadata lines

2018-04-17 Thread Stefan Beller
When using git-blame lots of lines contain redundant information, for example in hunks that consist of multiple lines, the metadata (commit name, author, date) are repeated. A reader may not be interested in those, so offer an option to color the information that is repeated from the previous line

[PATCH 2/2] builtin/blame: highlight recently changed lines

2018-04-17 Thread Stefan Beller
Choose a different color for dates and imitate a 'temperature cool down' depending upon age. Originally I had planned to have the temperature cooldown dependent on the age of the project or file for example, as that might scale better, but that can be added on top of this commit, e.g. instead of

[PATCH 1/3] completion: rename save_opts to default_opts for stash

2018-04-17 Thread Thomas Gummerer
'git stash save' is deprecated, but we still call the options for completion 'save_opts'. Simply renaming them to 'push_opts' is not ideal because for example '--message foo' can't be passed directly to 'git stash', as non-option arguments are not allowed, and foo would be treated as one.

[PATCH 3/3] completion: make stash -p and alias for stash push -p

2018-04-17 Thread Thomas Gummerer
We define 'git stash -p' as an alias for 'git stash push -p' in the manpage. Do the same in the completion script, so all options that can be given to 'git stash push' are being completed when the user is using 'git stash -p --'. Currently the only additional option the user will get is

[PATCH 2/3] completion: stop completing 'save' as stash subcommand

2018-04-17 Thread Thomas Gummerer
The 'save' subcommand in git stash has been deprecated in fd2ebf14db ("stash: mark "git stash save" deprecated in the man page", 2017-10-22). It is however still completed by the git bash completion. Stop completing the 'save' subcommand as a further step in the deprecation process. As the only

[PATCH 0/3] completion: improvements for git stash

2018-04-17 Thread Thomas Gummerer
In this series we stop completing the 'git stash save' subcommand in git-completion.bash. The command has been deprecated for a while, so I think we're doing the users a disservice by still completing it, making them think it's still supported while we already deprecated it. The first commit is

Re: [PATCH 1/1] git-p4: fix `sync --verbose` traceback due to 'fileSize'

2018-04-17 Thread Thandesha VK
My fix is for the case where p4 -G sizes not returning the key and value for fileSize. This can happen in some cases. Only option at that point of time is to warn the user about the problematic file and keep moving (or should we abort??) Thanks Thandesha On Tue, Apr 17, 2018 at 2:18 PM, Mazo,

Re: [PATCH 1/1] git-p4: fix `sync --verbose` traceback due to 'fileSize'

2018-04-17 Thread Mazo, Andrey
Luke, Thank you for reviewing and acking my patch! By the way, did you see Thandesha's proposed patch [1] to print a warning in case of the missing "fileSize" attribute? Should we go that route instead? Or should we try harder to get the size by running `p4 -G sizes`? [1]

[PATCH] send-email: avoid duplicate In-Reply-To/References

2018-04-17 Thread Stefan Agner
In case a patch already has In-Reply-To or References in the header (e.g. when the patch has been created with format-patch --thread) git-send-email should not add another pair of those headers. This is also not allowed according to RFC 5322 Section 3.6:

Basketball Enthusiasts List

2018-04-17 Thread Stacey Parsons
Hi, Would you be interested in acquiring an email list of "Basketball Enthusiasts" from USA? We also have data for Tennis Enthusiasts, Running Enthusiasts, Boxing Enthusiasts, Golfers List,Health and Fitness Enthusiasts, Soccer Enthusiasts, Baseball Enthusiasts, Outdoor Enthusiasts,

GDPR compliance best practices?

2018-04-17 Thread Peter Backes
Hi, I'd like to ask whether anyone has best practices for achieving GDPR compliance for git repos? The GDPR will come into effect in the EU next month. In particular, how do you cope with the "Right to erasure" concerning entries in the history of your git repos? Erasing author names from

Re: [PATCH 2/2] builtin/blame: highlight recently changed lines

2018-04-17 Thread Stefan Beller
On Tue, Apr 17, 2018 at 12:31 PM, Stefan Beller wrote: > On Mon, Apr 16, 2018 at 8:29 PM, Junio C Hamano wrote: >> It seems that this >> >> $ git -c color.blame.repeatedlines=cyan blame --heated-lines builtin/blame.c >> >> refuses to run. >> >> Would it

Re: [PATCH 2/2] builtin/blame: highlight recently changed lines

2018-04-17 Thread Stefan Beller
On Mon, Apr 16, 2018 at 8:29 PM, Junio C Hamano wrote: > It seems that this > > $ git -c color.blame.repeatedlines=cyan blame --heated-lines builtin/blame.c > > refuses to run. > > Would it work if the configuration is in .git/config instead, or > would it forever disable

[PATCH 3/4] git-[short]log.txt: unify quoted standalone --

2018-04-17 Thread Martin Ågren
In git-log.txt, we have an instance of \--, which is known to sometimes render badly. This one is even worse than normal though, since ``\-- '' (with or without that trailing space) appears to be entirely broken, both in HTML and manpages, both with AsciiDoc (version 8.6.9) and Asciidoctor

[PATCH 4/4] git-submodule.txt: quote usage in monospace, drop backslash

2018-04-17 Thread Martin Ågren
We tend to quote command line examples using `` to set them in a monospace font. The immediate motivation for this patch is to get rid of another instance of \--. As noted in the previous commits, \-- has a tendency of rendering badly. Here, it renders ok (at least with AsciiDoc 8.6.9 and

[PATCH 0/4] doc: cleaning up instances of \--

2018-04-17 Thread Martin Ågren
This is a patch series to convert \-- to -- in our documentation. The first patch is a reiteration of 1c262bb7b2 (doc: convert \--option to --option, 2015-05-13) to fix some instances that have appeared since. The other three patches deal with standalone "\--" which we can't always turn into "--"

[PATCH 2/4] doc: convert [\--] to [--]

2018-04-17 Thread Martin Ågren
Commit 1c262bb7b (doc: convert \--option to --option, 2015-05-13) explains that we used to need to write \--option to play well with older versions of AsciiDoc, but that we do not support such versions anymore anyway, and that Asciidoctor literally renders \--. With [\--], which is used to denote

[PATCH 1/4] doc: convert \--option to --option

2018-04-17 Thread Martin Ågren
Rather than using a backslash in \--foo, with or without ''-quoting, write `--foo` for better rendering. As explained in commit 1c262bb7b (doc: convert \--option to --option, 2015-05-13), the backslash is not needed for the versions of AsciiDoc that we support, but is rendered literally by

Re: [BUG] git p4 clone fails when p4 sizes does not return 'fileSize' key

2018-04-17 Thread Thandesha VK
I have few cases where even p4 -G sizes (or p4 sizes) is not returning the size value even with latest version of p4 (17.2). In that case, we have to regenerate the digest for file save it - It mean something is wrong with the file in perforce. Regarding, sys.stdout.write v/s print, I see script

Re: [PATCH 1/2] builtin/blame: dim uninteresting metadata lines

2018-04-17 Thread Stefan Beller
Hi Junio, >> -#define OUTPUT_SHOW_SCORE 0100 >> -#define OUTPUT_NO_AUTHOR 0200 >> +#define OUTPUT_SHOW_SCORE0100 >> +#define OUTPUT_NO_AUTHOR 0200 > > I wondered what these are about; they are about aligning with HT > assuming 8-place tab stop like the other lines. correct.

Re: [PATCH v1 1/5] read-cache: teach refresh_cache_entry to take istate

2018-04-17 Thread Ben Peart
On 4/17/2018 12:34 PM, Jameson Miller wrote: Refactoring dependencies of make_cache_entry to work on a specific Refactoring/Refactor It's helpful to refer to functions with parens i.e. make_cache_entry(). In addition, it appears you only needed to update refresh_cache_entry() so perhaps

Re: [RFC PATCH 00/12] Integrate commit-graph into 'fsck' and 'gc'

2018-04-17 Thread Derrick Stolee
On 4/17/2018 2:10 PM, Derrick Stolee wrote: The commit-graph feature is not useful to end users until the commit-graph file is maintained automatically by Git during normal upkeep operations. One natural place to trigger this write is during 'git gc'. Before automatically generating a

Re: [BUG] git p4 clone fails when p4 sizes does not return 'fileSize' key

2018-04-17 Thread Mazo, Andrey
Does a missing "fileSize" actually mean that there is something wrong with the file? Because, for me, `p4 -G print` doesn't print "fileSize" for _any_ file. (which I attribute to our rather ancient (2007.2) Perforce server) I'm not an expert in Perforce, so don't know for sure. However, `p4 -G

Re: [PATCH] worktree: accept -f as short for --force for removal

2018-04-17 Thread Eric Sunshine
On Tue, Apr 17, 2018 at 2:19 PM, Stefan Beller wrote: > The force flag is very common in many commands and is commonly > abbreviated with '-f', so add that to worktree removal, too by using > OPT__FORCE instead of a self cooked OPT_BOOL for force. The missing bit of this

Re: [PATCH v1 0/5] Allocate cache entries from memory pool

2018-04-17 Thread Ben Peart
On 4/17/2018 12:34 PM, Jameson Miller wrote: 100K Test baseline [4] block_allocation 0002.1: read_cache/discard_cache 1 times 0.03(0.01+0.01)

Re: [PATCH 8/8] gpg-interface: handle alternative signature types

2018-04-17 Thread Taylor Blau
On Tue, Apr 17, 2018 at 12:08:20PM -0600, Ben Toews wrote: > On Mon, Apr 16, 2018 at 7:54 PM, Junio C Hamano wrote: > > "brian m. carlson" writes: > > > >> If we just want to add gpgsm support, that's fine, but we should be > >> transparent about

[PATCH] worktree: accept -f as short for --force for removal

2018-04-17 Thread Stefan Beller
The force flag is very common in many commands and is commonly abbreviated with '-f', so add that to worktree removal, too by using OPT__FORCE instead of a self cooked OPT_BOOL for force. While at it, add the PARSE_OPT_NOCOMPLETE flag to the force command line option as forcing a removal may lose

[PATCH/RFC] completion: complete all possible -no-

2018-04-17 Thread Nguyễn Thái Ngọc Duy
This is not a complete topic but I'd like to present the problem and my approach to see if it's a good way to go. We have started recently to rely on parse-options to help complete options. One of the leftover items is allowing completing --no- form. This patch enables that (some options should

[RFC PATCH 05/12] commit-graph: check fanout and lookup table

2018-04-17 Thread Derrick Stolee
While running 'git commit-graph check', verify that the object IDs are listed in lexicographic order and that the fanout table correctly navigates into that list of object IDs. In anticipation of checking the commits in the commit-graph file against the object database, parse the commits from

[RFC PATCH 00/12] Integrate commit-graph into 'fsck' and 'gc'

2018-04-17 Thread Derrick Stolee
The commit-graph feature is not useful to end users until the commit-graph file is maintained automatically by Git during normal upkeep operations. One natural place to trigger this write is during 'git gc'. Before automatically generating a commit-graph, we need to be able to verify the contents

[RFC PATCH 03/12] commit-graph: check file header information

2018-04-17 Thread Derrick Stolee
During a run of 'git commit-graph check', list the issues with the header information in the commit-graph file. Some of this information is inferred from the loaded 'struct commit_graph'. Signed-off-by: Derrick Stolee --- commit-graph.c | 29 -

[RFC PATCH 11/12] gc: automatically write commit-graph files

2018-04-17 Thread Derrick Stolee
The commit-graph file is a very helpful feature for speeding up git operations. In order to make it more useful, write the commit-graph file by default during standard garbage collection operations. Add a 'gc.commitGraph' config setting that triggers writing a commit-graph file after any

[RFC PATCH 02/12] commit-graph: add 'check' subcommand

2018-04-17 Thread Derrick Stolee
If the commit-graph file becomes corrupt, we need a way to verify its contents match the object database. In the manner of 'git fsck' we will implement a 'git commit-graph check' subcommand to report all issues with the file. Add the 'check' subcommand to the 'commit-graph' builtin and its

[RFC PATCH 08/12] commit-graph: verify commit contents against odb

2018-04-17 Thread Derrick Stolee
When running 'git commit-graph check', compare the contents of the commits that are loaded from the commit-graph file with commits that are loaded directly from the object database. This includes checking the root tree object ID, commit date, and parents. In addition, verify the generation number

[RFC PATCH 09/12] fsck: check commit-graph

2018-04-17 Thread Derrick Stolee
If a commit-graph file exists, check its contents during 'git fsck'. Signed-off-by: Derrick Stolee --- builtin/fsck.c | 13 + 1 file changed, 13 insertions(+) diff --git a/builtin/fsck.c b/builtin/fsck.c index ef78c6c00c..9712f230ba 100644 ---

[RFC PATCH 06/12] commit: force commit to parse from object database

2018-04-17 Thread Derrick Stolee
In anticipation of checking commit-graph file contents against the object database, create parse_commit_internal() to allow side-stepping the commit-graph file and parse directly from the object database. Due to the use of generation numbers, this method should not be called unless the intention

[RFC PATCH 01/12] fixup! commit-graph: always load commit-graph information

2018-04-17 Thread Derrick Stolee
--- commit-graph.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commit-graph.c b/commit-graph.c index 21e853c21a..3f0c142603 100644 --- a/commit-graph.c +++ b/commit-graph.c @@ -304,7 +304,7 @@ static int find_commit_in_graph(struct commit *item, struct commit_graph *g,

[RFC PATCH 10/12] commit-graph: add '--reachable' option

2018-04-17 Thread Derrick Stolee
When writing commit-graph files, it can be convenient to ask for all reachable commits (starting at the ref set) in the resulting file. This is particularly helpful when writing to stdin is complicated, such as a future integration with 'git gc' which will call 'git commit-graph write --reachable'

[RFC PATCH 07/12] commit-graph: load a root tree from specific graph

2018-04-17 Thread Derrick Stolee
When lazy-loading a tree for a commit, it will be important to select the tree from a specific struct commit_graph. Create a new method that specifies the commit-graph file and use that in get_commit_tree_in_graph(). Signed-off-by: Derrick Stolee --- commit-graph.c | 10

[RFC PATCH 12/12] commit-graph: update design document

2018-04-17 Thread Derrick Stolee
The commit-graph feature is now integrated with 'fsck' and 'gc', so remove those items from the "Future Work" section of the commit-graph design document. Signed-off-by: Derrick Stolee --- Documentation/technical/commit-graph.txt | 9 - 1 file changed, 9

[RFC PATCH 04/12] commit-graph: parse commit from chosen graph

2018-04-17 Thread Derrick Stolee
Before checking a commit-graph file against the object database, we need to parse all commits from the given commit-graph file. Create parse_commit_in_graph_one() to target a given struct commit_graph. Signed-off-by: Derrick Stolee --- commit-graph.c | 18

Re: [PATCH 8/8] gpg-interface: handle alternative signature types

2018-04-17 Thread Ben Toews
On Mon, Apr 16, 2018 at 7:54 PM, Junio C Hamano wrote: > "brian m. carlson" writes: > >> If we just want to add gpgsm support, that's fine, but we should be >> transparent about that fact and try to avoid making an interface which >> is at once

Re: What's cooking in git.git (Apr 2018, #02; Tue, 17)

2018-04-17 Thread Stefan Beller
Hi Junio, > -- > [New Topics] > * sb/object-store-replace (2018-04-12) 15 commits ... > The effort to pass the repository in-core structure throughout the > API continues. This round deals with the code that implements the > refs/replace/

Re: [BUG] git p4 clone fails when p4 sizes does not return 'fileSize' key

2018-04-17 Thread Thandesha VK
Sounds good. How about an enhanced version of fix from both of us. This will let us know that something is not right with the file but will not bark $ git diff diff --git a/git-p4.py b/git-p4.py index 7bb9cadc6..df901976f 100755 --- a/git-p4.py +++ b/git-p4.py @@ -2566,7 +2566,12 @@ class

Re: [PATCH v3 8/9] commit-graph: always load commit-graph information

2018-04-17 Thread Derrick Stolee
On 4/17/2018 1:00 PM, Derrick Stolee wrote: Most code paths load commits using lookup_commit() and then parse_commit(). In some cases, including some branch lookups, the commit is parsed using parse_object_buffer() which side-steps parse_commit() in favor of parse_commit_buffer(). With

Re: Optimizing writes to unchanged files during merges?

2018-04-17 Thread Jacob Keller
On Tue, Apr 17, 2018 at 10:27 AM, Lars Schneider wrote: > >> On 16 Apr 2018, at 19:45, Jacob Keller wrote: >> >> On Mon, Apr 16, 2018 at 10:43 AM, Jacob Keller >> wrote: >>> On Mon, Apr 16, 2018 at 9:07 AM, Lars

Re: man page for "git remote set-url" seems confusing/contradictory

2018-04-17 Thread Jacob Keller
On Tue, Apr 17, 2018 at 8:34 AM, Robert P. J. Day wrote: > On Tue, 17 Apr 2018, Junio C Hamano wrote: > >> Jacob Keller writes: >> >> > Things won't work so well if you set the push url and fetch url to >> > different repositories. Git assumes that

Re: [BUG] git p4 clone fails when p4 sizes does not return 'fileSize' key

2018-04-17 Thread Mazo, Andrey
Sure, I totally agree. Sorry, I just wasn't clear enough in my previous email. I meant that your patch suppresses "%s --> %s (%i MB)" line in case "fileSize" is not available, while my patch suppresses just "(%i MB)" portion if the "fileSize" is not known. In other words, * if "fileSize" is

Re: Optimizing writes to unchanged files during merges?

2018-04-17 Thread Lars Schneider
> On 16 Apr 2018, at 19:45, Jacob Keller wrote: > > On Mon, Apr 16, 2018 at 10:43 AM, Jacob Keller wrote: >> On Mon, Apr 16, 2018 at 9:07 AM, Lars Schneider >> wrote: >>> What if Git kept a LRU list that contains file

Re: Optimizing writes to unchanged files during merges?

2018-04-17 Thread Lars Schneider
> On 16 Apr 2018, at 19:04, Ævar Arnfjörð Bjarmason wrote: > > > On Mon, Apr 16 2018, Lars Schneider wrote: > >>> On 16 Apr 2018, at 04:03, Linus Torvalds >>> wrote: >>> >>> On Sun, Apr 15, 2018 at 6:44 PM, Junio C Hamano

Re: [BUG] git p4 clone fails when p4 sizes does not return 'fileSize' key

2018-04-17 Thread Thandesha VK
*I* think keeping the filesize info is better with --verbose option as that gives some clue about the file we are working on. What do you think? Script has similar checks of key existence at other places where it is looking for fileSize. On Tue, Apr 17, 2018 at 9:22 AM, Andrey Mazo

Re: [BUG] git p4 clone fails when p4 sizes does not return 'fileSize' key

2018-04-17 Thread Mazo, Andrey
Huh, I actually have a slightly different fix for the same issue. It doesn't suppress the corresponding verbose output completely, but just removes the size information from it. I'll (try to) post it as a reply to this email. Also, I'd mention that the workaround is trivial -- simply omit the

[PATCH v3 9/9] merge: check config before loading commits

2018-04-17 Thread Derrick Stolee
Now that we use generation numbers from the commit-graph, we must ensure that all commits that exist in the commit-graph are loaded from that file instead of from the object database. Since the commit-graph file is only checked if core.commitGraph is true, we must check the default config before

[PATCH v3 5/9] ref-filter: use generation number for --contains

2018-04-17 Thread Derrick Stolee
A commit A can reach a commit B only if the generation number of A is larger than the generation number of B. This condition allows significantly short-circuiting commit-graph walks. Use generation number for 'git tag --contains' queries. On a copy of the Linux repository where HEAD is containd

[PATCH v3 4/9] commit-graph.txt: update design document

2018-04-17 Thread Derrick Stolee
We now calculate generation numbers in the commit-graph file and use them in paint_down_to_common(). Expand the section on generation numbers to discuss how the three special generation numbers GENERATION_NUMBER_INFINITY, _ZERO, and _MAX interact with other generation numbers. Signed-off-by:

[PATCH v3 7/9] commit: add short-circuit to paint_down_to_common()

2018-04-17 Thread Derrick Stolee
When running 'git branch --contains', the in_merge_bases_many() method calls paint_down_to_common() to discover if a specific commit is reachable from a set of branches. Commits with lower generation number are not needed to correctly answer the containment query of in_merge_bases_many(). Add a

[PATCH v3 2/9] commit-graph: compute generation numbers

2018-04-17 Thread Derrick Stolee
While preparing commits to be written into a commit-graph file, compute the generation numbers using a depth-first strategy. The only commits that are walked in this depth-first search are those without a precomputed generation number. Thus, computation time will be relative to the number of new

[PATCH v3 8/9] commit-graph: always load commit-graph information

2018-04-17 Thread Derrick Stolee
Most code paths load commits using lookup_commit() and then parse_commit(). In some cases, including some branch lookups, the commit is parsed using parse_object_buffer() which side-steps parse_commit() in favor of parse_commit_buffer(). With generation numbers in the commit-graph, we need to

[PATCH v3 1/9] commit: add generation number to struct commmit

2018-04-17 Thread Derrick Stolee
The generation number of a commit is defined recursively as follows: * If a commit A has no parents, then the generation number of A is one. * If a commit A has parents, then the generation number of A is one more than the maximum generation number among the parents of A. Add a uint32_t

[PATCH v3 6/9] commit: use generation numbers for in_merge_bases()

2018-04-17 Thread Derrick Stolee
The containment algorithm for 'git branch --contains' is different from that for 'git tag --contains' in that it uses is_descendant_of() instead of contains_tag_algo(). The expensive portion of the branch algorithm is computing merge bases. When a commit-graph file exists with generation numbers

[PATCH v3 0/9] Compute and consume generation numbers

2018-04-17 Thread Derrick Stolee
Thanks for all the help on v2. Here are a few changes between versions: * Removed the constant-time check in queue_has_nonstale() due to the possibility of a performance hit and no evidence of a performance benefit in typical cases. * Reordered the commits about loading commits from the

[PATCH v3 3/9] commit: use generations in paint_down_to_common()

2018-04-17 Thread Derrick Stolee
Define compare_commits_by_gen_then_commit_date(), which uses generation numbers as a primary comparison and commit date to break ties (or as a comparison when both commits do not have computed generation numbers). Since the commit-graph file is closed under reachability, we know that all commits

Re: [PATCH/RFC 0/5] Keep all info in command-list.txt in git binary

2018-04-17 Thread Duy Nguyen
On Tue, Apr 17, 2018 at 06:24:41PM +0200, Duy Nguyen wrote: > On Sun, Apr 15, 2018 at 11:21 PM, Philip Oakley wrote: > > From: "Duy Nguyen" : Saturday, April 14, 2018 4:44 PM > > > >> On Thu, Apr 12, 2018 at 12:06 AM, Philip Oakley

RE: [PATCH v4 0/3] Extract memory pool logic into reusable component

2018-04-17 Thread Jameson Miller
I think this version (V4) should reflect the latest round of feedback. Please let me know if there are any other questions or outstanding work to finish here. I have submitted a patch series to have a second component use this memory pool [1]. Thank you [1]

[PATCH v1 4/5] Allocate cache entries from memory pools

2018-04-17 Thread Jameson Miller
Improve performance of reading a large index by reducing the number of malloc() calls. When reading an index with a large number of entries, a portion of the time is dominated in malloc() calls. This can be mitigated by allocating a single large block of memory up front into a memory pool and have

[PATCH v1 5/5] Add optional memory validations around cache_entry lifecyle

2018-04-17 Thread Jameson Miller
Add an option (controlled by an environment variable) perform extra validations on mem_pool allocated cache entries. When set: 1) Invalidate cache_entry memory when discarding cache_entry. 2) When discarding index_state struct, verify that all cache_entries were allocated from expected

[PATCH v1 3/5] mem-pool: fill out functionality

2018-04-17 Thread Jameson Miller
Adds the following functionality to memory pools: - Lifecycle management functions (init, discard) - Test whether a memory location is part of the managed pool - Function to combine 2 pools This also adds logic to track all memory allocations made by a memory pool. These functions will be

[PATCH v1 2/5] Add an API creating / discarding cache_entry structs

2018-04-17 Thread Jameson Miller
Add an API around managing the lifetime of cache_entry structs. Abstracting memory management details behind an API will allow for alternative memory management strategies without affecting all the call sites. This commit does not change how memory is allocated / freed. A later commit in this

[PATCH v1 1/5] read-cache: teach refresh_cache_entry to take istate

2018-04-17 Thread Jameson Miller
Refactoring dependencies of make_cache_entry to work on a specific index, instead of implicitly using the_index. This is in preparation for making the make_cache_entry function work on a specific index. --- cache.h | 2 +- merge-recursive.c | 2 +- read-cache.c | 7 --- 3 files

[PATCH v1 0/5] Allocate cache entries from memory pool

2018-04-17 Thread Jameson Miller
This patch series improves the performance of loading indexes by reducing the number of malloc() calls. Loading the index from disk is partly dominated by the time in malloc(), which is called for each index entry. This patch series reduces the number of times malloc() is called as part of loading

[PATCH v1 0/5] Allocate cache entries from memory pool

2018-04-17 Thread Jameson Miller
This patch series improves the performance of loading indexes by reducing the number of malloc() calls. Loading the index from disk is partly dominated by the time in malloc(), which is called for each index entry. This patch series reduces the number of times malloc() is called as part of loading

Re: [PATCH/RFC 0/5] Keep all info in command-list.txt in git binary

2018-04-17 Thread Duy Nguyen
On Sun, Apr 15, 2018 at 11:21 PM, Philip Oakley wrote: > From: "Duy Nguyen" : Saturday, April 14, 2018 4:44 PM > >> On Thu, Apr 12, 2018 at 12:06 AM, Philip Oakley >> wrote: >>> >>> I'm only just catching up, but does/can this

[PATCH 1/1] git-p4: fix `sync --verbose` traceback due to 'fileSize'

2018-04-17 Thread Andrey Mazo
Perforce server 2007.2 (and maybe others) doesn't return "fileSize" attribute in its reply to `p4 -G print` command. This causes the following traceback when running `git p4 sync --verbose`: """ Traceback (most recent call last): File "/usr/libexec/git-core/git-p4", line 3839, in

Re: [BUG] git p4 clone fails when p4 sizes does not return 'fileSize' key

2018-04-17 Thread Andrey Mazo
Huh, I actually have a slightly different fix for the same issue. It doesn't suppress the corresponding verbose output completely, but just removes the size information from it. Also, I'd mention that the workaround is trivial -- simply omit the "--verbose" option. Andrey Mazo (1): git-p4:

  1   2   >