[PATCH/RFC 2/2] receive-pack: hint that the user can stop "git push" at auto gc time

2014-02-03 Thread Nguyễn Thái Ngọc Duy
Housekeeping jobs like auto gc generally should not get in the way. Users who are pushing may not want to wait until auto gc is done on the server. Give a hint for those users that it's safe now to break "git push" and stop waiting. Signed-off-by: Nguyễn Thái Ngọc Duy --- This bandage patch may

[PATCH 1/2] receive-pack: update $GIT_DIR/info before auto garbage collection

2014-02-03 Thread Nguyễn Thái Ngọc Duy
Auto gc could take a long time, and it's optional. "git push" user should be allowed to stop the program if they don't want to wait. Move server update step before auto gc. So we're ready to die any time since auto gc is kicked off. Signed-off-by: Nguyễn Thái Ngọc Duy --- builtin/receive-pack.c

Re: bug? git push triggers auto pack when gc.auto = 0

2014-02-03 Thread Duy Nguyen
On Tue, Feb 4, 2014 at 12:13 PM, chris wrote: > However, I question why I should even care about this message? I'm going to > assume that simply it is a lengthy synchronous operation that someone felt > deserved some verbosity to why the client push action is taking longer than > it should. Yet

Re: bug? git push triggers auto pack when gc.auto = 0

2014-02-03 Thread chris
Duy Nguyen gmail.com> writes: > On Tue, Feb 4, 2014 at 9:20 AM, chris hotmail.com> wrote: > > $ git push origin next > > Counting objects: 56, done. > > Delta compression using up to 4 threads. > > Compressing objects: 100% (9/9), done. > > Writing objects: 100% (9/9), 895 bytes | 0 bytes/s, done

[PATCH] git-tag.txt: for --contains is optional

2014-02-03 Thread Nguyễn Thái Ngọc Duy
This goes far back to e84fb2f (branch --contains: default to HEAD - 2008-07-08) where the same parsing code is shared with builtin/tag.c. git-branch.txt correctly states that for --contains is optional while git-tag.txt does not. Correct it. Signed-off-by: Nguyễn Thái Ngọc Duy --- Documentation

Re: bug? git push triggers auto pack when gc.auto = 0

2014-02-03 Thread Duy Nguyen
On Tue, Feb 4, 2014 at 9:20 AM, chris wrote: > $ git push origin next > Counting objects: 56, done. > Delta compression using up to 4 threads. > Compressing objects: 100% (9/9), done. > Writing objects: 100% (9/9), 895 bytes | 0 bytes/s, done. > Total 9 (delta 8), reused 0 (delta 0) > Auto packing

bug? git push triggers auto pack when gc.auto = 0

2014-02-03 Thread chris
Hi, I have garbage collection disabled globally with gc.auto = 0. Today while pushing a branch remotely, I saw a message "Auto packing the repository for optimum performance." which I've never noticed before. Searching for that phrase shows me that common knowledge is that 'gc.auto = 0' should d

[PATCH 2/2] reset: support "--mixed --intent-to-add" mode

2014-02-03 Thread Nguyễn Thái Ngọc Duy
When --mixed is used, entries could be removed from index if the target ref does not have them. When "reset" is used in preparation for commit spliting (in a dirty worktree), it could be hard to track what files to be added back. The new option --intent-to-add simplifies it by marking all removed f

[PATCH 1/2] t7101, t7014: rename test files to indicate what that file is for

2014-02-03 Thread Nguyễn Thái Ngọc Duy
Signed-off-by: Nguyễn Thái Ngọc Duy --- Looks like a good thing to do.. Three files with the same "-reset.sh" suffix could be confusing. t/t7101-reset-empty-subdirs.sh (new +x) | 63 + t/t7101-reset.sh (gone) | 63

Re: splitting a commit that adds new files

2014-02-03 Thread Duy Nguyen
On Tue, Feb 4, 2014 at 1:11 AM, Junio C Hamano wrote: > Jeff King writes: > >> [1] I _do_ use "reset -p" when splitting commits, but I do not think it >> is useful here. I use it for "oops, I staged this change, but it >> actually belongs in the next commit. Undo my staging, but leave the

What's cooking in git.git (Feb 2014, #01; Mon, 3)

2014-02-03 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 tip of 'master' is at 1.9-rc2. You can find the changes described here in the integration branches of the repositories listed at http:

Re: [PATCH] fast-import.c: always honor the filename case

2014-02-03 Thread Junio C Hamano
Torsten Bögershausen writes: > [] >> So to summarize, when fast-import uses strncmp_icase (what fast-import does >> now) import on a repository where ignorecase=true is wrong. My patch, >> "fast-import.c: always honor the filename case" fixes this. Can you verify? >> >> Thanks in advance, >>

Re: [WIP/PATCH 9/9] submodule: teach unpack_trees() to update submodules

2014-02-03 Thread Duy Nguyen
On Tue, Feb 4, 2014 at 2:54 AM, Jens Lehmann wrote: > Implement the functionality needed to enable work tree manipulating > commands so that an changed submodule does not only affect the index but > it also updates the work tree of any initialized submodule according to > the SHA-1 recorded in the

Re: [PATCH v5 5/5] setup: Don't dereference in-tree symlinks for absolute paths

2014-02-03 Thread Junio C Hamano
Martin Erik Werner writes: > Then it seems like one could get rid of npath completely: Yes. And you need to remove its definition as well to avoid "unused variable" warning. Will queue with an obvious fix-up. Thanks. > > diff --git a/setup.c b/setup.c > index 230505c..dd120cd 100644 > --- a/

Re: [WIP/PATCH 1/9] submodule: prepare for recursive checkout of submodules

2014-02-03 Thread Jonathan Nieder
Jens Lehmann wrote: > This commit adds the functions and files needed for configuration, > documentation, setting the default behavior and determining if a > submodule path should be updated automatically. Yay! [...] > Documentation/recurse-submodules-update.txt | 8 + > submodule.c

Re: [PATCH 7/8] combine-diff: Fast changed-to-all-parents paths scanning

2014-02-03 Thread Junio C Hamano
Kirill Smelkov writes: > + parents_sha1 = xmalloc(nparent * sizeof(parents_sha1[0])); > + for (i = 0; i < nparent; i++) > + parents_sha1[i] = parents->sha1[i]; > + > + /* fake list head, so worker can assume it is non-NULL */ > + struct combine_diff_path paths_head; d

Re: [RFC/PATCH] howto/maintain-git.txt: new version numbering scheme

2014-02-03 Thread Junio C Hamano
"Philip Oakley" writes: > If we are progressing from V1.9 to V2.0 quickly (one cycle?), which I > understand is the plan, then mixing the minor development items (patch > series which progress to master) with the maintenance fixes over the > next few months, thus only having 1.9.x releases, sound

Broken link on Git SCM E-Book

2014-02-03 Thread Varun Agrawal
In the footer, both links on the text are giving 404 Text is This open sourced site is hosted on GitHub. Patches, suggestions, and comments are welcome -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at h

Re: [PATCH 7/8] combine-diff: Fast changed-to-all-parents paths scanning

2014-02-03 Thread Junio C Hamano
Junio C Hamano writes: > Kirill Smelkov writes: > >> As was recently shown (c839f1bd "combine-diff: optimize >> combine_diff_path sets intersection"), combine-diff runs very slowly. In >> that commit we optimized paths sets intersection, but that accounted >> only for ~ 25% of the slowness, and

Re: [PATCH 7/8] combine-diff: Fast changed-to-all-parents paths scanning

2014-02-03 Thread Junio C Hamano
Kirill Smelkov writes: > As was recently shown (c839f1bd "combine-diff: optimize > combine_diff_path sets intersection"), combine-diff runs very slowly. In > that commit we optimized paths sets intersection, but that accounted > only for ~ 25% of the slowness, and as my tracing showed, for linux.

Re: [PATCH 5/8] combine-diff: move show_log_first logic/action out of paths scanning

2014-02-03 Thread Junio C Hamano
Kirill Smelkov writes: > Judging from sample outputs and tests nothing changes in diff -c output, Yuck. I do not think the processing done inside the loop for the first path (i.e. i==0) before we call show_log(rev) affects what that called show_log(rev) does, so it probably is a good readabilit

Re: [PATCH 1/3] gitk: refactor: separate generic hunk parsing out of find_hunk_blamespecs{}

2014-02-03 Thread Eric Sunshine
On Mon, Feb 3, 2014 at 5:41 PM, Max Kirillov wrote: > For requesting a region blame, it is necessary to parse a hunk and > find the region in the parent file corresponding to the selected region. > There is already hunk parsin functionality in the find_hunk_blamespec{}, s/parsin/parsing/ s/in the

Re: [PATCH v5 4/5] setup: Add 'abspath_part_inside_repo' function

2014-02-03 Thread Martin Erik Werner
On Mon, Feb 03, 2014 at 11:52:33AM -0800, Junio C Hamano wrote: > Junio C Hamano writes: > > > Can we have that "git foo $path" to the testsuite as well? That is > > the breakage we do not want to repeat in the future by regressing. > > Something like this, perhaps? > > t/t3004-ls-files-basic

Re: [PATCH 3/8] tree-diff: no need to manually verify that there is no mode change for a path

2014-02-03 Thread Junio C Hamano
Kirill Smelkov writes: > Because if there is, such two tree entries would never be compared as > equal - the code in base_name_compare() explicitly compares modes, if > there is a change for dir bit, even for equal paths, entries would > compare as different. OK. -- To unsubscribe from this list

Re: [PATCH 2/8] tests: add checking that combine-diff emits only correct paths

2014-02-03 Thread Junio C Hamano
Kirill Smelkov writes: > where "correct paths" stands for paths that are different to all > parents. > > Up until now, we were testing combined diff only on one file, or on > several files which were all different (t4038-diff-combined.sh). > > As recent thinko in "simplify intersect_paths() furth

Re: [WIP/PATCH 4/9] Teach merge the --[no-]recurse-submodules option

2014-02-03 Thread Junio C Hamano
Jens Lehmann writes: > This new option will allow the user to not only update the work tree of > the superproject according to the merge result but to also update the > work tree of all initialized submodules (so they match the SHA-1 recorded > in the superproject). But this commit only adds the

Re: [WIP/PATCH 3/9] Teach checkout the --[no-]recurse-submodules option

2014-02-03 Thread Junio C Hamano
Jens Lehmann writes: > + set_config_update_recurse_submodules( > + > parse_update_recurse_submodules_arg("--recurse-submodules-default", > + recurse_submodules_default), > + recurse_submodules); I think I saw these exac

[PATCH 3/3 v2] gitk: show latest change to region

2014-02-03 Thread Max Kirillov
Add a new command to the diffmenu, "Show the latest change of selected region". The menu command picks selection, and if it exists and covers a single hunk, locates the latest change which has been made to the selected lines in the file. The menu command is disabled if the region blame is impossi

[PATCH 2/3] gitk: refactor: separate io from logic in the searching origin of line

2014-02-03 Thread Max Kirillov
The pattern of maintaining blame command and collecting output can be reused for searching of latest change to region. It still can use the blame's global variables, because the two search commands should not run concurrently as well as two instances of blame. Signed-off-by: Max Kirillov --- git

[PATCH 1/3] gitk: refactor: separate generic hunk parsing out of find_hunk_blamespecs{}

2014-02-03 Thread Max Kirillov
For requesting a region blame, it is necessary to parse a hunk and find the region in the parent file corresponding to the selected region. There is already hunk parsin functionality in the find_hunk_blamespec{}, but returns only information for a single line. The new function, resolve_hunk_lines{

[PATCH 3/3] gitk: pick selection for region blame

2014-02-03 Thread Max Kirillov
Add the new command to the diffmenu, "Show the latest change of selected region". The menu command picks selection, and if it exists and covers a single hunk, locates the latest change which has been made to the selected lines in the file. The menu command is disabled if the region blame is impos

[PATCH 0/3] gitk: show latest change to region

2014-02-03 Thread Max Kirillov
Hi! I quite like the "Show origin of this line" feature of the gitk. It is more convenient than blame, because it directly answers the question which is usually addressed to blame. But, sometimes there is no "key" line which one could blame. Instead there is a function, block, or some other regio

Re: [WIP/PATCH 2/9] Teach reset the --[no-]recurse-submodules option

2014-02-03 Thread Junio C Hamano
Jens Lehmann writes: > This new option will allow the user to not only reset the work tree of > the superproject but to also update the work tree of all initialized > submodules (so they match the SHA-1 recorded in the superproject) when > used together with --hard or --merge. But this commit onl

Re: [WIP/PATCH 1/9] submodule: prepare for recursive checkout of submodules

2014-02-03 Thread Junio C Hamano
Jens Lehmann writes: > This commit adds the functions and files needed for configuration, Please just say "Add the functions and files needed for ...". > +++ b/Documentation/recurse-submodules-update.txt > @@ -0,0 +1,8 @@ > +--[no-]recurse-submodules:: > + Using --recurse-submodules will up

Re: [RFC/PATCH] howto/maintain-git.txt: new version numbering scheme

2014-02-03 Thread Philip Oakley
From: "Junio C Hamano" Sent: Friday, January 31, 2014 11:14 PM We wanted to call the upcoming release "Git 1.9", with its maintenance track being "Git 1.9.1", "Git 1.9.2", etc., but various third-party tools are reported to assume that there are at least three dewey-decimal components in our ver

Re: [PATCH v3 8/9] rebase: add the --gpg-sign option

2014-02-03 Thread Junio C Hamano
"brian m. carlson" writes: > diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh > index 43c19e0..73d32dd 100644 > --- a/git-rebase--interactive.sh > +++ b/git-rebase--interactive.sh > @@ -181,7 +181,7 @@ exit_with_patch () { > git rev-parse --verify HEAD > "$amend" >

Re: [PATCH v5 4/5] setup: Add 'abspath_part_inside_repo' function

2014-02-03 Thread Junio C Hamano
Martin Erik Werner writes: > The path being exactly equal to the work tree is handled separately, > since then there is no directory separator between the work tree and > in-repo part. What is an "in-repo part"? Whatever it is, I am not sure if I follow that logic. After the while (*path) loop

[PATCH] gitk: use single blamestuff for all show_line_source{} calls

2014-02-03 Thread Max Kirillov
There seems to be no point to search for several origins at once. I doubt it is even fully working (because there is one blameinst), but blamestuff for some reason is an array. Also, it is not cleaned after blame is completed Signed-off-by: Max Kirillov --- gitk | 13 - 1 file change

Re: [PATCH v3 1/9] cherry-pick, revert: add the --gpg-sign option

2014-02-03 Thread Junio C Hamano
"brian m. carlson" writes: > diff --git a/sequencer.c b/sequencer.c > index 90cac7b..bde5f04 100644 > --- a/sequencer.c > +++ b/sequencer.c > @@ -392,11 +392,18 @@ static int run_git_commit(const char *defmsg, struct > replay_opts *opts, > { > struct argv_array array; > int rc; > +

Re: [PATCH v3 9/9] pull: add the --gpg-sign option.

2014-02-03 Thread Junio C Hamano
"brian m. carlson" writes: > git merge already allows us to sign commits, and git rebase has recently > learned how to do so as well. Teach git pull to parse the -S/--gpg-sign > option and pass this along to merge or rebase, as appropriate. > > Signed-off-by: brian m. carlson > --- > git-pull.

Re: [WIP/PATCH 7/9] submodule: teach unpack_trees() to remove submodule contents

2014-02-03 Thread W. Trevor King
On Mon, Feb 03, 2014 at 08:52:49PM +0100, Jens Lehmann wrote: > Implement the functionality needed to enable work tree manipulating > commands to that a deleted submodule should not only affect the index > (leaving all the files of the submodule in the work tree) but also to > remove the work tree

Re: [WIP/PATCH 6/9] Teach bisect the --[no-]recurse-submodules option

2014-02-03 Thread Jens Lehmann
Am 03.02.2014 21:04, schrieb W. Trevor King: > On Mon, Feb 03, 2014 at 08:51:57PM +0100, Jens Lehmann wrote: >> submodule update' eacht time obsolete, which was tedious and error prone. > ^ each > > I'm just reading the commit messages this pass ;). Fair enough ;-) -- To unsub

Re: [PATCH] fast-import.c: always honor the filename case

2014-02-03 Thread Torsten Bögershausen
[] > So to summarize, when fast-import uses strncmp_icase (what fast-import does > now) import on a repository where ignorecase=true is wrong. My patch, > "fast-import.c: always honor the filename case" fixes this. Can you verify? > > Thanks in advance, > Reuben > Yes, I can verify. My feeling

Re: [WIP/PATCH 9/9] submodule: teach unpack_trees() to update submodules

2014-02-03 Thread W. Trevor King
On Mon, Feb 03, 2014 at 08:54:17PM +0100, Jens Lehmann wrote: > Implement the functionality needed to enable work tree manipulating > commands so that an changed submodule does not only affect the index but > it also updates the work tree of any initialized submodule according to > the SHA-1 record

Re: [PATCH v5 1/5] t0060: Add test for manipulating symlinks via absolute paths

2014-02-03 Thread Martin Erik Werner
On Mon, Feb 03, 2014 at 10:50:17AM -0800, Junio C Hamano wrote: > Martin Erik Werner writes: > > > When symlinks in the working tree are manipulated using the absolute > > path, git dereferences them, and tries to manipulate the link target > > instead. > > The above may a very good description

Re: [WIP/PATCH 6/9] Teach bisect the --[no-]recurse-submodules option

2014-02-03 Thread W. Trevor King
On Mon, Feb 03, 2014 at 08:51:57PM +0100, Jens Lehmann wrote: > submodule update' eacht time obsolete, which was tedious and error prone. ^ each I'm just reading the commit messages this pass ;). Cheers, Trevor -- This email may be signed or encrypted with GnuPG (http://www.

Re: [PATCH v2] userdiff: update Ada patterns

2014-02-03 Thread Junio C Hamano
"George Spelvin" writes: > Another point is that Ada doesn't actually include leading + or - > signs in the syntax for "number", but rather makes them unary operators. > This means that spaces are allowed, and whether you want to include them > in the "number" pattern is a judgement call. I tend

[WIP/PATCH 4/9] Teach merge the --[no-]recurse-submodules option

2014-02-03 Thread Jens Lehmann
This new option will allow the user to not only update the work tree of the superproject according to the merge result but to also update the work tree of all initialized submodules (so they match the SHA-1 recorded in the superproject). But this commit only adds the option without any functionalit

Re: [PATCH v2] userdiff: update Ada patterns

2014-02-03 Thread Junio C Hamano
Adrian Johnson writes: > - Allow extra space in "is new" and "is separate" > - Fix bug in word regex for numbers > > Signed-off-by: Adrian Johnson > --- > t/t4034/ada/expect | 2 +- > userdiff.c | 4 ++-- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/t/t4034/ada/ex

Bug: git repack keeps temps on ENOSPC

2014-02-03 Thread Andreas Krey
Hi, I noticed that, when a git repack fails due to insufficient disk space, the newly created partial pack file isn't unlinked (which doesn't help at all in that situation). (Will venture a look myself when time permits.) Andreas -- "Totally trivial. Famous last words." From: Linus Torvalds D

[WIP/PATCH 9/9] submodule: teach unpack_trees() to update submodules

2014-02-03 Thread Jens Lehmann
Implement the functionality needed to enable work tree manipulating commands so that an changed submodule does not only affect the index but it also updates the work tree of any initialized submodule according to the SHA-1 recorded in the superproject. Signed-off-by: Jens Lehmann --- entry.c

[WIP/PATCH 7/9] submodule: teach unpack_trees() to remove submodule contents

2014-02-03 Thread Jens Lehmann
Implement the functionality needed to enable work tree manipulating commands to that a deleted submodule should not only affect the index (leaving all the files of the submodule in the work tree) but also to remove the work tree of the superproject (including any untracked files). That will only w

[WIP/PATCH 8/9] submodule: teach unpack_trees() to repopulate submodules

2014-02-03 Thread Jens Lehmann
Implement the functionality needed to enable work tree manipulating commands so that an added submodule does not only affect the index and creates an empty directory but it also populates the work tree of any initialized submodule according to the SHA-1 recorded in the superproject. That will only

Re: [PATCH v5 1/5] t0060: Add test for manipulating symlinks via absolute paths

2014-02-03 Thread Junio C Hamano
Junio C Hamano writes: > Can we have that "git foo $path" to the testsuite as well? That is > the breakage we do not want to repeat in the future by regressing. Something like this, perhaps? t/t3004-ls-files-basic.sh | 17 + 1 file changed, 17 insertions(+) diff --git a/t/t30

[WIP/PATCH 6/9] Teach bisect the --[no-]recurse-submodules option

2014-02-03 Thread Jens Lehmann
When using this option 'git bisect' will automatically update the work tree of all initialized submodules (so they match the SHA-1 recorded in the superproject) in each bisection step. This makes calling 'git submodule update' eacht time obsolete, which was tedious and error prone. If the option is

[WIP/PATCH 5/9] Teach bisect--helper the --[no-]recurse-submodules option

2014-02-03 Thread Jens Lehmann
This is necessary before we can teach 'git bisect' this option, as that calls the bisect--helper to do the actual work which then in turn calls 'git checkout'. The helper just passes the option given on the command line on to checkout. The new recurse_submodules_enum_to_option() is added to avoid h

[WIP/PATCH 3/9] Teach checkout the --[no-]recurse-submodules option

2014-02-03 Thread Jens Lehmann
This new option will allow the user to not only update the work tree of the superproject according to the checked out commit but to also update the work tree of all initialized submodules (so they match the SHA-1 recorded in the superproject). But this commit only adds the option without any functi

[WIP/PATCH 2/9] Teach reset the --[no-]recurse-submodules option

2014-02-03 Thread Jens Lehmann
This new option will allow the user to not only reset the work tree of the superproject but to also update the work tree of all initialized submodules (so they match the SHA-1 recorded in the superproject) when used together with --hard or --merge. But this commit only adds the option without any f

[WIP/PATCH 1/9] submodule: prepare for recursive checkout of submodules

2014-02-03 Thread Jens Lehmann
This commit adds the functions and files needed for configuration, documentation, setting the default behavior and determining if a submodule path should be updated automatically. It won't really enable recursive submodule update. This will be done by later commits. Signed-off-by: Jens Lehmann -

[WIP/PATCH 0/9] v2 submodule recursive checkout]

2014-02-03 Thread Jens Lehmann
Am 07.01.2014 18:55, schrieb Junio C Hamano: > Jens Lehmann writes: > >> Am 06.01.2014 23:36, schrieb Junio C Hamano: >>> * jl/submodule-recursive-checkout (2013-12-26) 5 commits >>> - Teach checkout to recursively checkout submodules >>> - submodule: teach unpack_trees() to update submodules >

Re: [PATCH 1/8] fixup! combine_diff: simplify intersect_paths() further

2014-02-03 Thread Junio C Hamano
Kirill Smelkov writes: > That cleanup patch is good, but I've found a bug in it. In the item removal > code > >> + /* p->path not in q->queue[]; drop it */ >> + struct combine_diff_path *next = p->next; >> + >> + if ((*tail = next) !=

[PATCH 5/5] Avoid queuing commits multiple times for the same origin

2014-02-03 Thread David Kastrup
--- builtin/blame.c | 13 ++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/builtin/blame.c b/builtin/blame.c index 0188115..80345db 100644 --- a/builtin/blame.c +++ b/builtin/blame.c @@ -928,9 +928,12 @@ static int pass_blame_to_parent(struct scoreboard *sb, /*

[PATCH 4/5] Performance improvement: don't drop origin blobs that are going to get tested next.

2014-02-03 Thread David Kastrup
--- builtin/blame.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/builtin/blame.c b/builtin/blame.c index e881b6e..0188115 100644 --- a/builtin/blame.c +++ b/builtin/blame.c @@ -1435,7 +1435,8 @@ static void pass_blame(struct scoreboard *sb, struct origin *origin, int opt)

[PATCH 2/5] Eliminate same_suspect function in builtin/blame.c

2014-02-03 Thread David Kastrup
Since the origin pointers are "interned" and reference-counted, comparing the pointers rather than the content is enough. The only uninterned origins are cached values kept in commit->util, but same_suspect is not called on them. Signed-off-by: David Kastrup --- builtin/blame.c | 25 ---

[PATCH 3/5] builtin/blame.c: large-scale rewrite

2014-02-03 Thread David Kastrup
The previous implementation uses a sorted linear list of struct blame_entry in a struct scoreboard for organizing all partial or completed work. Every task that is done requires going through the whole list where most entries are not relevant to the task at hand. This commit reorganizes the data

[PATCH 0/5] git-blame: further performance preview

2014-02-03 Thread David Kastrup
Ok, I'm progressing rather like molasses with getting -M and -C options back to work. In the mean time, here is another performance preview without them. The main patch in the middle has basically gotten some formatting/style fixes as opposed to last time round and one small bug fix (concerning i

[PATCH 1/5] builtin/blame.c: struct blame_entry does not need a prev link

2014-02-03 Thread David Kastrup
Signed-off-by: David Kastrup --- builtin/blame.c | 13 ++--- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/builtin/blame.c b/builtin/blame.c index e44a6bb..2195595 100644 --- a/builtin/blame.c +++ b/builtin/blame.c @@ -197,7 +197,6 @@ static void drop_origin_blob(struct o

Re: [PATCH v5 1/5] t0060: Add test for manipulating symlinks via absolute paths

2014-02-03 Thread Junio C Hamano
Martin Erik Werner writes: > When symlinks in the working tree are manipulated using the absolute > path, git dereferences them, and tries to manipulate the link target > instead. The above may a very good description of the root cause, but can we have description of a symptom that is visible by

Re: [PATCH v2] userdiff: update Ada patterns

2014-02-03 Thread George Spelvin
Looking at the grammar at http://www.adahome.com/rm95/rm9x-P.html and http://www.adaic.org/resources/add_content/standards/05rm/html/RM-2-4.html I see the following restrictions apply: - A number must begin and end with a digit. There must be at least one digit on either side of each underscore

Re: splitting a commit that adds new files

2014-02-03 Thread Junio C Hamano
Jeff King writes: > [1] I _do_ use "reset -p" when splitting commits, but I do not think it > is useful here. I use it for "oops, I staged this change, but it > actually belongs in the next commit. Undo my staging, but leave the > changes in the working tree for the next one". Sure.

Re: Running "make rpm" fails on a CentOS 6.3 machine

2014-02-03 Thread Junio C Hamano
Todd Zullinger writes: > I know the Fedora/EPEL spec file and what's in git.git have grown > apart a good bit, unfortunately. That's the cost of having a spec > file that is meant to work across a very wide array of RPM-based > systems, I guess. The Fedora/EPEL spec file is fairly specific to t

Re: [PATCH v2 9/9] pull: add the --gpg-sign option.

2014-02-03 Thread Junio C Hamano
"brian m. carlson" writes: > ... It also happens to fix the issue where the help > text is improperly quoted. With your suggested fix, it is now quoted > (ugly, but quoted): I do not see anything ugly about the output below. Of course you could do -S'brian ...', but both look sensible. > S

Re: Creating own hierarchies under $GITDIR/refs ?

2014-02-03 Thread Andreas Schwab
David Kastrup writes: > Are there some measures one can take/configure in the parent repository > such that (named or all) additional directories inside of $GITDIR/refs > would get cloned along with the rest? $ git config --add remote.orgin.fetch '+refs/notes/*:refs/notes/*' Andreas. -- Andre

Re: A few contributor's questions

2014-02-03 Thread David Kastrup
Andreas Ericsson writes: > On 2014-01-31 14:04, David Kastrup wrote: >> >> I'm still in the process of finishing the rewrite of the builtin/blame.c >> internals. Now there are various questions regarding the final patch >> proposals and commit messages. >> >> Point 1) signing off implies that

Re: [PATCH] fast-import.c: always honor the filename case

2014-02-03 Thread Junio C Hamano
Jeff King writes: > [+cc Joshua Jensen, who wrote 50906e0] > > On Sun, Feb 02, 2014 at 07:13:04AM -0600, Reuben Hawkins wrote: > >> fast-import should not use strncmp_icase. > > I am not sure of that. My gut feeling is that core.ignorecase is > completely about the _filesystem_, and that git shou

Re: A few contributor's questions

2014-02-03 Thread Andreas Ericsson
On 2014-01-31 14:04, David Kastrup wrote: > > I'm still in the process of finishing the rewrite of the builtin/blame.c > internals. Now there are various questions regarding the final patch > proposals and commit messages. > > Point 1) signing off implies that I'm fine with the licensing of the

Re: Running "make rpm" fails on a CentOS 6.3 machine

2014-02-03 Thread Todd Zullinger
Martin Langhoff wrote: # Create an el6 srpm $ fedpkg --dist el6 srpm here I just say "fedpkg --dist el6 mockbuild" and it makes the srpm and the binaries in mock. Automagic. Heh, and I thought I mentioning that, but since I never use it I didn't want to have to test it before including it a

Re: Running "make rpm" fails on a CentOS 6.3 machine

2014-02-03 Thread Martin Langhoff
On Sun, Feb 2, 2014 at 4:07 PM, Todd Zullinger wrote: > # Install fedpkg > $ yum install fedpkg fedpkg is amazing. I (ab)use it (and the associated build machinery) for lots of private package builds. > # Create an el6 srpm > $ fedpkg --dist el6 srpm here I just say "fedpkg --dist el6 mockbuild

Re: Running "make rpm" fails on a CentOS 6.3 machine

2014-02-03 Thread Todd Zullinger
Erez Zilber wrote: Thanks. Just making sure - I need to do all of this on a fedora machine, not a RHEL/CentOS machine, right? Nope. An el6 box makes a fine mock host for el6 and (usually) fedora targets (though the mock package in EPEL doesn't always have config files for the very latest fed

Re: [PATCH v5 5/5] setup: Don't dereference in-tree symlinks for absolute paths

2014-02-03 Thread Martin Erik Werner
On Mon, Feb 03, 2014 at 11:15:57AM +0700, Duy Nguyen wrote: > On Sun, Feb 2, 2014 at 11:35 PM, Martin Erik Werner > wrote: > > diff --git a/setup.c b/setup.c > > index a2e60ab..230505c 100644 > > --- a/setup.c > > +++ b/setup.c > > @@ -86,11 +86,23 @@ char *prefix_path_gently(const char *prefix, i

[PATCH 7/8] combine-diff: Fast changed-to-all-parents paths scanning

2014-02-03 Thread Kirill Smelkov
As was recently shown (c839f1bd "combine-diff: optimize combine_diff_path sets intersection"), combine-diff runs very slowly. In that commit we optimized paths sets intersection, but that accounted only for ~ 25% of the slowness, and as my tracing showed, for linux.git v3.10..v3.11, for merges a lo

[PATCH 4/8] tree-diff: no need to pass match to skip_uninteresting()

2014-02-03 Thread Kirill Smelkov
It is neither used there as input, nor the output written through it, is used outside. Signed-off-by: Kirill Smelkov --- tree-diff.c | 17 - 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/tree-diff.c b/tree-diff.c index c2c67fd..f7b3ade 100644 --- a/tree-diff.c +++

[PATCH 6/8] combine-diff: Move changed-paths scanning logic into its own function

2014-02-03 Thread Kirill Smelkov
Move code for finding paths for which diff(commit,parent_i) is not-empty for all parents to separate function - at present we have generic (and slow) code for this job, which translates 1 n-parent problem to n 1-parent problems and then intersect results, and will be adding another limited, but fas

[PATCH 3/8] tree-diff: no need to manually verify that there is no mode change for a path

2014-02-03 Thread Kirill Smelkov
Because if there is, such two tree entries would never be compared as equal - the code in base_name_compare() explicitly compares modes, if there is a change for dir bit, even for equal paths, entries would compare as different. The code I'm removing here is from 2005 April 262e82b4 (Fix diff-tree

[PATCH 8/8] combine-diff: bail out early, if num_paths=0

2014-02-03 Thread Kirill Smelkov
That simplifies the code - instead of repeated checking for num_paths !=0, let's verify it once, and return if it is, and free following code from repeated ifs. Signed-off-by: Kirill Smelkov --- combine-diff.c | 52 +++- 1 file changed, 27 insertio

[PATCH 5/8] combine-diff: move show_log_first logic/action out of paths scanning

2014-02-03 Thread Kirill Smelkov
Judging from sample outputs and tests nothing changes in diff -c output, and this change will help later patches, when we'll be refactoring paths scanning into its own function with several variants - the show_log_first logic / code will stay common to all of them. NOTE: only now we have to take c

[PATCH 2/8] tests: add checking that combine-diff emits only correct paths

2014-02-03 Thread Kirill Smelkov
where "correct paths" stands for paths that are different to all parents. Up until now, we were testing combined diff only on one file, or on several files which were all different (t4038-diff-combined.sh). As recent thinko in "simplify intersect_paths() further" showed, and also, since we are go

[PATCH 1/8] fixup! combine_diff: simplify intersect_paths() further

2014-02-03 Thread Kirill Smelkov
That cleanup patch is good, but I've found a bug in it. In the item removal code > + /* p->path not in q->queue[]; drop it */ > + struct combine_diff_path *next = p->next; > + > + if ((*tail = next) != NULL) > +

[PATCH 0/8] `log -c` speedup (part 2)

2014-02-03 Thread Kirill Smelkov
Hello up there, I'm still trying to speedup combined-diff to be not so slow, to be able to realistically use it in my readonly filesystem for git archives. In the first part[1], we optimized paths intersections, but combined-diff still remained slow, because internally it was computing huge diffs

[PATCH v2] userdiff: update Ada patterns

2014-02-03 Thread Adrian Johnson
- Allow extra space in "is new" and "is separate" - Fix bug in word regex for numbers Signed-off-by: Adrian Johnson --- t/t4034/ada/expect | 2 +- userdiff.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/t/t4034/ada/expect b/t/t4034/ada/expect index be2376e..a6

Re: [PATCH] userdiff: update Ada patterns

2014-02-03 Thread Adrian Johnson
On 03/02/14 10:05, Jeff King wrote: > On Sun, Feb 02, 2014 at 09:21:56PM +1030, Adrian Johnson wrote: >> - Fix bug in word regex for numbers >> - "|[0-9][-+0-9#_.eE]" >> + "|[-+0-9#_.eE]+" > > This makes "E" or "_" a number. Is that right? > > I think the intent of the original was "start

Re: Running "make rpm" fails on a CentOS 6.3 machine

2014-02-03 Thread Erez Zilber
On Sun, Feb 2, 2014 at 11:07 PM, Todd Zullinger wrote: > Hi Erez, > > > Erez Zilber wrote: >> >> Thanks. I will try to use the rpm from Todd's build. BTW - if I want to >> create such a build on Fedora that will create el6 packages (e.g. >> git-1.8.5.3-2.el6.x86_64.rpm), what's the procedure? > >

Re: git-draw - draws nearly the full content of a tiny git repository as a graph

2014-02-03 Thread Stefan Näwe
Am 29.01.2014 22:21, schrieb Flo: > I just want to present a small tool I wrote. I use it at work to have > a tool visualizing the Git basic concepts and data structures which > "are really really really simple" (Linus' words). That helps me > teaching my colleagues about Git and answering their qu