Re: Git on macOS shows committed files as untracked

2017-07-13 Thread Lutz Roeder
Using precomposeunicode still reproduces the issue: Repro steps: 1. Download https://www.dropbox.com/s/0q5pbpqpckwzj7b/gitstatusrepro.zip?dl=0 2. unzip gitstatusrepro.zip && cd gitstatusrepro 3. git reset --hard 4. git -c core.precomposeunicode=true status On branch master Untracked files:

Re: What's cooking in git.git (Jul 2017, #04; Thu, 13)

2017-07-13 Thread Junio C Hamano
Santiago Torres writes: >> Here are the topics that have been cooking. > > I sent (a patch almost a week ago) that would probably[1] be labeled > as "uninteresting" (as per the notes from the maintainer), but I wanted > to make sure it wasn't lost in the noise -- I see that

Re: Strange behavior with Git add -p in version 2.13.3

2017-07-13 Thread Junio C Hamano
Ben Reed writes: > Hello, I updated Git to 2.13.3, and now selecting 's' to split a > change on a call to `git add -p` is not working. It's showing the list > of options as if 's' is not a valid choice... > > Particularly, I'm getting... > Stage this hunk [y,n,q,a,d,/,e,?]? s

Re: What's cooking in git.git (Jul 2017, #04; Thu, 13)

2017-07-13 Thread Santiago Torres
> Here are the topics that have been cooking. Hi, I sent (a patch almost a week ago) that would probably[1] be labeled as "uninteresting" (as per the notes from the maintainer), but I wanted to make sure it wasn't lost in the noise -- I see that theres a lot of active development lately. I

Re: reftable: new ref storage format

2017-07-13 Thread Shawn Pearce
On Thu, Jul 13, 2017 at 1:35 PM, Jeff King wrote: > On Thu, Jul 13, 2017 at 12:56:54PM -0700, Stefan Beller wrote: > > I agree that a full binary search of a reftable is harder because of the > prefix compression (it may still be possible by scanning backwards, but > I think there

Re: reftable: new ref storage format

2017-07-13 Thread Shawn Pearce
On Thu, Jul 13, 2017 at 12:32 PM, Jeff King wrote: > On Wed, Jul 12, 2017 at 05:17:58PM -0700, Shawn Pearce wrote: > >> ### Problem statement >> >> Some repositories contain a lot of references (e.g. android at 866k, >> rails at 31k). The existing packed-refs format takes up a

[PATCH v2 03/13] submodule: convert submodule config lookup to use object_id

2017-07-13 Thread brian m. carlson
Signed-off-by: brian m. carlson --- builtin/grep.c | 4 ++-- builtin/submodule--helper.c | 8 config.c | 12 ++-- config.h | 4 ++-- repository.c | 2 +-

[PATCH v2 00/13] object_id part 9

2017-07-13 Thread brian m. carlson
This is the ninth in a series of series to convert Git to use struct object_id. This series converts the remaining callers of get_sha1 and friends to take and use struct object_id, and in doing so, renames them to get_oid and friends. This patch should probably be based Stefan Beller's series,

[PATCH v2 12/13] sha1_name: convert GET_SHA1* flags to GET_OID*

2017-07-13 Thread brian m. carlson
Convert the flags for get_oid_with_context and friends to use "OID" instead of "SHA1" in their names. This transform was made by running the following one-liner on the affected files: perl -pi -e 's/GET_SHA1/GET_OID/g' Signed-off-by: brian m. carlson ---

[PATCH v2 04/13] remote: convert struct push_cas to struct object_id

2017-07-13 Thread brian m. carlson
This gets rid of one use of get_sha1. Signed-off-by: brian m. carlson --- remote.c | 6 +++--- remote.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/remote.c b/remote.c index d87482573d..9da9040bf0 100644 --- a/remote.c +++ b/remote.c @@

[PATCH v2 13/13] sha1_name: convert uses of 40 to GIT_SHA1_HEXSZ

2017-07-13 Thread brian m. carlson
There are several uses of the constant 40 in find_unique_abbrev_r. Convert them to GIT_SHA1_HEXSZ. Signed-off-by: brian m. carlson --- sha1_name.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sha1_name.c b/sha1_name.c index

[PATCH v2 02/13] builtin/merge-tree: convert remaining caller of get_sha1 to object_id

2017-07-13 Thread brian m. carlson
Signed-off-by: brian m. carlson --- builtin/merge-tree.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/builtin/merge-tree.c b/builtin/merge-tree.c index bad6735c76..f12da292cf 100644 --- a/builtin/merge-tree.c +++ b/builtin/merge-tree.c

[PATCH v2 11/13] sha1_name: convert get_sha1* to get_oid*

2017-07-13 Thread brian m. carlson
Now that all the callers of get_sha1 directly or indirectly use struct object_id, rename the functions starting with get_sha1 to start with get_oid. Convert the internals in sha1_name.c to use struct object_id as well, and eliminate explicit length checks where possible. Convert a use of 40 in

[PATCH v2 06/13] builtin/update_ref: convert to struct object_id

2017-07-13 Thread brian m. carlson
Convert the uses of unsigned char * to struct object_id. Signed-off-by: brian m. carlson --- builtin/update-ref.c | 69 ++-- 1 file changed, 34 insertions(+), 35 deletions(-) diff --git a/builtin/update-ref.c

[PATCH v2 08/13] builtin/unpack-file: convert to struct object_id

2017-07-13 Thread brian m. carlson
Signed-off-by: brian m. carlson --- builtin/unpack-file.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/builtin/unpack-file.c b/builtin/unpack-file.c index 73f1334191..281ca1db6c 100644 --- a/builtin/unpack-file.c +++

[PATCH v2 09/13] builtin/verify-tag: convert to struct object_id

2017-07-13 Thread brian m. carlson
Signed-off-by: brian m. carlson --- builtin/verify-tag.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/builtin/verify-tag.c b/builtin/verify-tag.c index f9a5f7535a..30e4c826ed 100644 --- a/builtin/verify-tag.c +++ b/builtin/verify-tag.c

[PATCH v2 01/13] builtin/fsck: convert remaining caller of get_sha1 to object_id

2017-07-13 Thread brian m. carlson
Signed-off-by: brian m. carlson --- builtin/fsck.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/builtin/fsck.c b/builtin/fsck.c index 99dea7adf6..0e5a18e843 100644 --- a/builtin/fsck.c +++ b/builtin/fsck.c @@ -738,12 +738,12 @@ int

[PATCH v2 07/13] bisect: convert bisect_checkout to struct object_id

2017-07-13 Thread brian m. carlson
Signed-off-by: brian m. carlson --- bisect.c | 18 +- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/bisect.c b/bisect.c index a9fd9fbc61..2549eaf7b1 100644 --- a/bisect.c +++ b/bisect.c @@ -680,16 +680,16 @@ static int

[PATCH v2 10/13] Convert remaining callers of get_sha1 to get_oid.

2017-07-13 Thread brian m. carlson
Signed-off-by: brian m. carlson --- builtin/receive-pack.c | 4 ++-- mailmap.c | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c index 71c0c768db..1efa48fec4 100644 ---

[PATCH v2 05/13] sequencer: convert to struct object_id

2017-07-13 Thread brian m. carlson
Convert the remaining instances of unsigned char * to struct object_id. This removes several calls to get_sha1. Signed-off-by: brian m. carlson --- sequencer.c | 59 ++- 1 file changed, 30 insertions(+), 29

Strange behavior with Git add -p in version 2.13.3

2017-07-13 Thread Ben Reed
Hello, I updated Git to 2.13.3, and now selecting 's' to split a change on a call to `git add -p` is not working. It's showing the list of options as if 's' is not a valid choice... Particularly, I'm getting... Stage this hunk [y,n,q,a,d,/,e,?]? s y - stage this hunk n - do not stage this hunk q

Re: [PATCH 2/2] tag: convert gpg_verify_tag to use struct object_id

2017-07-13 Thread brian m. carlson
On Thu, Jul 13, 2017 at 02:49:28PM -0700, Stefan Beller wrote: > Snarkily I wanted to link to an essay "large patch series > considered harmful"[1], but could not find any. So a couple > of bullet points: > (a) humans dislike larger series, hence fewer reviewers > (b) the likelihood of a mistake

[ANNOUNCE] Git v2.14.0-rc0

2017-07-13 Thread Junio C Hamano
An early preview release Git v2.14.0-rc0 is now available for testing at the usual places. It is comprised of 675 non-merge commits since v2.13.0, contributed by 53 people, 14 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The

What's cooking in git.git (Jul 2017, #04; Thu, 13)

2017-07-13 Thread Junio C Hamano
Here are the topics that have been cooking. Commits prefixed with '-' are only in 'pu' (proposed updates) while commits prefixed with '+' are in 'next'. The ones marked with '.' do not appear in any of the integration branches, but I am still holding onto them. A maintenance release for 2.13.x

A note from the maintainer

2017-07-13 Thread Junio C Hamano
Welcome to the Git development community. This message is written by the maintainer and talks about how Git project is managed, and how you can work with it. * Mailing list and the community The development is primarily done on the Git mailing list. Help requests, feature proposals, bug reports

Re: "groups of files" in Git?

2017-07-13 Thread Igor Djordjevic
Eh, yet another one, sorry: On 14/07/2017 01:32, Igor Djordjevic wrote: > > $ git checkout featureA > $ git commit > $ git checkout master > $ git reset --hard HEAD^ > $ git merge The last line should stress , as we`re not

Re: "groups of files" in Git?

2017-07-13 Thread Igor Djordjevic
Just a small update/fixup: On 14/07/2017 00:39, Igor Djordjevic wrote: > I guess it would be a kind of alias to doing: > > $ git checkout featureA > $ git add ... > $ git commit > $ git checkout master > $ git reset --hard HEAD^ > $ git merge featureA featureB > This

Re: "groups of files" in Git?

2017-07-13 Thread Igor Djordjevic
Hi astian, On 12/07/2017 00:27, astian wrote: > Nikolay Shustov wrote: >> With Perforce, I can have multiple changelists opened, that group the >> changed files as needed. >> >> With Git I cannot seem to finding the possibility to figure out how to >> achieve the same result. And the problem is

Re: [PATCH 05/15] ref-filter: abstract ref format into its own struct

2017-07-13 Thread Junio C Hamano
Stefan Beller writes: >> So when somebody wants to do a "from design and explanation to >> provider to consumer", we would probably want "doc, *.h, *.c at the >> top-level and then things inside builtin/ subdirectory" order. Of >> course, on the other hand, "I do not trust

Re: [GSoC][PATCH 4/5 v4] submodule: port submodule subcommand 'status' from shell to C

2017-07-13 Thread Stefan Beller
On Thu, Jul 13, 2017 at 1:05 PM, Prathamesh Chavan wrote: > This aims to make git-submodule 'status' a built-in. Hence, the function > cmd_status() is ported from shell to C. This is done by introducing > three functions: module_status(), submodule_status() and print_status().

Re: "groups of files" in Git?

2017-07-13 Thread Igor Djordjevic
On 13/07/2017 23:20, Junio C Hamano wrote: > Nikolay Shustov writes: >> My question was about how to robustly handle "multiple pending >> commits" which in Perforce are represented by concept of pending >> changelists. > > And in Git, they are represented by concept of

Re: [PATCH] strbuf: use designated initializers in STRBUF_INIT

2017-07-13 Thread Johannes Sixt
Am 12.07.2017 um 21:12 schrieb Ævar Arnfjörð Bjarmason: I think in the context of this desire Johannes Sixt's "Actually, I'm serious [about let's compile with c++]"[1] should be given some more consideration. Thank you for your support. I've just compiled Git with it and it passes all tests.

Re: [PATCH 05/15] ref-filter: abstract ref format into its own struct

2017-07-13 Thread Stefan Beller
On Thu, Jul 13, 2017 at 2:32 PM, Junio C Hamano wrote: > Junio C Hamano writes: > >> Stefan Beller writes: >> >>> On Thu, Jul 13, 2017 at 8:01 AM, Jeff King wrote: >>> builtin/branch.c | 14 +++---

Re: Reducing redundant build at Travis?

2017-07-13 Thread Junio C Hamano
Lars Schneider writes: > On Thu, Jul 13, 2017 at 1:44 AM, Junio C Hamano wrote: >> I usually try to stay as late as possible to finish all the >> integration branches in order before pushing out the result; it is >> more efficient to be able to batch

Re: reftable: new ref storage format

2017-07-13 Thread Eric Wong
Jeff King wrote: > I agree that a full binary search of a reftable is harder because of the > prefix compression (it may still be possible by scanning backwards, but > I think there are ambiguities when you land in the middle of a record, > since there's no unambiguous

Re: [PATCH 2/2] tag: convert gpg_verify_tag to use struct object_id

2017-07-13 Thread Stefan Beller
On Thu, Jul 13, 2017 at 2:23 PM, Junio C Hamano wrote: > Stefan Beller writes: > >> On Thu, Jul 13, 2017 at 1:52 PM, Junio C Hamano wrote: >>> Stefan Beller writes: >>> diff --git a/builtin/verify-tag.c

Re: [PATCH 05/15] ref-filter: abstract ref format into its own struct

2017-07-13 Thread Junio C Hamano
Junio C Hamano writes: > Stefan Beller writes: > >> On Thu, Jul 13, 2017 at 8:01 AM, Jeff King wrote: >> >>> builtin/branch.c | 14 +++--- >>> builtin/for-each-ref.c | 22 -- >>> builtin/tag.c |

Re: What's cooking in git.git (Jul 2017, #03; Mon, 10)

2017-07-13 Thread Junio C Hamano
Jeff King writes: > Sorry, I mean the case where you do a merge from the other side, but > then you end up rewinding the history in some way, taking into account > that merge and everything they did. For example: > > $ git pull > $ git rebase ;# this will flatten the merge >

Re: [PATCH 2/2] tag: convert gpg_verify_tag to use struct object_id

2017-07-13 Thread Junio C Hamano
Stefan Beller writes: > On Thu, Jul 13, 2017 at 1:52 PM, Junio C Hamano wrote: >> Stefan Beller writes: >> >>> diff --git a/builtin/verify-tag.c b/builtin/verify-tag.c >>> index f9a5f7535a..ed8329340f 100644 >>> ---

Re: Reducing redundant build at Travis?

2017-07-13 Thread Lars Schneider
On Thu, Jul 13, 2017 at 1:44 AM, Junio C Hamano wrote: > I usually try to stay as late as possible to finish all the > integration branches in order before pushing out the result; it is > more efficient to be able to batch things (for humans). > > I however noticed that This

Re: "groups of files" in Git?

2017-07-13 Thread Junio C Hamano
Nikolay Shustov writes: > I am not really try to ignite the holy war between Perforce and Git > (and why would one???), but if you are interested in the answer on how > you'd do your scenario in Perforce, it would be: "use shelved > changelists". Oh, that was not my

Re: [PATCH 2/2] tag: convert gpg_verify_tag to use struct object_id

2017-07-13 Thread Stefan Beller
On Thu, Jul 13, 2017 at 1:52 PM, Junio C Hamano wrote: > Stefan Beller writes: > >> diff --git a/builtin/verify-tag.c b/builtin/verify-tag.c >> index f9a5f7535a..ed8329340f 100644 >> --- a/builtin/verify-tag.c >> +++ b/builtin/verify-tag.c >> @@ -56,20

Re: [PATCH v1 0/4] Teach 'run' perf script to read config files

2017-07-13 Thread Jeff King
On Thu, Jul 13, 2017 at 08:57:01PM +0200, Christian Couder wrote: > >> We want to make it possible to store the parameters to the 'run' > >> script in a config file. This will make it easier to store, reuse, > >> share and compare parameters. > > > > Because perf-lib is built on test-lib, it

Re: [PATCH] submodule: use cheaper check for submodule pushes

2017-07-13 Thread Stefan Beller
On Thu, Jul 13, 2017 at 1:48 PM, Jonathan Nieder wrote: > Hi, > > Stefan Beller wrote: > >> Yes we are safe, because the function itself only spawns a child process >> (not using any of the objects). >> >> It's only caller push_unpushed_submodules also doesn't rely on objects

Re: [PATCH 2/2] tag: convert gpg_verify_tag to use struct object_id

2017-07-13 Thread Junio C Hamano
Stefan Beller writes: > diff --git a/builtin/verify-tag.c b/builtin/verify-tag.c > index f9a5f7535a..ed8329340f 100644 > --- a/builtin/verify-tag.c > +++ b/builtin/verify-tag.c > @@ -56,20 +56,21 @@ int cmd_verify_tag(int argc, const char **argv, const > char *prefix) >

Re: [PATCH] submodule: use cheaper check for submodule pushes

2017-07-13 Thread Jonathan Nieder
Hi, Stefan Beller wrote: > Yes we are safe, because the function itself only spawns a child process > (not using any of the objects). > > It's only caller push_unpushed_submodules also doesn't rely on objects > loaded after calling push_submodule. > > The caller of push_unpushed_submodules

Re: What's cooking in git.git (Jul 2017, #03; Mon, 10)

2017-07-13 Thread Jeff King
On Thu, Jul 13, 2017 at 12:10:39PM -0700, Junio C Hamano wrote: > > - I suspect in the third example we probably ought to be using the > > reflog of the branch that HEAD points to. You would not want: > > > >$ git checkout advanced-branch $ git checkout older-branch $ git > >

Re: [PATCH] RFC: Introduce '.gitorderfile'

2017-07-13 Thread Junio C Hamano
Stefan Beller writes: > The point I was trying to make is best demonstrated in > t5526-fetch-submodules.sh: > >> ok 7 - using fetchRecurseSubmodules=true in .gitmodules recurses into >> submodules >> ok 8 - --no-recurse-submodules overrides .gitmodules config >> ok 9 - using

Re: [PATCH 0/15] making user-format colors conditional on config/tty

2017-07-13 Thread Junio C Hamano
Jeff King writes: > This version also takes into account feedback from the original thread. > And as I added tests, it surfaced a few corner cases around color config > that I've dealt with here. The last two patches are the most > interesting bits. > > [01/15]: check return

Re: [PATCH 06/15] ref-filter: move need_color_reset_at_eol into ref_format

2017-07-13 Thread Junio C Hamano
Jeff King writes: > Calling verify_ref_format() doesn't just confirm that the > format is sane; it actually sets some global variables that > will be used later when formatting the refs. These logically > should belong to the ref_format, which would make it > possible to use

Re: reftable: new ref storage format

2017-07-13 Thread Jeff King
On Thu, Jul 13, 2017 at 12:56:54PM -0700, Stefan Beller wrote: > >> ### Problem statement > >> > >> Some repositories contain a lot of references (e.g. android at 866k, > >> rails at 31k). The existing packed-refs format takes up a lot of > >> space (e.g. 62M), and does not scale with

Re: [PATCH 05/15] ref-filter: abstract ref format into its own struct

2017-07-13 Thread Junio C Hamano
Stefan Beller writes: > On Thu, Jul 13, 2017 at 8:01 AM, Jeff King wrote: > >> builtin/branch.c | 14 +++--- >> builtin/for-each-ref.c | 22 -- >> builtin/tag.c | 30 -- >>

Re: [PATCH 03/15] t: use test_decode_color rather than literal ANSI codes

2017-07-13 Thread Junio C Hamano
Jeff King writes: > When we put literal ANSI terminal codes into our test > scripts, it makes diffs on those scripts hard to read (the > colors may be indistinguishable from diff coloring, or in > the case of a reset, may not be visible at all). > > Some scripts get around this by

Re: [PATCH 02/15] docs/for-each-ref: update pointer to color syntax

2017-07-13 Thread Junio C Hamano
Jeff King writes: > The documentation for the %(color) placeholder refers to the > color.branch.* config for more details. But those details > moved to their own section in b92c1a28f > (Documentation/config.txt: describe 'color' value type in > the "Values" section, 2015-03-03).

[GSoC][PATCH 4/5 v4] submodule: port submodule subcommand 'status' from shell to C

2017-07-13 Thread Prathamesh Chavan
This aims to make git-submodule 'status' a built-in. Hence, the function cmd_status() is ported from shell to C. This is done by introducing three functions: module_status(), submodule_status() and print_status(). The function module_status() acts as the front-end of the subcommand. It parses

[GSoC][PATCH 5/5 v4] submodule: port submodule subcommand 'sync' from shell to C

2017-07-13 Thread Prathamesh Chavan
Port the submodule subcommand 'sync' from shell to C using the same mechanism as that used for porting submodule subcommand 'status'. Hence, here the function cmd_sync() is ported from shell to C. This is done by introducing three functions: module_sync(), sync_submodule() and

[GSoC][PATCH 3/5 v4] submodule: port set_name_rev() from shell to C

2017-07-13 Thread Prathamesh Chavan
Function set_name_rev() is ported from git-submodule to the submodule--helper builtin. The function get_name_rev() generates the value of the revision name as required, and the function print_name_rev() handles the formating and printing of the obtained revision name. Mentored-by: Christian

[GSoC][PATCH 2/5 v4] submodule--helper: introduce for_each_submodule_list()

2017-07-13 Thread Prathamesh Chavan
Introduce function for_each_submodule_list() and replace a loop in module_init() with a call to it. The new function will also be used in other parts of the system in later patches. Mentored-by: Christian Couder Mentored-by: Stefan Beller

[GSoC][PATCH 1/5 v4] submodule--helper: introduce get_submodule_displaypath()

2017-07-13 Thread Prathamesh Chavan
Introduce function get_submodule_displaypath() to replace the code occurring in submodule_init() for generating displaypath of the submodule with a call to it. This new function will also be used in other parts of the system in later patches. Mentored-by: Christian Couder

Re: reftable: new ref storage format

2017-07-13 Thread Stefan Beller
On Thu, Jul 13, 2017 at 12:32 PM, Jeff King wrote: > On Wed, Jul 12, 2017 at 05:17:58PM -0700, Shawn Pearce wrote: > >> We've been having scaling problems with insane number of references >> (>866k), so I started thinking a lot about improving ref storage. >> >> I've written a

Re: "groups of files" in Git?

2017-07-13 Thread Nikolay Shustov
For me the roadblock for multiple iterations through merging of the different parts (S, C, then C+S) is the time that will be spent on rebuilding the mainline. That's why I would like to have C+S in the same source tree then run tests for S, tests for C (if they can be run standalone) and C+S

Re: [PATCH v1 0/4] Teach 'run' perf script to read config files

2017-07-13 Thread Christian Couder
On Thu, Jul 13, 2017 at 8:40 PM, Jeff King wrote: > On Thu, Jul 13, 2017 at 11:29:10AM -0700, Junio C Hamano wrote: > >> > So then I think your config file primarily becomes about defining the >> > properties of each run. I'm not sure if it would look like what you're >> > starting

Re: [RFC PATCH 1/3] promised-blob, fsck: introduce promised blobs

2017-07-13 Thread Jonathan Tan
On Wed, 12 Jul 2017 13:29:11 -0400 Jeff Hostetler wrote: > My primary concern is scale and managing the list of objects over time. > > My fear is that this list will be quite large. If we only want to omit > the very large blobs, then maybe not. But if we want to

Re: What's cooking in git.git (Jul 2017, #03; Mon, 10)

2017-07-13 Thread Junio C Hamano
Junio C Hamano writes: > Jeff King writes: > >> [1] Another sticking point is that this really does need to be in the >> reflog of the ref we are pushing (and not, e.g., HEAD). But one does >> not always push from a ref. I suspect that's OK in practice,

Re: [PATCH] submodule: use cheaper check for submodule pushes

2017-07-13 Thread Stefan Beller
On Thu, Jul 13, 2017 at 11:37 AM, Junio C Hamano wrote: > > I think Jonathan's question (which I concurred) is if we also ended > up relying on the side effect of calling that function (i.e. being > able to now find objects that are not in our repository but in the >

Re: Git on macOS shows committed files as untracked

2017-07-13 Thread Junio C Hamano
Torsten Bögershausen writes: > Thanks for the fast analyzes - > in short: > what does > git -c core.precomposeunicode=true status > say ? > > The easiest thing may be to set > git config --global core.precomposeunicode true Good suggestion. I learned a new thing today. I

Re: reftable: new ref storage format

2017-07-13 Thread Jeff King
On Wed, Jul 12, 2017 at 05:17:58PM -0700, Shawn Pearce wrote: > We've been having scaling problems with insane number of references > (>866k), so I started thinking a lot about improving ref storage. > > I've written a simple approach, and implemented it in JGit. > Performance is promising: > >

Re: "groups of files" in Git?

2017-07-13 Thread Nikolay Shustov
Thank you, but I am not sure I quite understand the idea. Could you please elaborate on it for the following example? I have two Perforce changelists ("A" and "B") that group uncommitted sets of files (paths to each of files could be different): changelist A: file1 file2 changelist B: file3

Re: [PATCH] git-p4: parse marshal output "p4 -G" in p4 changes

2017-07-13 Thread Junio C Hamano
Miguel Torroja writes: > I've just sent in reply to your previous e-mail three different patches. > > * The first patch is just to show some broken tests, > * Second patch is to fix the original issue I had (the one that > initiated this thread) > * Third patch is the

Re: [PATCH 03/15] t: use test_decode_color rather than literal ANSI codes

2017-07-13 Thread Junio C Hamano
Jeff King writes: >> > @@ -59,7 +54,8 @@ EOF >> > # to this test since it does not contain any decoration, hence >> > --first-parent >> > test_expect_success 'Commit Decorations Colored Correctly' ' >> > git log --first-parent --abbrev=10 --all --decorate --oneline >>

Re: [PATCH] commit & merge: modularize the empty message validator

2017-07-13 Thread Junio C Hamano
Kaartic Sivaraam writes: > I have a few doubts for which I need clarification to move on with > this. > > 1. If we abort when the part is empty wouldn't it be too > restrictive ? > > IOW, Wouldn't it affect users of "git commit -‍-cleanup=verbatim" >

Re: [PATCH v1 0/4] Teach 'run' perf script to read config files

2017-07-13 Thread Junio C Hamano
Jeff King writes: > ... But if > we did have a third-party system, I suspect the interesting work would > be setting up profiles for the "run" tool to kick off. And we might be > stuck in such a case using whatever format the tool prefers. So having a > sense of what the final

Re: [PATCH] RFC: Introduce '.gitorderfile'

2017-07-13 Thread Stefan Beller
On Thu, Jul 13, 2017 at 12:12 PM, Junio C Hamano wrote: > Stefan Beller writes: > >> On Thu, Jul 13, 2017 at 8:59 AM, Jeff King wrote: This triggers two reactions for me: (a) We should totally do that. >>> (b) It's a

Re: [PATCH 0/15] making user-format colors conditional on config/tty

2017-07-13 Thread Stefan Beller
On Thu, Jul 13, 2017 at 7:55 AM, Jeff King wrote: > This is a cleanup of the patch I posted last October: > > > https://public-inbox.org/git/20161010151517.6wszhuyp57yfn...@sigill.intra.peff.net/ > > The general idea is that it's rather confusing that "%C(red)" in a >

Re: [PATCH] RFC: Introduce '.gitorderfile'

2017-07-13 Thread Junio C Hamano
Stefan Beller writes: > On Thu, Jul 13, 2017 at 8:59 AM, Jeff King wrote: >>> This triggers two reactions for me: >>> >>> (a) We should totally do that. >> >>> (b) It's a rabbit hole to go down. >> >> And yes, I had both of those reactions, too. We've had the

Re: What's cooking in git.git (Jul 2017, #03; Mon, 10)

2017-07-13 Thread Junio C Hamano
Jeff King writes: > [1] Another sticking point is that this really does need to be in the > reflog of the ref we are pushing (and not, e.g., HEAD). But one does > not always push from a ref. I suspect that's OK in practice, though. > If you are doing "git push

Re: [PATCH 2/2] tag: convert gpg_verify_tag to use struct object_id

2017-07-13 Thread Junio C Hamano
Stefan Beller writes: > if (fmt_pretty) > - pretty_print_ref(name, sha1, fmt_pretty); > + pretty_print_ref(name, oid.hash, fmt_pretty); The next step would be to have pretty_print_ref() to take an oid; as there are only

Re: [PATCH v1 0/4] Teach 'run' perf script to read config files

2017-07-13 Thread Christian Couder
On Thu, Jul 13, 2017 at 6:58 PM, Jeff King wrote: > On Thu, Jul 13, 2017 at 08:50:46AM +0200, Christian Couder wrote: > >> Goal >> >> >> Using many long environment variables to give parameters to the 'run' >> script is error prone and tiring. >> >> We want to make it possible

Re: [PATCH 1/2] commit: convert lookup_commit_graft to struct object_id

2017-07-13 Thread Junio C Hamano
Stefan Beller writes: > With this patch, commit.h doesn't contain the string 'sha1' any more. ;-) Nice. commit_graft_pos() still thinks we only deal with SHA-1, but that needs to wait for oid_pos(). The function has only two callers that do not pass X->oid.hash so it may

Re: [PATCH 05/15] ref-filter: abstract ref format into its own struct

2017-07-13 Thread Stefan Beller
On Thu, Jul 13, 2017 at 8:01 AM, Jeff King wrote: > builtin/branch.c | 14 +++--- > builtin/for-each-ref.c | 22 -- > builtin/tag.c | 30 -- > builtin/verify-tag.c | 12 ++-- > ref-filter.c

Re: [PATCH 03/15] t: use test_decode_color rather than literal ANSI codes

2017-07-13 Thread Jeff King
On Thu, Jul 13, 2017 at 11:40:32AM -0700, Stefan Beller wrote: > On Thu, Jul 13, 2017 at 7:58 AM, Jeff King wrote: > > > I really only need t6300 and t6006 converted to build on for the rest of > > the series. But t4207 was easy to do. t4026 still uses raw codes, but > >

Re: [PATCH v1 0/4] Teach 'run' perf script to read config files

2017-07-13 Thread Jeff King
On Thu, Jul 13, 2017 at 11:29:10AM -0700, Junio C Hamano wrote: > > So then I think your config file primarily becomes about defining the > > properties of each run. I'm not sure if it would look like what you're > > starting on here or not. > > Yeah, I suspect that the final shape that defines

Re: [PATCH 03/15] t: use test_decode_color rather than literal ANSI codes

2017-07-13 Thread Stefan Beller
On Thu, Jul 13, 2017 at 7:58 AM, Jeff King wrote: > I really only need t6300 and t6006 converted to build on for the rest of > the series. But t4207 was easy to do. t4026 still uses raw codes, but > converting it would be a pretty big job, so I punted. > I think it is good to

Re: [PATCH] submodule: use cheaper check for submodule pushes

2017-07-13 Thread Junio C Hamano
Stefan Beller writes: > On Wed, Jul 12, 2017 at 5:53 PM, Junio C Hamano wrote: >> Jonathan Nieder writes: >> In the function push_submodule[1] we use add_submodule_odb[2] to determine if a submodule has been populated.

Re: [PATCH v1 0/4] Teach 'run' perf script to read config files

2017-07-13 Thread Junio C Hamano
Jeff King writes: > Because perf-lib is built on test-lib, it already reads > GIT-BUILD-OPTIONS. And the Makefile copies several perf-related values > into it, including GIT_PERF_MAKE_OPTS and GIT_PERF_REPEAT_COUNT. So you > can already do: > ... > But right now the perf suite is

Re: "groups of files" in Git?

2017-07-13 Thread Junio C Hamano
Stefan Beller writes: > On Tue, Jul 11, 2017 at 8:45 AM, Nikolay Shustov > >> With Git I cannot seem to finding the possibility to figure out how to >> achieve the same result. And the problem is that putting change sets >> on different Git branches (or workdirs, or whatever

Re: [PATCH] commit & merge: modularize the empty message validator

2017-07-13 Thread Kaartic Sivaraam
On Tue, 2017-07-11 at 13:22 -0700, Junio C Hamano wrote: > I think the "validation" done with the rest_is_empty() is somewhat > bogus.  Why should we reject a commit without a message and a > trailer block with only signed-off-by lines, while accepting a > commit without a message and a trailer

Re: What's cooking in git.git (Jul 2017, #03; Mon, 10)

2017-07-13 Thread Jeff King
On Thu, Jul 13, 2017 at 10:51:21AM -0700, Junio C Hamano wrote: > > But imagine force-with-lease rule were more like: when pushing > > branch "foo" to remote branch "bar", allow only if the current value of > > "bar" is an ancestor of some entry in the reflog of "foo". > > Would that cover the

Re: "groups of files" in Git?

2017-07-13 Thread Junio C Hamano
Nikolay Shustov writes: > Thank you for the detailed explanation, it looks like merging the > commits would be helpful in my case. And I think it is a very good > analogy that Perforce changelists are like multiple pending committs, > if Git were supporting such. > >

Re: [PATCH] commit & merge: modularize the empty message validator

2017-07-13 Thread Junio C Hamano
Kaartic Sivaraam writes: > Sometimes I abort an commit from from the editor by providing an empty > commit message. Then I came to know that 'git commit' considers commit > messages with just signed-off-by lines as an empty message. I tried to > take advantage of

Re: What's cooking in git.git (Jul 2017, #03; Mon, 10)

2017-07-13 Thread Junio C Hamano
Jeff King writes: > I do think Dscho is on to something with the "see if it was ever in our > reflog" idea. Yes, I found the idea was interesting when I responded with the "thinking aloud", and I still do think it has some uses elsewhere, even if not in "pull --rebase" workflow.

[PATCH v2 02/19] oidset2: create oidset subclass with object length and pathname

2017-07-13 Thread Jeff Hostetler
From: Jeff Hostetler Create subclass of oidset where each entry has a field to store the length of the object's content and an optional pathname. This will be used in a future commit to build a manifest of omitted objects in a partial/narrow clone/fetch. Signed-off-by:

[PATCH v2 04/19] list-objects-filters: add omit-all-blobs filter

2017-07-13 Thread Jeff Hostetler
From: Jeff Hostetler Create a simple filter for traverse_commit_list_filtered() to omit all blobs from the result. This filter will be used in a future commit by rev-list and pack-objects to create a "commits and trees" result. This is intended for a narrow/partial

[PATCH v2 06/19] list-objects-filters: add use-sparse-checkout filter

2017-07-13 Thread Jeff Hostetler
From: Jeff Hostetler Create a filter for traverse_commit_list_filtered() to omit the blobs that would not be needed by a sparse checkout using the given sparse-checkout spec. This filter will be used in a future commit by rev-list and pack-objects for partial/narrow

[PATCH v2 05/19] list-objects-filters: add omit-large-blobs filter

2017-07-13 Thread Jeff Hostetler
From: Jeff Hostetler Create a filter for traverse_commit_list_filtered() to omit blobs larger than a requested size from the result, but always include ".git*" special files. This filter will be used in a future commit by rev-list and pack-objects for partial/narrow

[PATCH v2 10/19] t6112: rev-list object filtering test

2017-07-13 Thread Jeff Hostetler
From: Jeff Hostetler Signed-off-by: Jeff Hostetler --- t/t6112-rev-list-filters-objects.sh | 37 + 1 file changed, 37 insertions(+) create mode 100644 t/t6112-rev-list-filters-objects.sh diff --git

[PATCH v2 03/19] list-objects: filter objects in traverse_commit_list

2017-07-13 Thread Jeff Hostetler
From: Jeff Hostetler Create traverse_commit_list_filtered() and add filtering interface to allow certain objects to be omitted (not shown) during a traversal. Update traverse_commit_list() to be a wrapper for the above. Filtering will be used in a future commit by

[PATCH v2 09/19] rev-list: add filtering help text

2017-07-13 Thread Jeff Hostetler
From: Jeff Hostetler Signed-off-by: Jeff Hostetler --- Documentation/git-rev-list.txt | 7 ++- Documentation/rev-list-options.txt | 26 ++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git

[PATCH v2 19/19] fetch: add object filtering to fetch

2017-07-13 Thread Jeff Hostetler
From: Jeff Hostetler Signed-off-by: Jeff Hostetler --- builtin/fetch.c | 27 ++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/builtin/fetch.c b/builtin/fetch.c index 5f2c2ab..306c165 100644 ---

[PATCH v2 13/19] upload-pack: add filter-objects to protocol documentation

2017-07-13 Thread Jeff Hostetler
From: Jeff Hostetler Signed-off-by: Jeff Hostetler --- Documentation/technical/pack-protocol.txt | 16 Documentation/technical/protocol-capabilities.txt | 7 +++ 2 files changed, 23 insertions(+) diff --git

  1   2   >