[PATCH v2] remote.c: avoid O(m*n) behavior in match_push_refs

2013-07-08 Thread Brandon Casey
When pushing using a matching refspec or a pattern refspec, each ref in the local repository must be paired with a ref advertised by the remote server. This is accomplished by using the refspec to transform the name of the local ref into the name it should have in the remote repository, and then

Re: A local shared clone is now much slower

2013-07-08 Thread Jeff King
On Mon, Jul 08, 2013 at 01:03:55PM +1000, Stephen Rothwell wrote: So commit 0433ad128c59 (clone: run check_everything_connected) (which turned up with v1.8.3) added a large traversal to clone which (as the comment said) makes a clone much slower. It is especially noticeable on git clone -s

Re: [PATCH v2] remote.c: avoid O(m*n) behavior in match_push_refs

2013-07-08 Thread Jeff King
On Mon, Jul 08, 2013 at 12:02:11AM -0700, Brandon Casey wrote: Here is the reroll with an updated commit message that hopefully provides a little more detail to justify this change. I removed the use of the search index in the send_prune block since I think that pruning many refs is an

Re: [PATCH 4/4] pack-revindex: radix-sort the revindex

2013-07-08 Thread Jeff King
On Sun, Jul 07, 2013 at 04:52:23PM -0700, Shawn O. Pearce wrote: On Sun, Jul 7, 2013 at 3:14 AM, Jeff King p...@peff.net wrote: The pack revindex stores the offsets of the objects in the pack in sorted order, allowing us to easily find the on-disk size of each object. To compute it, we

Re: [PATCH 1/4] name-ref: factor out name shortening logic from name_ref()

2013-07-08 Thread Michael Haggerty
On 07/08/2013 12:33 AM, Junio C Hamano wrote: The logic will be used in a new codepath for showing exact matches. Signed-off-by: Junio C Hamano gits...@pobox.com --- builtin/name-rev.c | 19 --- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git

Re: A local shared clone is now much slower

2013-07-08 Thread Duy Nguyen
On Mon, Jul 8, 2013 at 2:30 PM, Jeff King p...@peff.net wrote: Subject: [PATCH] clone: drop connectivity check for local clones Commit 0433ad1 (clone: run check_everything_connected, 2013-03-25) added the same connectivity check to clone that we use for fetching. The intent was to provide

[PATCH v2 w/prune index] remote.c: avoid O(m*n) behavior in match_push_refs

2013-07-08 Thread Brandon Casey
When pushing using a matching refspec or a pattern refspec, each ref in the local repository must be paired with a ref advertised by the remote server. This is accomplished by using the refspec to transform the name of the local ref into the name it should have in the remote repository, and then

[PATCH] t0000: do not use export X=Y

2013-07-08 Thread Torsten Bögershausen
The shell syntax export X=Y A=B is not understood by all shells. Signed-off-by: Torsten Bögershausen tbo...@web.de --- t/t-basic.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/t/t-basic.sh b/t/t-basic.sh index 5c32288..10be52b 100755 --- a/t/t-basic.sh

Re: git p4 clone not processing branches properly

2013-07-08 Thread Matthieu Brucher
Hi again, I tried with @all, but it didn'y work as expected. It imported a bunch of revisions (but no files?) and ended with: Reading pipe: ['git', 'config', '--bool', 'git-p4.importLabels'] Not checking out any branch, use git checkout -q -b master branch executing git config --bool

Re: git p4 clone not processing branches properly

2013-07-08 Thread Vitor Antunes
On Mon, Jul 8, 2013 at 11:09 AM, Matthieu Brucher matthieu.bruc...@gmail.com wrote: Hi again, I tried with @all, but it didn'y work as expected. It imported a bunch of revisions (but no files?) and ended with: Reading pipe: ['git', 'config', '--bool', 'git-p4.importLabels'] Not checking

Re: git p4 clone not processing branches properly

2013-07-08 Thread Matthieu Brucher
Unfortunately, git branch -a returns nothing :/ I tried with the simple detect-branches as well as with the config values. Perhaps the spec-client? Although it is strange as it seems that the repository is completely empty. Thanks, Matthieu 2013/7/8 Vitor Antunes vitor@gmail.com: On Mon,

Re: [PATCH 3/4] cat-file: add --batch-disk-sizes option

2013-07-08 Thread Duy Nguyen
un Mon, Jul 8, 2013 at 12:49 AM, Junio C Hamano gits...@pobox.com wrote: Jeff King p...@peff.net writes: Perhaps we need git cat-file --batch-format=%(disk-size) %(object) or similar. This is what I wanted to do with the in for-each-ref's pretty formatting [1]. I used to hack cat-file

Re: git p4 clone not processing branches properly

2013-07-08 Thread Matthieu Brucher
Without the spec client, it seems that the branches are recognized, but there are some many binary files that I need to remove them during the migration. I tried setting a .gitignore beforehand, but it is not respected (I tried to remove some folders with folder/ in .gitignore, but the folder are

Re: [PATCH 05/22] read-cache: add index reading api

2013-07-08 Thread Thomas Gummerer
Duy Nguyen pclo...@gmail.com writes: On Sun, Jul 7, 2013 at 3:11 PM, Thomas Gummerer t.gumme...@gmail.com wrote: +/* + * Options by which the index should be filtered when read partially. + * + * pathspec: The pathspec which the index entries have to match + * seen: Used to return the seen

Re: [PATCH 05/22] read-cache: add index reading api

2013-07-08 Thread Thomas Gummerer
Duy Nguyen pclo...@gmail.com writes: On Sun, Jul 7, 2013 at 3:11 PM, Thomas Gummerer t.gumme...@gmail.com wrote: Add an api for access to the index file. Currently there is only a very basic api for accessing the index file, which only allows a full read of the index, and lets the users of

Re: [PATCH 15/22] read-cache: read index-v5

2013-07-08 Thread Thomas Gummerer
Eric Sunshine sunsh...@sunshineco.com writes: On Sun, Jul 7, 2013 at 4:11 AM, Thomas Gummerer t.gumme...@gmail.com wrote: Make git read the index file version 5 without complaining. This version of the reader doesn't read neither the cache-tree nor the resolve undo data, but doesn't choke on

Re: [PATCH 3/4] cat-file: add --batch-disk-sizes option

2013-07-08 Thread Ramkumar Ramachandra
Duy Nguyen wrote: Ram, are you still interested in the awesome branch series? Yep, but it got stalled due to lack of reviewer-interest :/ I'm a bit under the weather at the moment, but it's good to see that you're back: let's finish this soon. Perhaps we need git cat-file

Re: [PATCH 2/4] name-rev: allow converting the exact object name at the tip of a ref

2013-07-08 Thread Ramkumar Ramachandra
Junio C Hamano wrote: git name-rev is supposed to convert 40-hex object names into strings that name the same objects based on refs, that can be fed to git rev-parse to get the same object names back, so $ git rev-parse v1.8.3 v1.8.3^0 | git name-rev --stdin

Re: [PATCH 05/22] read-cache: add index reading api

2013-07-08 Thread Duy Nguyen
On Mon, Jul 8, 2013 at 6:20 PM, Thomas Gummerer t.gumme...@gmail.com wrote: Duy Nguyen pclo...@gmail.com writes: Putting filter_opts in index_state feels like a bad design. Iterator information should be separated from the iterated object, so that two callers can walk through the same index

Re: [PATCH 2/3] name-rev: strip trailing ^0 in when --name-only

2013-07-08 Thread Ramkumar Ramachandra
Junio C Hamano wrote: But I do not think name-rev is limited to commits, in the sense that you would see this: $ git rev-parse v1.8.3 v1.8.3^0 | git name-rev --stdin 8af06057d0c31a24e8737ae846ac2e116e8bafb9 edca4152560522a431a51fc0a06147fc680b5b18 (tags/v1.8.3^0) The second

Re: A local shared clone is now much slower

2013-07-08 Thread Junio C Hamano
Jeff King p...@peff.net writes: On Mon, Jul 08, 2013 at 01:03:55PM +1000, Stephen Rothwell wrote: So commit 0433ad128c59 (clone: run check_everything_connected) (which turned up with v1.8.3) added a large traversal to clone which (as the comment said) makes a clone much slower. It is

[RFC/PATCH] fetch: make --prune configurable

2013-07-08 Thread Michael Schubert
$gmane/201715 brought up the idea to fetch --prune by default. Since --prune is a potentially destructive operation (Git doesn't keep reflogs for deleted references yet), we don't want to prune without users consent. To accommodate users who want to either prune always or when fetching from a

Re: [PATCH 4/4] describe/name-rev: tell name-rev to peel the incoming object to commit first

2013-07-08 Thread Ramkumar Ramachandra
Junio C Hamano wrote: With this on top of the other patches in this series, you would get: $ git describe --contains $(git rev-parse v1.8.3 v1.8.3^0) v1.8.3 v1.8.3 while you can still differentiate tags and the commits they point at with: $ git name-rev --refs=tags/\*

Re: [PATCH 3/4] cat-file: add --batch-disk-sizes option

2013-07-08 Thread Duy Nguyen
On Mon, Jul 8, 2013 at 7:00 PM, Ramkumar Ramachandra artag...@gmail.com wrote: This is what I wanted to do with the in for-each-ref's pretty formatting [1]. I used to hack cat-file --batch to extract info I needed for experimenting with various pack index extensions. If you are not in hurry,

Re: [PATCH 1/3] name-rev: fix assumption about --name-only usage

2013-07-08 Thread Ramkumar Ramachandra
Junio C Hamano wrote: would get name-rev to print output in the same format as describe, $ git describe --contains --all v1.8.3~1 tags/v1.8.3~1 would not strip the leading tags/. If you _know_ v1.8.3 does not appear outside tags/, this does look inconsistent, but I do not think the

[PATCH] fixup! git-remote-mediawiki: New git bin-wrapper for developement

2013-07-08 Thread Matthieu Moy
Signed-off-by: Matthieu Moy matthieu@imag.fr --- The colon after make and the indentation look weird. Shouldn't this be +# To build and test: +# +# make +# bin-wrapper/git mw preview Some_page.mw +# bin-wrapper/git clone mediawiki::http://example.com/wiki/ +# ?

Re: [PATCH 05/22] read-cache: add index reading api

2013-07-08 Thread Thomas Gummerer
Duy Nguyen pclo...@gmail.com writes: On Mon, Jul 8, 2013 at 6:20 PM, Thomas Gummerer t.gumme...@gmail.com wrote: Duy Nguyen pclo...@gmail.com writes: Putting filter_opts in index_state feels like a bad design. Iterator information should be separated from the iterated object, so that two

Re: [PATCH 3/4] cat-file: add --batch-disk-sizes option

2013-07-08 Thread Ramkumar Ramachandra
Duy Nguyen wrote: The short/long naming is the least I worry about. We could add long names to pretty specifiers. The thing about the last attempt is, you add some extra things on top elsewhere, but format_commit_item code may need to be aware of those changes, which are not obvious when

Re: git p4 clone not processing branches properly

2013-07-08 Thread Vitor Antunes
On Mon, Jul 8, 2013 at 12:10 PM, Matthieu Brucher matthieu.bruc...@gmail.com wrote: Without the spec client, it seems that the branches are recognized, but there are some many binary files that I need to remove them during the migration. I tried setting a .gitignore beforehand, but it is not

Re: [PATCH 1/2] push: avoid suggesting merging remote changes

2013-07-08 Thread Matthieu Moy
John Keeping j...@keeping.me.uk writes: static const char message_advice_pull_before_push[] = N_(Updates were rejected because the tip of your current branch is behind\n -its remote counterpart. Merge the remote changes (e.g. 'git pull')\n -before pushing again.\n

Re: [PATCH] prompt: do not double-discriminate detached HEAD

2013-07-08 Thread Ramkumar Ramachandra
Junio C Hamano wrote: +1; I find red on many terminal emulators to be too dark to tell, especially in a small font, from black myself. It's a matter of taste anyway. I hope everyone's not going colorblind from writing too much C89 and Bourne shell ;) Eduardo R. D'Avila wrote: I think color

[PATCH] Corrects an Abort Trap: 6 error with completions.

2013-07-08 Thread Steven Klass
Hi Folks, Corrects an Abort Trap: 6 error with completions. Fixed an issue where the two commands on a single line would cause a strange unrelated 'Abort trap: 6' error on non-git commands on Mac OSX 10.8. Signed-off-by: Steven Klass skl...@7stalks.com ---

Re: git p4 clone not processing branches properly

2013-07-08 Thread Matthieu Brucher
Hi, I tried without spec, but then it tried importing everything, even though there was a .gitignore and a .git/config/exclude file. Then, it crashed during the importation because it could find an old branch (I don't have access to everything on the repository), so I tried importing just the

Re: [PATCH] t0000: do not use export X=Y

2013-07-08 Thread Thomas Rast
Torsten Bögershausen tbo...@web.de writes: The shell syntax export X=Y A=B is not understood by all shells. Signed-off-by: Torsten Bögershausen tbo...@web.de --- t/t-basic.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/t/t-basic.sh b/t/t-basic.sh

Re: A local shared clone is now much slower

2013-07-08 Thread Junio C Hamano
Duy Nguyen pclo...@gmail.com writes: On Mon, Jul 8, 2013 at 2:30 PM, Jeff King p...@peff.net wrote: Subject: [PATCH] clone: drop connectivity check for local clones Commit 0433ad1 (clone: run check_everything_connected, 2013-03-25) added the same connectivity check to clone that we use for

Re: [PATCH 1/4] name-ref: factor out name shortening logic from name_ref()

2013-07-08 Thread Junio C Hamano
Michael Haggerty mhag...@alum.mit.edu writes: On 07/08/2013 12:33 AM, Junio C Hamano wrote: The logic will be used in a new codepath for showing exact matches. Signed-off-by: Junio C Hamano gits...@pobox.com --- builtin/name-rev.c | 19 --- 1 file changed, 12

Re: [PATCH 2/4] name-rev: allow converting the exact object name at the tip of a ref

2013-07-08 Thread Junio C Hamano
Ramkumar Ramachandra artag...@gmail.com writes: Finds symbolic names suitable for human digestion for revisions given in any format parsable by git rev-parse. It is meant to name _revisions_ (aka. commits): That is a mistaken documentation, written based on a half-baked implementation

Re: git subtree push-all and pull-all

2013-07-08 Thread Gareth Collins
Hello Fredrik, Thanks for the suggestion! Adding in Paul Campbell and Herman Van Rink who worked on this before. thanks again, Gareth On Sun, Jul 7, 2013 at 8:54 AM, Fredrik Gustafsson iv...@iveqy.com wrote: On Wed, Jul 03, 2013 at 03:56:36PM -0400, Gareth Collins wrote: Hello, I see over

[PATCH 2/2] test-lint: detect 'export FOO=bar'

2013-07-08 Thread Thomas Rast
Some shells do not understand the one-line construct, and instead need FOO=bar export FOO Detect this in the test-lint target. Signed-off-by: Thomas Rast tr...@inf.ethz.ch --- I wrote: Torsten Bögershausen tbo...@web.de writes: [...] - export HARNESS_ACTIVE=t +

Re: [PATCH 0/3] merge -Xindex-only

2013-07-08 Thread Michael Haggerty
[Resend because of address confusion in replied-to email.] On 07/07/2013 08:00 PM, Thomas Rast wrote: I recently looked into making merge-recursive more useful as a modular piece in various tasks, e.g. Michael's git-imerge and the experiments I made in showing evil merges. This miniseries

Re: [PATCH 4/4] pack-revindex: radix-sort the revindex

2013-07-08 Thread Shawn Pearce
On Mon, Jul 8, 2013 at 12:57 AM, Jeff King p...@peff.net wrote: On Sun, Jul 07, 2013 at 04:52:23PM -0700, Shawn O. Pearce wrote: On Sun, Jul 7, 2013 at 3:14 AM, Jeff King p...@peff.net wrote: The pack revindex stores the offsets of the objects in the pack in sorted order, allowing us to

Re: [PATCH 0/3] merge -Xindex-only

2013-07-08 Thread Thomas Rast
Michael Haggerty mhag...@alum.mit.edu writes: [Resend because of address confusion in replied-to email.] On 07/07/2013 08:00 PM, Thomas Rast wrote: I recently looked into making merge-recursive more useful as a modular piece in various tasks, e.g. Michael's git-imerge and the experiments I

expanding pack idx fanout table

2013-07-08 Thread Shawn Pearce
Has anyone studied the impact of converting the pack idx fanout table from 256 entries to 65536 entries? Back of the envelope estimates for 3.1M objects in linux.git suggests a 2^16 fanout table would decrease the number of binary search iterations from ~14 to ~6. The increased table costs an

Re: [PATCH] fixup! git-remote-mediawiki: New git bin-wrapper for developement

2013-07-08 Thread Junio C Hamano
Matthieu Moy matthieu@imag.fr writes: Signed-off-by: Matthieu Moy matthieu@imag.fr --- The colon after make and the indentation look weird. Shouldn't this be +# To build and test: +# +# make +# bin-wrapper/git mw preview Some_page.mw +# bin-wrapper/git clone

Re: [PATCH v2 w/prune index] remote.c: avoid O(m*n) behavior in match_push_refs

2013-07-08 Thread Junio C Hamano
Brandon Casey draf...@gmail.com writes: ... Using an index takes 41 ms longer, or roughly 7.8% longer. Jeff King measured a no-op push of a single ref into a remote repo with 370,000 refs: beforeafter real0m1.087s 0m1.156s user0m1.344s 0m1.412s sys 0m0.288s

Re: [PATCH v3 0/2] allow git-svn fetching to work using serf

2013-07-08 Thread Junio C Hamano
Kyle J. McKay mack...@gmail.com writes: From: Kyle J. McKay mack...@gmail.com This patch allows git-svn to fetch successfully using the serf library when given an https?: url to fetch from. Unfortunately some svn servers do not seem to be configured well for use with the serf library.

Re: [PATCH 06/22] make sure partially read index is not changed

2013-07-08 Thread Junio C Hamano
Thomas Gummerer t.gumme...@gmail.com writes: A partially read index file currently cannot be written to disk. Make sure that never happens, by re-reading the index file if the index file wasn't read completely before changing the in-memory index. I am not quite sure what you are trying to

Re: [PATCH 05/22] read-cache: add index reading api

2013-07-08 Thread Junio C Hamano
Thomas Gummerer t.gumme...@gmail.com writes: Add an api for access to the index file. Currently there is only a very basic api for accessing the index file, which only allows a full read of the index, and lets the users of the data filter it. The new index api gives the users the

Re: [PATCH 3/4] cat-file: add --batch-disk-sizes option

2013-07-08 Thread Junio C Hamano
Duy Nguyen pclo...@gmail.com writes: There's also syntax sharing. I don't think each command should have its own syntax. f-e-r already has %(objectsize). If we plan to have a common syntax, perhaps %(disk-size) should be %(objectsize:disk) or something. Adding formatting to cat-file --batch

Re: [PATCH 1/2] t9902: fix 'test A == B' to use = operator

2013-07-08 Thread Junio C Hamano
Thomas Rast tr...@inf.ethz.ch writes: The == operator as an alias to = is not POSIX. This doesn't actually matter for the execution of the script, because it only runs when the shell is bash. However, it trips up test-lint, so it's nicer to use the standard form. OK, my knee-jerk reaction

Re: [PATCH] Corrects an Abort Trap: 6 error with completions.

2013-07-08 Thread Junio C Hamano
Steven Klass skl...@7stalks.com writes: Hi Folks, Corrects an Abort Trap: 6 error with completions. Fixed an issue where the two commands on a single line would cause a strange unrelated 'Abort trap: 6' error on non-git commands on Mac OSX 10.8. Signed-off-by: Steven Klass

Re: expanding pack idx fanout table

2013-07-08 Thread Junio C Hamano
Shawn Pearce spea...@spearce.org writes: Has anyone studied the impact of converting the pack idx fanout table from 256 entries to 65536 entries? Back of the envelope estimates for 3.1M objects in linux.git suggests a 2^16 fanout table would decrease the number of binary search iterations

Re: [PATCH] Corrects an Abort Trap: 6 error with completions.

2013-07-08 Thread Steven Klass
Hi Junio, First - Thanks so much for your reply! The original cause was simply running a non-related command. Specifically I was trying to build some internal software. Our internal software uses a build build tool from perforce called jam

Re: expanding pack idx fanout table

2013-07-08 Thread Shawn Pearce
On Mon, Jul 8, 2013 at 10:37 AM, Junio C Hamano gits...@pobox.com wrote: Shawn Pearce spea...@spearce.org writes: Has anyone studied the impact of converting the pack idx fanout table from 256 entries to 65536 entries? Back of the envelope estimates for 3.1M objects in linux.git suggests a

Re: [PATCH 06/22] make sure partially read index is not changed

2013-07-08 Thread Thomas Gummerer
Junio C Hamano gits...@pobox.com writes: Thomas Gummerer t.gumme...@gmail.com writes: A partially read index file currently cannot be written to disk. Make sure that never happens, by re-reading the index file if the index file wasn't read completely before changing the in-memory index. I

Re: [RFC/PATCH] fetch: make --prune configurable

2013-07-08 Thread Junio C Hamano
Michael Schubert msc...@elegosoft.com writes: $gmane/201715 brought up the idea to fetch --prune by default. When you can summarize it in a few lines, e.g. Without git fetch --prune, remote-tracking branches for a branch the other side already has removed will stay forever. Some

Re: [PATCH 1/2] push: avoid suggesting merging remote changes

2013-07-08 Thread John Keeping
On Mon, Jul 08, 2013 at 03:47:19PM +0200, Matthieu Moy wrote: John Keeping j...@keeping.me.uk writes: static const char message_advice_pull_before_push[] = N_(Updates were rejected because the tip of your current branch is behind\n - its remote counterpart. Merge the remote

Re: [RFC/PATCH] fetch: make --prune configurable

2013-07-08 Thread John Keeping
On Mon, Jul 08, 2013 at 02:56:57PM +0200, Michael Schubert wrote: $gmane/201715 brought up the idea to fetch --prune by default. Since --prune is a potentially destructive operation (Git doesn't keep reflogs for deleted references yet), we don't want to prune without users consent. To

Re: [PATCH 2/2] test-lint: detect 'export FOO=bar'

2013-07-08 Thread Torsten Bögershausen
On 2013-07-08 17.20, Thomas Rast wrote: Some shells do not understand the one-line construct, and instead need FOO=bar export FOO Detect this in the test-lint target. Signed-off-by: Thomas Rast tr...@inf.ethz.ch --- I wrote: Torsten Bögershausen tbo...@web.de writes: [...]

Re: [PATCH v2 1/2] commit: reject invalid UTF-8 codepoints

2013-07-08 Thread Junio C Hamano
Peter Krefting pe...@softwolves.pp.se writes: brian m. carlson: +/* U+FFFE and U+ are guaranteed non-characters. */ +if ((codepoint 0x1e) == 0xfffe) +return bad_offset; I missed this the first time around: All Unicode characters whose

Re: [BUG] git svn geotrust certificate problem

2013-07-08 Thread Fredrik Gustafsson
On Fri, Jul 05, 2013 at 07:16:01PM +0400, Ilya Holinov wrote: I have svn repository on https singed with GeoTrust issued certificate. Every time i try to access this repository i have message : $ git svn rebase Error validating server certificate for 'https://svn.egspace.ru:443': - The

Re: [PATCH 05/22] read-cache: add index reading api

2013-07-08 Thread Thomas Gummerer
Junio C Hamano gits...@pobox.com writes: Thomas Gummerer t.gumme...@gmail.com writes: Add an api for access to the index file. Currently there is only a very basic api for accessing the index file, which only allows a full read of the index, and lets the users of the data filter it. The

Re: [PATCH 4/4] pack-revindex: radix-sort the revindex

2013-07-08 Thread Brandon Casey
On Sun, Jul 7, 2013 at 3:14 AM, Jeff King p...@peff.net wrote: The pack revindex stores the offsets of the objects in the pack in sorted order, allowing us to easily find the on-disk size of each object. To compute it, we populate an array with the offsets from the sha1-sorted idx file, and

[PATCH 5.5/22] Add documentation for the index api

2013-07-08 Thread Thomas Gummerer
Document the new index api and add examples of how it should be used instead of the old functions directly accessing the index. Helped-by: Nguyễn Thái Ngọc Duy pclo...@gmail.com Signed-off-by: Thomas Gummerer t.gumme...@gmail.com --- Duy Nguyen pclo...@gmail.com writes: Hmm.. I was confused

[PATCH] cache.h: move remote/connect API out of it

2013-07-08 Thread Junio C Hamano
The definition of struct ref in cache.h, a header file so central to the system, always confused me. This structure is not about the local ref used by sha1-name API to name local objects. It is what refspecs are expanded into, after finding out what refs the other side has, to define what refs

Re: [PATCH 4/4] pack-revindex: radix-sort the revindex

2013-07-08 Thread Brandon Casey
On Mon, Jul 8, 2013 at 1:50 PM, Brandon Casey draf...@gmail.com wrote: On Sun, Jul 7, 2013 at 3:14 AM, Jeff King p...@peff.net wrote: diff --git a/pack-revindex.c b/pack-revindex.c index 77a0465..d2adf36 100644 --- a/pack-revindex.c +++ b/pack-revindex.c @@ -59,11 +59,78 @@ static int

Re: [PATCH] cache.h: move remote/connect API out of it

2013-07-08 Thread Junio C Hamano
Junio C Hamano gits...@pobox.com writes: The definition of struct ref in cache.h, a header file so central to the system, always confused me. This structure is not about the local ref used by sha1-name API to name local objects. It is what refspecs are expanded into, after finding out what

standarize mtime when git checkout

2013-07-08 Thread Rick Liu
Hi, Currently when doing git checkout (either for a branch or a tag), if the file doesn't exist before, the file will be created using current datetime. This causes problem while trying to tar the git repository source files (excluding .git folder). The tar binary can be different even all of

[PATCH] builtin/push.c: use OPT_BOOL, not OPT_BOOLEAN

2013-07-08 Thread Junio C Hamano
The command line parser of git push for --tags, --delete, and --thin options still used outdated OPT_BOOLEAN. Because these options do not give escalating levels when given multiple times, they should use OPT_BOOL. Signed-off-by: Junio C Hamano gits...@pobox.com --- builtin/push.c | 6 +++--- 1

Re: standarize mtime when git checkout

2013-07-08 Thread Junio C Hamano
Rick Liu rick...@broadcom.com writes: Can we use GIT's commit time as the mtime for all of files/folders when we do git checkout? No. That will screw up common practice of build based on file timestamps (e.g. make). You may be interested in git archive $commit which will set the file

Re: [PATCH] test-lib.sh - cygwin does not have usable FIFOs

2013-07-08 Thread Mark Levedahl
On 07/06/2013 08:55 PM, Jonathan Nieder wrote: Mark Levedahl wrote: Do not use FIFOs on cygwin, they do not work. Cygwin includes coreutils, so has mkfifo, and that command does something. However, the resultant named pipe is known (on the Cygwin mailing list at least) to not work correctly.

Re: [PATCH 05/22] read-cache: add index reading api

2013-07-08 Thread Junio C Hamano
Thomas Gummerer t.gumme...@gmail.com writes: The reader often needs to rewind the read-pointer partially while walking the index (e.g. next_cache_entry() in unpack-trees.c and how the o-cache_bottom position is used throughout the subsystem). I am not sure if this singly-linked list is a

Re: [PATCH] builtin/push.c: use OPT_BOOL, not OPT_BOOLEAN

2013-07-08 Thread Jonathan Nieder
Junio C Hamano wrote: The command line parser of git push for --tags, --delete, and --thin options still used outdated OPT_BOOLEAN. Because these options do not give escalating levels when given multiple times, they should use OPT_BOOL. Thanks. Looks obviously correct, so Reviewed-by:

Re: [PATCH 3/4] cat-file: add --batch-disk-sizes option

2013-07-08 Thread Duy Nguyen
On Mon, Jul 8, 2013 at 8:37 PM, Ramkumar Ramachandra artag...@gmail.com wrote: Duy Nguyen wrote: The short/long naming is the least I worry about. We could add long names to pretty specifiers. The thing about the last attempt is, you add some extra things on top elsewhere, but

Re: [RFC/PATCH] fetch: make --prune configurable

2013-07-08 Thread Jeff King
On Mon, Jul 08, 2013 at 02:56:57PM +0200, Michael Schubert wrote: $gmane/201715 brought up the idea to fetch --prune by default. Since --prune is a potentially destructive operation (Git doesn't keep reflogs for deleted references yet), we don't want to prune without users consent. To

Re: standarize mtime when git checkout

2013-07-08 Thread René Scharfe
Am 08.07.2013 23:39, schrieb Rick Liu: Hi, Currently when doing git checkout (either for a branch or a tag), if the file doesn't exist before, the file will be created using current datetime. This causes problem while trying to tar the git repository source files (excluding .git folder). The

Re: expanding pack idx fanout table

2013-07-08 Thread Jeff King
On Mon, Jul 08, 2013 at 08:54:24AM -0700, Shawn O. Pearce wrote: Has anyone studied the impact of converting the pack idx fanout table from 256 entries to 65536 entries? Back of the envelope estimates for 3.1M objects in linux.git suggests a 2^16 fanout table would decrease the number of

Re: [PATCH] cache.h: move remote/connect API out of it

2013-07-08 Thread Jeff King
On Mon, Jul 08, 2013 at 02:09:59PM -0700, Junio C Hamano wrote: The definition of struct ref in cache.h, a header file so central to the system, always confused me. This structure is not about the local ref used by sha1-name API to name local objects. [...] * I hate to to this kind of

Re: A local shared clone is now much slower

2013-07-08 Thread Jeff King
On Mon, Jul 08, 2013 at 08:00:09AM -0700, Junio C Hamano wrote: I think this deserves to be backported to 'maint' track for 1.8.3.x. Here is an attempt to do so. Agreed. As it makes certain local-clone workflows really painful, I think my original can be considered a performance regression

Re: [PATCH 3/4] describe: use argv-array

2013-07-08 Thread Jeff King
On Sun, Jul 07, 2013 at 03:33:43PM -0700, Junio C Hamano wrote: + argv_array_init(args); + argv_array_push(args, name-rev); + argv_array_push(args, --name-only); + argv_array_push(args, --no-undefined); [...] - memcpy(args + i,

Re: [PATCH 4/4] describe/name-rev: tell name-rev to peel the incoming object to commit first

2013-07-08 Thread Jeff King
On Sun, Jul 07, 2013 at 03:33:44PM -0700, Junio C Hamano wrote: With this on top of the other patches in this series, you would get: $ git describe --contains $(git rev-parse v1.8.3 v1.8.3^0) v1.8.3 v1.8.3 while you can still differentiate tags and the commits they point at

Re: [PATCH 4/4] describe/name-rev: tell name-rev to peel the incoming object to commit first

2013-07-08 Thread Jeff King
On Mon, Jul 08, 2013 at 06:38:32PM +0530, Ramkumar Ramachandra wrote: Junio C Hamano wrote: With this on top of the other patches in this series, you would get: $ git describe --contains $(git rev-parse v1.8.3 v1.8.3^0) v1.8.3 v1.8.3 while you can still differentiate

[PATCH] remote-http: use argv-array

2013-07-08 Thread Junio C Hamano
Instead of using a hand-managed argument array, use argv-array API to manage dynamically formulated command line. Signed-off-by: Junio C Hamano gits...@pobox.com --- remote-curl.c | 31 +++ 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/remote-curl.c

Re: [PATCH 4/4] describe/name-rev: tell name-rev to peel the incoming object to commit first

2013-07-08 Thread Junio C Hamano
Jeff King p...@peff.net writes: 1. Behave more or less the same between git name-rev $sha1 and echo $sha1 | git name-rev --stdin. Your patch improves that. Though I note that --peel-to-commit does not affect --stdin at all. Should it? And of course the two differ in that the

Re: [PATCH 4/4] describe/name-rev: tell name-rev to peel the incoming object to commit first

2013-07-08 Thread Jeff King
On Mon, Jul 08, 2013 at 10:33:26PM -0700, Junio C Hamano wrote: Jeff King p...@peff.net writes: 1. Behave more or less the same between git name-rev $sha1 and echo $sha1 | git name-rev --stdin. Your patch improves that. Though I note that --peel-to-commit does not affect

Re: [PATCH] cache.h: move remote/connect API out of it

2013-07-08 Thread Junio C Hamano
Jeff King p...@peff.net writes: On Mon, Jul 08, 2013 at 02:09:59PM -0700, Junio C Hamano wrote: The definition of struct ref in cache.h, a header file so central to the system, always confused me. This structure is not about the local ref used by sha1-name API to name local objects. [...]

[PATCH v2 1/2] t4211: fix broken test when one -L range is subset of another

2013-07-08 Thread Eric Sunshine
t4211 attempts to test multiple git-log -L ranges where one range is a superset of the other, and falsely succeeds because its expected output is incorrect. Overlapping -L ranges handed to git-log are coalesced by line-log.c:sort_and_merge_range_set() into a set of non-overlapping, disjoint

[PATCH v2 2/2] range_set: fix coalescing bug when range is a subset of another

2013-07-08 Thread Eric Sunshine
When coalescing ranges, sort_and_merge_range_set() unconditionally assumes that the end of a range being folded into a preceding range should become the end of the coalesced range. This assumption, however, is invalid when one range is a subset of another. For example, given ranges 1-5 and 2-3