Re: What's cooking in git.git (May 2018, #04; Wed, 30)

2018-06-11 Thread Junio C Hamano
Taylor Blau  writes:

> Since it's past the date that I said I would re-roll this, I wanted to
> provide a quick update. I am back in the office, and have discovered a
> new wrinkle that `--invert --not -e ...` prints a column offset of 1,
> when it should recover the pattern and display the offset of the pattern
> match, treating the double negation as a no-op.
>
> I am going to continue to polish this until I can figure out a clean way
> to work around this issue. Sorry for the delay.

No need to be sorry; there is no need, especially after we hit the
-rc0 mark, to rush a topic that is about a new feature.

Thanks for an update, anyway.



Re: What's cooking in git.git (May 2018, #04; Wed, 30)

2018-06-11 Thread Taylor Blau
On Wed, May 30, 2018 at 09:12:10AM -0700, Taylor Blau wrote:
> On Wed, May 30, 2018 at 09:09:08AM -0700, Taylor Blau wrote:
> > [...]
> >
> > I have these patches mostly updated on my copy (available at
> > https://github.com/ttaylorr/git/compare/tb/grep-column) but am out of
> > the office for the next week, so I will polish and send these on June
> > 8th.
>
> Ack, that link is broken. It should be:
> https://github.com/ttaylorr/git/compare/tb/grep-colno.

Since it's past the date that I said I would re-roll this, I wanted to
provide a quick update. I am back in the office, and have discovered a
new wrinkle that `--invert --not -e ...` prints a column offset of 1,
when it should recover the pattern and display the offset of the pattern
match, treating the double negation as a no-op.

I am going to continue to polish this until I can figure out a clean way
to work around this issue. Sorry for the delay.


Thanks,
Taylor


Re: What's cooking in git.git (May 2018, #04; Wed, 30)

2018-05-31 Thread Junio C Hamano
Duy Nguyen  writes:

> On Wed, May 30, 2018 at 8:38 AM, Junio C Hamano  wrote:
>> * sb/object-store-alloc (2018-05-16) 13 commits
>>  - alloc: allow arbitrary repositories for alloc functions
>>  - object: allow create_object to handle arbitrary repositories
>>  - object: allow grow_object_hash to handle arbitrary repositories
>>  - alloc: add repository argument to alloc_commit_index
>>  - alloc: add repository argument to alloc_report
>>  - alloc: add repository argument to alloc_object_node
>>  - alloc: add repository argument to alloc_tag_node
>>  - alloc: add repository argument to alloc_commit_node
>>  - alloc: add repository argument to alloc_tree_node
>>  - alloc: add repository argument to alloc_blob_node
>>  - object: add repository argument to grow_object_hash
>>  - object: add repository argument to create_object
>>  - repository: introduce parsed objects field
>>  (this branch is used by sb/object-store-grafts.)
>>
>>  The conversion to pass "the_repository" and then "a_repository"
>>  throughout the object access API continues.
>>
>>  Is this ready for 'next'?
>
> I think so. Stefan could remove the comment "/* TODO: what about
> commit->util? */" if he wants since nd/commit-util-to-slab is already
> in next. But this is really minor and does not need fixing to land on
> 'next'.

Thanks.


Re: What's cooking in git.git (May 2018, #04; Wed, 30)

2018-05-31 Thread Junio C Hamano
Taylor Blau  writes:

> I have these patches mostly updated on my copy (available at
> https://github.com/ttaylorr/git/compare/tb/grep-column) but am out of
> the office for the next week, so I will polish and send these on June
> 8th.
>
>> * tb/grep-only-matching (2018-05-14) 2 commits
>>  - builtin/grep.c: teach '-o', '--only-matching' to 'git-grep'
>>  - grep.c: extract show_line_header()
>>  (this branch uses tb/grep-column.)
>
> This topic is done, but will be frustrating to merge after the changes
> in tb/grep-column. I'll update this topic once tb/grep-column graduates
> to master, that way they will both apply cleanly.

Thanks for an update.


Re: What's cooking in git.git (May 2018, #04; Wed, 30)

2018-05-30 Thread Stefan Beller
On Wed, May 30, 2018 at 9:27 AM, Duy Nguyen  wrote:
> On Wed, May 30, 2018 at 8:38 AM, Junio C Hamano  wrote:
>> * sb/object-store-alloc (2018-05-16) 13 commits
>>  - alloc: allow arbitrary repositories for alloc functions
>>  - object: allow create_object to handle arbitrary repositories
>>  - object: allow grow_object_hash to handle arbitrary repositories
>>  - alloc: add repository argument to alloc_commit_index
>>  - alloc: add repository argument to alloc_report
>>  - alloc: add repository argument to alloc_object_node
>>  - alloc: add repository argument to alloc_tag_node
>>  - alloc: add repository argument to alloc_commit_node
>>  - alloc: add repository argument to alloc_tree_node
>>  - alloc: add repository argument to alloc_blob_node
>>  - object: add repository argument to grow_object_hash
>>  - object: add repository argument to create_object
>>  - repository: introduce parsed objects field
>>  (this branch is used by sb/object-store-grafts.)
>>
>>  The conversion to pass "the_repository" and then "a_repository"
>>  throughout the object access API continues.
>>
>>  Is this ready for 'next'?
>
> I think so.

I think so, too.
(I even think that for sb/object-store-grafts.)

> Stefan could remove the comment "/* TODO: what about
> commit->util? */" if he wants since nd/commit-util-to-slab is already
> in next. But this is really minor and does not need fixing to land on
> 'next'.

I was about to remove that comment in the follow up[1] that I sent out
yesterday, but refrained. Now that the removal of util is being merged
to master, I'll include that in that series

[1] https://public-inbox.org/git/20180530004810.30076-1-sbel...@google.com/


Re: What's cooking in git.git (May 2018, #04; Wed, 30)

2018-05-30 Thread Duy Nguyen
On Wed, May 30, 2018 at 8:38 AM, Junio C Hamano  wrote:
> * sb/object-store-alloc (2018-05-16) 13 commits
>  - alloc: allow arbitrary repositories for alloc functions
>  - object: allow create_object to handle arbitrary repositories
>  - object: allow grow_object_hash to handle arbitrary repositories
>  - alloc: add repository argument to alloc_commit_index
>  - alloc: add repository argument to alloc_report
>  - alloc: add repository argument to alloc_object_node
>  - alloc: add repository argument to alloc_tag_node
>  - alloc: add repository argument to alloc_commit_node
>  - alloc: add repository argument to alloc_tree_node
>  - alloc: add repository argument to alloc_blob_node
>  - object: add repository argument to grow_object_hash
>  - object: add repository argument to create_object
>  - repository: introduce parsed objects field
>  (this branch is used by sb/object-store-grafts.)
>
>  The conversion to pass "the_repository" and then "a_repository"
>  throughout the object access API continues.
>
>  Is this ready for 'next'?

I think so. Stefan could remove the comment "/* TODO: what about
commit->util? */" if he wants since nd/commit-util-to-slab is already
in next. But this is really minor and does not need fixing to land on
'next'.
-- 
Duy


Re: What's cooking in git.git (May 2018, #04; Wed, 30)

2018-05-30 Thread Taylor Blau
On Wed, May 30, 2018 at 09:09:08AM -0700, Taylor Blau wrote:
> [...]
>
> I have these patches mostly updated on my copy (available at
> https://github.com/ttaylorr/git/compare/tb/grep-column) but am out of
> the office for the next week, so I will polish and send these on June
> 8th.

Ack, that link is broken. It should be:
https://github.com/ttaylorr/git/compare/tb/grep-colno.

Thanks,
Taylor


Re: What's cooking in git.git (May 2018, #04; Wed, 30)

2018-05-30 Thread Taylor Blau
On Wed, May 30, 2018 at 03:38:09PM +0900, Junio C Hamano wrote:
> * tb/grep-column (2018-05-14) 7 commits
>  - contrib/git-jump/git-jump: jump to match column in addition to line
>  - grep.c: add configuration variables to show matched option
>  - builtin/grep.c: add '--column' option to 'git-grep(1)'
>  - grep.c: display column number of first match
>  - grep.[ch]: extend grep_opt to allow showing matched column
>  - grep.c: expose matched column in match_line()
>  - Documentation/config.txt: camel-case lineNumber for consistency
>  (this branch is used by tb/grep-only-matching.)
>
>  "git grep" learned the "--column" option that gives not just the
>  line number but the column number of the hit.

The last we spoke about this, we had decided on a "min-starting,
max-ending" semantics for deciding on the columnar offset for extended
patterns like --and, --or, and --not.

I have these patches mostly updated on my copy (available at
https://github.com/ttaylorr/git/compare/tb/grep-column) but am out of
the office for the next week, so I will polish and send these on June
8th.

> * tb/grep-only-matching (2018-05-14) 2 commits
>  - builtin/grep.c: teach '-o', '--only-matching' to 'git-grep'
>  - grep.c: extract show_line_header()
>  (this branch uses tb/grep-column.)

This topic is done, but will be frustrating to merge after the changes
in tb/grep-column. I'll update this topic once tb/grep-column graduates
to master, that way they will both apply cleanly.


Thanks,
Taylor


What's cooking in git.git (May 2018, #04; Wed, 30)

2018-05-29 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.

The recent fixes in v2.17.1 and downward have been merged to these
integration branches 'master' and above.

You can find the changes described here in the integration branches
of the repositories listed at

http://git-blame.blogspot.com/p/git-public-repositories.html

--
[Graduated to "master"]

* ab/get-short-oid (2018-05-11) 5 commits
  (merged to 'next' on 2018-05-23 at 07e1908439)
 + get_short_oid: sort ambiguous objects by type, then SHA-1
 + sha1-name.c: move around the collect_ambiguous() function
 + git-p4: change "commitish" typo to "committish"
 + sha1-array.h: align function arguments
 + sha1-name.c: remove stray newline

 When a short hexadecimal string is used to name an object but there
 are multiple objects that share the string as the prefix of their
 names, the code lists these ambiguous candidates in a help message.
 These object names are now sorted according to their types for
 easier eyeballing.


* bc/object-id (2018-05-02) 42 commits
  (merged to 'next' on 2018-05-23 at 916bcce829)
 + merge-one-file: compute empty blob object ID
 + add--interactive: compute the empty tree value
 + Update shell scripts to compute empty tree object ID
 + sha1_file: only expose empty object constants through git_hash_algo
 + dir: use the_hash_algo for empty blob object ID
 + sequencer: use the_hash_algo for empty tree object ID
 + cache-tree: use is_empty_tree_oid
 + sha1_file: convert cached object code to struct object_id
 + builtin/reset: convert use of EMPTY_TREE_SHA1_BIN
 + builtin/receive-pack: convert one use of EMPTY_TREE_SHA1_HEX
 + wt-status: convert two uses of EMPTY_TREE_SHA1_HEX
 + submodule: convert several uses of EMPTY_TREE_SHA1_HEX
 + sequencer: convert one use of EMPTY_TREE_SHA1_HEX
 + merge: convert empty tree constant to the_hash_algo
 + builtin/merge: switch tree functions to use object_id
 + builtin/am: convert uses of EMPTY_TREE_SHA1_BIN to the_hash_algo
 + sha1-file: add functions for hex empty tree and blob OIDs
 + builtin/receive-pack: avoid hard-coded constants for push certs
 + diff: specify abbreviation size in terms of the_hash_algo
 + upload-pack: replace use of several hard-coded constants
 + revision: replace use of hard-coded constants
 + http: eliminate hard-coded constants
 + dir: convert struct untracked_cache_dir to object_id
 + commit: convert uses of get_sha1_hex to get_oid_hex
 + index-pack: abstract away hash function constant
 + pack-redundant: convert linked lists to use struct object_id
 + Update struct index_state to use struct object_id
 + split-index: convert struct split_index to object_id
 + submodule-config: convert structures to object_id
 + fsck: convert static functions to struct object_id
 + tree-walk: convert get_tree_entry_follow_symlinks to object_id
 + tree-walk: avoid hard-coded 20 constant
 + pack-redundant: abstract away hash algorithm
 + pack-objects: abstract away hash algorithm
 + packfile: abstract away hash constant values
 + packfile: convert find_pack_entry to object_id
 + sha1-file: convert freshen functions to object_id
 + packfile: convert has_sha1_pack to object_id
 + packfile: remove unused member from struct pack_entry
 + Remove unused member in struct object_context
 + server-info: remove unused members from struct pack_info
 + cache: add a function to read an object ID from a buffer

 Conversion from uchar[20] to struct object_id continues.


* bp/merge-rename-config (2018-05-08) 3 commits
  (merged to 'next' on 2018-05-22 at 911440a742)
 + merge: pass aggressive when rename detection is turned off
 + merge: add merge.renames config setting
 + merge: update documentation for {merge,diff}.renameLimit
 (this branch is used by ma/unpack-trees-free-msgs.)

 With merge.renames configuration set to false, the recursive merge
 strategy can be told not to spend cycles trying to find renamed
 paths and merge them accordingly.


* bp/status-rename-config (2018-05-13) 1 commit
  (merged to 'next' on 2018-05-22 at ffcb0a7aa7)
 + add status config and command line options for rename detection

 "git status" learned to honor a new status.renames configuration to
 skip rename detection, which could be useful for those who want to
 do so without disabling the default rename detection done by the
 "git diff" command.


* cf/submodule-progress-dissociate (2018-05-22) 3 commits
  (merged to 'next' on 2018-05-22 at 9b3b96c54b)
 + submodule: add --dissociate option to add/update commands
 + submodule: add --progress option to add command
 + submodule: clean up substitutions in script

 "git submodule update" and "git submodule add" supported the
 "--reference" option to borrow objects from a neighbouring local
 repository like "git clon