Re: bug: git fetch reports too many unreachable loose objects

2018-12-07 Thread Elijah Newren
On Fri, Dec 7, 2018 at 6:14 PM Josh Wolfe wrote: > > git version 2.19.1 > steps to reproduce: > > # start in a brand new repo > git init > > # create lots of unreachable loose objects > for i in {1..1}; do git commit-tree -m "$(head -c 12 /dev/urandom > | base64)" "$(git mktree <&-)" <&-;

Re: [PATCH] git-rebase.txt: update note about directory rename detection and am

2018-12-07 Thread Elijah Newren
On Fri, Dec 7, 2018 at 9:51 AM Johannes Sixt wrote: > > From: Elijah Newren > > In commit 6aba117d5cf7 ("am: avoid directory rename detection when > calling recursive merge machinery", 2018-08-29), the git-rebase manpage > probably should have also been

Re: [PATCH] rebase docs: fix incorrect format of the section Behavioral Differences

2018-12-05 Thread Elijah Newren
On Tue, Dec 4, 2018 at 11:40 PM Junio C Hamano wrote: > > Johannes Sixt writes: > > > Please let me deposit my objection. This paragraph is not the right > > place to explain what directory renme detection is and how it works > > under the hood. "works fine" in the original text is the right

Re: Any way to make git-log to enumerate commits?

2018-12-05 Thread Elijah Newren
On Wed, Dec 5, 2018 at 6:56 AM Konstantin Khomoutov wrote: > > On Wed, Dec 05, 2018 at 05:22:14PM +0300, Konstantin Kharlamov wrote: > > > It would be great if git-log has a formatting option to insert an > > index of the current commit since HEAD. > > > > It would allow after quitting the

Re: [PATCH] rebase docs: fix incorrect format of the section Behavioral Differences

2018-12-04 Thread Elijah Newren
On Tue, Dec 4, 2018 at 7:54 PM Junio C Hamano wrote: > > Elijah Newren writes: > > > Gah, when I was rebasing on your patch I adopted your sentence rewrite > > but forgot to remove the "sometimes". Thanks for catching; correction: > > > > > -

Re: [PATCH v3 07/14] checkout: split into switch-branch and restore-files

2018-12-04 Thread Elijah Newren
On Tue, Dec 4, 2018 at 6:26 PM Junio C Hamano wrote: > > Duy Nguyen writes: > > > On Tue, Dec 4, 2018 at 6:43 PM Elijah Newren wrote: > >> > > > +--ours:: > >> > > > +--theirs:: > >> ... > >> go away. Maybe it can still be f

Re: [PATCH v3 07/14] checkout: split into switch-branch and restore-files

2018-12-04 Thread Elijah Newren
On Tue, Dec 4, 2018 at 6:14 PM Junio C Hamano wrote: > > Duy Nguyen writes: > > >> My single biggest worry about this whole series is that I'm worried > >> you're perpetuating and even further ingraining one of the biggest > >> usability problems with checkout: people suggest and use it for > >>

Re: [PATCH] rebase docs: fix incorrect format of the section Behavioral Differences

2018-12-04 Thread Elijah Newren
On Tue, Dec 4, 2018 at 1:53 PM Johannes Sixt wrote: > > Am 04.12.18 um 22:24 schrieb Elijah Newren: > > + The am backend sometimes does not because it operates on > > +"fake ancestors" that involve trees containing only the files modified > > +in

Re: [PATCH] rebase docs: fix incorrect format of the section Behavioral Differences

2018-12-04 Thread Elijah Newren
about directory rename detection and am In commit 6aba117d5cf7 ("am: avoid directory rename detection when calling recursive merge machinery", 2018-08-29), the git-rebase manpage probably should have also been updated to note the stronger incompatibility between git-am and directory rename dete

Re: [PATCH/RFC v3 00/14] Introduce new commands switch-branch and restore-files

2018-12-04 Thread Elijah Newren
On Tue, Dec 4, 2018 at 10:22 AM Duy Nguyen wrote: > > On Tue, Dec 4, 2018 at 6:45 PM Elijah Newren wrote: > > > > > - Two more fancy features (the "git checkout --index" being the > > > > > default mode and the backup log for accidental overw

Re: [PATCH/RFC v3 00/14] Introduce new commands switch-branch and restore-files

2018-12-04 Thread Elijah Newren
On Tue, Dec 4, 2018 at 8:28 AM Duy Nguyen wrote: > > On Tue, Dec 4, 2018 at 2:29 AM Elijah Newren wrote: > > > > On Thu, Nov 29, 2018 at 2:01 PM Nguyễn Thái Ngọc Duy > > wrote: > > > > > > v3 sees switch-branch go back to switch-branch (in v2 it

Re: [PATCH v3 07/14] checkout: split into switch-branch and restore-files

2018-12-04 Thread Elijah Newren
On Tue, Dec 4, 2018 at 8:22 AM Duy Nguyen wrote: > > Thanks for all the comments! There are still some I haven't replied > (either I'll agree and do it anyway, or I'll need some more time to > digest) > > On Tue, Dec 4, 2018 at 1:45 AM Elijah Newren wrote: > > > +

Re: [PATCH/RFC v3 00/14] Introduce new commands switch-branch and restore-files

2018-12-03 Thread Elijah Newren
On Thu, Nov 29, 2018 at 2:01 PM Nguyễn Thái Ngọc Duy wrote: > > v3 sees switch-branch go back to switch-branch (in v2 it was > checkout-branch). checkout-files is also renamed restore-files (v1 was > restore-paths). Hopefully we won't see another rename. I started reading through the patches. I

Re: [PATCH v3 07/14] checkout: split into switch-branch and restore-files

2018-12-03 Thread Elijah Newren
On Thu, Nov 29, 2018 at 2:03 PM Nguyễn Thái Ngọc Duy wrote: > > "git checkout" doing too many things is a source of confusion for many > users (and it even bites old timers sometimes). To rememdy that, the > command is now split in two: switch-branch and checkout-files. The "checkout-files"

Re: [PATCH] t6036: avoid "cp -a"

2018-11-30 Thread Elijah Newren
Hi, Thanks for the patch! On Fri, Nov 30, 2018 at 6:52 PM Carlo Marcelo Arenas Belón wrote: > > b8cd1bb713 ("t6036, t6043: increase code coverage for file collision > handling", 2018-11-07) uses this GNU extension that is not available in a > POSIX complaint This is an extraordinarily long

Re: en/rebase-merge-on-sequencer, was Re: What's cooking in git.git (Nov 2018, #07; Fri, 30)

2018-11-30 Thread Elijah Newren
On Fri, Nov 30, 2018 at 6:16 AM Junio C Hamano wrote: > > Johannes Schindelin writes: > > > Hi Junio, > > > > On Fri, 30 Nov 2018, Junio C Hamano wrote: > > > >> * en/rebase-merge-on-sequencer (2018-11-08) 2 commits > >> - rebase: implement --merge via git-rebase--interactive > >> -

Re: [PATCH v3 1/7] rebase: fix incompatible options error message

2018-11-28 Thread Elijah Newren
On Wed, Nov 28, 2018 at 8:12 AM Duy Nguyen wrote: > > On Thu, Nov 22, 2018 at 7:32 PM Elijah Newren wrote: > > > > In commit f57696802c30 ("rebase: really just passthru the `git am` > > options", 2018-11-14), the handling of `git am` options was simplified >

Re: [PATCH v3 1/7] rebase: fix incompatible options error message

2018-11-28 Thread Elijah Newren
On Wed, Nov 28, 2018 at 12:28 AM Johannes Schindelin wrote: > > Hi Elijah, > > On Wed, 21 Nov 2018, Elijah Newren wrote: > > > In commit f57696802c30 ("rebase: really just passthru the `git am` > > options", 2018-11-14), the handling of `git am` op

Re: Forcing GC to always fail

2018-11-27 Thread Elijah Newren
On Tue, Nov 27, 2018 at 4:16 PM Ævar Arnfjörð Bjarmason wrote: > > On Wed, Nov 28 2018, Bryan Turner wrote: > > > On Tue, Nov 27, 2018 at 3:47 PM Ævar Arnfjörð Bjarmason > > wrote: > >> > >> On Tue, Nov 27 2018, Bryan Turner wrote: > >> > >> > > >> > Is there anything I can set, perhaps some

Re: [ANNOUNCE] Git v2.20.0-rc1

2018-11-26 Thread Elijah Newren
On Sun, Nov 25, 2018 at 11:37 PM Junio C Hamano wrote: > > Unless I hear otherwise in the next 24 hours, I am planning to > merge the following topics to 'master' before cutting -rc2. Please > stop me on any of these topics. > > - jc/postpone-rebase-in-c > >This may be the most

[PATCH v3 3/7] am, rebase--merge: do not overlook --skip'ed commits with post-rewrite

2018-11-21 Thread Elijah Newren
it as an empty commit trivially squashed into its parent. This brings the rebase--am and rebase--merge backends in sync with the behavior of the interactive rebase backend. Signed-off-by: Elijah Newren --- builtin/am.c | 9 + git-rebase--merge.sh | 2 ++ t/t5407

[PATCH v3 6/7] rebase: define linearization ordering and enforce it

2018-11-21 Thread Elijah Newren
rmance improvement: by way of comparison, turning on --topo-order made fast-export faster (see https://public-inbox.org/git/20090211135640.ga19...@coredump.intra.peff.net/). Signed-off-by: Elijah Newren --- git-rebase--am.sh | 2 +- git-rebase--merge.sh | 2 +- t/t3

[PATCH v3 7/7] rebase: Implement --merge via the interactive machinery

2018-11-21 Thread Elijah Newren
is now REBASE-i. Signed-off-by: Elijah Newren --- .gitignore| 1 - Documentation/git-rebase.txt | 17 +-- Makefile | 1 - builtin/rebase.c | 14 +-- git-legacy-rebase.sh | 43 git-rebase--merge.sh

[PATCH v3 4/7] git-rebase, sequencer: extend --quiet option for the interactive machinery

2018-11-21 Thread Elijah Newren
se" file in the state_dir, while the other was signalled by the contents of a "quiet" file was just weirdly inconsistent. (This inconsistency pre-dated the rewrite into C.) Make them consistent by having them both key off the presence of the file. Signed-off-by: Elijah Newren --- buil

[PATCH v3 2/7] t5407: add a test demonstrating how interactive handles --skip differently

2018-11-21 Thread Elijah Newren
have no empty commits). A subsequent commit will remove the inconsistency in --skip handling. Signed-off-by: Elijah Newren --- t/t5407-post-rewrite-hook.sh | 31 +++ 1 file changed, 31 insertions(+) diff --git a/t/t5407-post-rewrite-hook.sh b/t/t5407-post-rewrite

[PATCH v3 5/7] git-legacy-rebase: simplify unnecessary triply-nested if

2018-11-21 Thread Elijah Newren
and giving us the following form: if incomptable_opts: if interactive: show_error_about_interactive_and_am_incompatibilities if rebase-merge: show_error_about_merge_and_am_incompatibilities Signed-off-by: Elijah Newren --- git-legacy-rebase.sh | 20 1 file changed, 8

[PATCH v3 1/7] rebase: fix incompatible options error message

2018-11-21 Thread Elijah Newren
s documented pretty thoroughly in the rebase man page (in the "Incompatible Options" section, with multiple links throughout the document), and since I expect this list to change over time, just simplify the error message. Signed-off-by: Elijah Newren --- builtin/rebase.c | 11 --

[PATCH v3 0/7] Reimplement rebase --merge via interactive machinery

2018-11-21 Thread Elijah Newren
if block to a doubly-nested if-block still keeps all necessary checks in place. - Rebased to latest master Elijah Newren (7): rebase: fix incompatible options error message t5407: add a test demonstrating how interactive handles --skip differently am, rebase--merge: do not overlook

[PATCH v3 00/11] fast export and import fixes and features

2018-11-16 Thread Elijah Newren
patch at the beginning to convert pre-existing sha1 stuff to oid (rename sha1_to_hex() -> oid_to_hex(), rename anonymize_sha1() to anonymize_oid(), etc.) * Modified other patches in the series to add calls to oid_to_hex() rather than sha1_to_hex() Elijah Newren (11): fast-exp

[PATCH v3 10/11] fast-import: remove unmaintained duplicate documentation

2018-11-16 Thread Elijah Newren
fast-import.c has started with a comment for nine and a half years re-directing the reader to Documentation/git-fast-import.txt for maintained documentation. Instead of leaving the unmaintained documentation in place, just excise it. Signed-off-by: Elijah Newren --- fast-import.c | 154

[PATCH v3 06/11] fast-export: move commit rewriting logic into a function for reuse

2018-11-16 Thread Elijah Newren
Logic to replace a filtered commit with an unfiltered ancestor is useful elsewhere; put it into a function we can call. Signed-off-by: Elijah Newren --- builtin/fast-export.c | 37 ++--- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/builtin/fast

[PATCH v3 09/11] fast-export: add --reference-excluded-parents option

2018-11-16 Thread Elijah Newren
-by: Elijah Newren --- Documentation/git-fast-export.txt | 17 +++-- builtin/fast-export.c | 42 +++ t/t9350-fast-export.sh| 11 3 files changed, 58 insertions(+), 12 deletions(-) diff --git a/Documentation/git-fast-export.txt b

[PATCH v3 08/11] fast-export: ensure we export requested refs

2018-11-16 Thread Elijah Newren
to be excluded. That logically means ref deletion. Previously, such refs were just silently omitted from being exported despite having been explicitly requested for export. Signed-off-by: Elijah Newren --- builtin/fast-export.c | 54 -- t/t9350-fast-export.sh

[PATCH v3 03/11] git-fast-export.txt: clarify misleading documentation about rev-list args

2018-11-16 Thread Elijah Newren
Signed-off-by: Elijah Newren --- Documentation/git-fast-export.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Documentation/git-fast-export.txt b/Documentation/git-fast-export.txt index ce954be532..fda55b3284 100644 --- a/Documentation/git-fast-export.txt +++ b

[PATCH v3 11/11] fast-export: add a --show-original-ids option to show original names

2018-11-16 Thread Elijah Newren
-by: Elijah Newren --- Documentation/git-fast-export.txt | 7 +++ Documentation/git-fast-import.txt | 16 builtin/fast-export.c | 20 +++- fast-import.c | 12 t/t9350-fast-export.sh| 17

[PATCH v3 02/11] git-fast-import.txt: fix documentation for --quiet option

2018-11-16 Thread Elijah Newren
Signed-off-by: Elijah Newren --- Documentation/git-fast-import.txt | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Documentation/git-fast-import.txt b/Documentation/git-fast-import.txt index e81117d27f..7ab97745a6 100644 --- a/Documentation/git-fast-import.txt +++ b

[PATCH v3 04/11] fast-export: use value from correct enum

2018-11-16 Thread Elijah Newren
ABORT and ERROR happen to have the same value, but come from differnt enums. Use the one from the correct enum, and while at it, rename the values to avoid such problems. Signed-off-by: Elijah Newren --- builtin/fast-export.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions

[PATCH v3 01/11] fast-export: convert sha1 to oid

2018-11-16 Thread Elijah Newren
Rename anonymize_sha1() to anonymize_oid(() and change its signature, and switch from sha1_to_hex() to oid_to_hex() and from GIT_SHA1_RAWSZ to the_hash_algo->rawsz. Also change a comment and a die string to mention oid instead of sha1. Signed-off-by: Elijah Newren --- builtin/fast-expor

[PATCH v3 05/11] fast-export: avoid dying when filtering by paths and old tags exist

2018-11-16 Thread Elijah Newren
ast-import gained the ability to delete refs (see commit 4ee1b225b99f, "fast-import: add support to delete refs", 2014-04-20), so now we do have a valid option to rewrite the tag to. Delete these tags instead of dying. Signed-off-by: Elijah Newren --- builtin/fast-export.c | 9 +++

[PATCH v3 07/11] fast-export: when using paths, avoid corrupt stream with non-existent mark

2018-11-16 Thread Elijah Newren
sh. Avoid this problem by taking the commit the ref points to and finding an ancestor of it that was exported, and make the ref point to that commit instead. Signed-off-by: Elijah Newren --- builtin/fast-export.c | 13 - t/t9350-fast-export.sh | 20 2 files c

Re: [PATCH v2 08/11] fast-export: add --reference-excluded-parents option

2018-11-14 Thread Elijah Newren
On Wed, Nov 14, 2018 at 11:28 AM SZEDER Gábor wrote: > > On Tue, Nov 13, 2018 at 04:25:57PM -0800, Elijah Newren wrote: > > diff --git a/builtin/fast-export.c b/builtin/fast-export.c > > index 2fef00436b..3cc98c31ad 100644 > > --- a/builtin/fast-export.c > &g

Re: [PATCH v2 04/11] fast-export: avoid dying when filtering by paths and old tags exist

2018-11-14 Thread Elijah Newren
On Wed, Nov 14, 2018 at 11:17 AM SZEDER Gábor wrote: > On Tue, Nov 13, 2018 at 04:25:53PM -0800, Elijah Newren wrote: > > diff --git a/builtin/fast-export.c b/builtin/fast-export.c > > index af724e9937..b984a44224 100644 > > --- a/builtin/fast-export.c > >

Re: [PATCH v2 2/2] rebase: Implement --merge via git-rebase--interactive

2018-11-14 Thread Elijah Newren
Hi Phillip, On Mon, Nov 12, 2018 at 10:21 AM Phillip Wood wrote: > >> -Flags only understood by the am backend: > >> +The following options: > >> > >> * --committer-date-is-author-date > >> * --ignore-date > >> @@ -520,15 +512,12 @@ Flags only understood by the am backend: > >> *

Re: [PATCH v2 2/2] rebase: Implement --merge via git-rebase--interactive

2018-11-14 Thread Elijah Newren
Hi Dscho, On Mon, Nov 12, 2018 at 8:21 AM Johannes Schindelin wrote: > > t3425: topology linearization was inconsistent across flavors of rebase, > > as already noted in a TODO comment in the testcase. This was not > > considered a bug before, so getting a different

Re: rebase-in-C stability for 2.20

2018-11-13 Thread Elijah Newren
On Tue, Nov 13, 2018 at 1:52 PM Ævar Arnfjörð Bjarmason wrote: > According to Junio's calendar we're now 2 days from 2.20-rc0. We have > the js/rebase-autostash-detach-fix bug I reported sitting in "pu" still, > and then this. > > I see we still have rebase.useBuiltin in the code as an escape

[PATCH v2 10/11] fast-export: add a --show-original-ids option to show original names

2018-11-13 Thread Elijah Newren
-by: Elijah Newren --- Documentation/git-fast-export.txt | 7 +++ Documentation/git-fast-import.txt | 16 builtin/fast-export.c | 20 +++- fast-import.c | 12 t/t9350-fast-export.sh| 17

[PATCH v2 05/11] fast-export: move commit rewriting logic into a function for reuse

2018-11-13 Thread Elijah Newren
Logic to replace a filtered commit with an unfiltered ancestor is useful elsewhere; put it into a function we can call. Signed-off-by: Elijah Newren --- builtin/fast-export.c | 37 ++--- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/builtin/fast

[PATCH v2 11/11] fast-export: add --always-show-modify-after-rename

2018-11-13 Thread Elijah Newren
rename, it only prints R oldname newname instead of R oldname newname M 100644 $SHA1 newname as occurs when there is a rename+modify. Add an option which allows us to force the latter output even when commits have exact renames of files. Signed-off-by: Elijah Newren --- Docume

[PATCH v2 00/11] fast export and import fixes and features

2018-11-13 Thread Elijah Newren
one didn't make sense to Peff. I hope this one does. Elijah Newren (11): git-fast-import.txt: fix documentation for --quiet option git-fast-export.txt: clarify misleading documentation about rev-list args fast-export: use value from correct enum fast-export: avoid dying when

[PATCH v2 06/11] fast-export: when using paths, avoid corrupt stream with non-existent mark

2018-11-13 Thread Elijah Newren
sh. Avoid this problem by taking the commit the ref points to and finding an ancestor of it that was exported, and make the ref point to that commit instead. Signed-off-by: Elijah Newren --- builtin/fast-export.c | 13 - t/t9350-fast-export.sh | 20 2 files c

[PATCH v2 03/11] fast-export: use value from correct enum

2018-11-13 Thread Elijah Newren
ABORT and ERROR happen to have the same value, but come from differnt enums. Use the one from the correct enum, and while at it, rename the values to avoid such problems. Signed-off-by: Elijah Newren --- builtin/fast-export.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions

[PATCH v2 01/11] git-fast-import.txt: fix documentation for --quiet option

2018-11-13 Thread Elijah Newren
Signed-off-by: Elijah Newren --- Documentation/git-fast-import.txt | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Documentation/git-fast-import.txt b/Documentation/git-fast-import.txt index e81117d27f..7ab97745a6 100644 --- a/Documentation/git-fast-import.txt +++ b

[PATCH v2 04/11] fast-export: avoid dying when filtering by paths and old tags exist

2018-11-13 Thread Elijah Newren
ast-import gained the ability to delete refs (see commit 4ee1b225b99f, "fast-import: add support to delete refs", 2014-04-20), so now we do have a valid option to rewrite the tag to. Delete these tags instead of dying. Signed-off-by: Elijah Newren --- builtin/fast-export.c | 9 +++

[PATCH v2 09/11] fast-import: remove unmaintained duplicate documentation

2018-11-13 Thread Elijah Newren
fast-import.c has started with a comment for nine and a half years re-directing the reader to Documentation/git-fast-import.txt for maintained documentation. Instead of leaving the unmaintained documentation in place, just excise it. Signed-off-by: Elijah Newren --- fast-import.c | 154

[PATCH v2 08/11] fast-export: add --reference-excluded-parents option

2018-11-13 Thread Elijah Newren
-by: Elijah Newren --- Documentation/git-fast-export.txt | 17 +++-- builtin/fast-export.c | 42 +++ t/t9350-fast-export.sh| 11 3 files changed, 58 insertions(+), 12 deletions(-) diff --git a/Documentation/git-fast-export.txt b

[PATCH v2 07/11] fast-export: ensure we export requested refs

2018-11-13 Thread Elijah Newren
to be excluded. That logically means ref deletion. Previously, such refs were just silently omitted from being exported despite having been explicitly requested for export. Signed-off-by: Elijah Newren --- builtin/fast-export.c | 54 -- t/t9350-fast-export.sh

[PATCH v2 02/11] git-fast-export.txt: clarify misleading documentation about rev-list args

2018-11-13 Thread Elijah Newren
Signed-off-by: Elijah Newren --- Documentation/git-fast-export.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Documentation/git-fast-export.txt b/Documentation/git-fast-export.txt index ce954be532..fda55b3284 100644 --- a/Documentation/git-fast-export.txt +++ b

Re: [PATCH 02/10] git-fast-export.txt: clarify misleading documentation about rev-list args

2018-11-13 Thread Elijah Newren
On Tue, Nov 13, 2018 at 3:39 PM Jonathan Nieder wrote: > Elijah Newren wrote: > > Actually, no, it actually needs to be inconsistent. > > > > Different Input Choices (neither backslashed, both backslashed, then just > > one): > > master~9 and master~

Re: [PATCH 02/10] git-fast-export.txt: clarify misleading documentation about rev-list args

2018-11-13 Thread Elijah Newren
On Sat, Nov 10, 2018 at 11:17 PM Elijah Newren wrote: > > On Sat, Nov 10, 2018 at 10:36 PM Jeff King wrote: > > > > On Sat, Nov 10, 2018 at 10:23:04PM -0800, Elijah Newren wrote: > > > > > Signed-off-by: Elijah Newren > > > --- > > > Docu

Re: [PATCH 10/10] fast-export: add --always-show-modify-after-rename

2018-11-13 Thread Elijah Newren
On Tue, Nov 13, 2018 at 6:45 AM Jeff King wrote: > It is an expensive log command, but it's the same expense as running > fast-export, no? And I think maybe that is the disconnect. I would expect an expensive log command to generally be the same expense as running fast-export, yes. But I would

Re: [PATCH v2 2/2] rebase: Implement --merge via git-rebase--interactive

2018-11-13 Thread Elijah Newren
Hi Dscho, Thanks for the detailed review! I'll try to get back to all your comments, but for now I feel bad that I didn't see and respond to at least one sooner... On Mon, Nov 12, 2018 at 8:21 AM Johannes Schindelin wrote: > > Thank you for this pleasant read. I think there is still quite a

Re: [PATCH 10/10] fast-export: add --always-show-modify-after-rename

2018-11-12 Thread Elijah Newren
On Mon, Nov 12, 2018 at 4:58 AM Jeff King wrote: > On Sun, Nov 11, 2018 at 12:42:58AM -0800, Elijah Newren wrote: > > Maybe I don't understand what you're trying to accomplish. I was > thinking specifically of your "cat-file can tell you the large objects, > but you don't know

Re: [PATCH 09/10] fast-export: add a --show-original-ids option to show original names

2018-11-12 Thread Elijah Newren
On Mon, Nov 12, 2018 at 4:53 AM Jeff King wrote: > On Sun, Nov 11, 2018 at 12:32:22AM -0800, Elijah Newren wrote: > > > > > Documentation/git-fast-export.txt | 7 +++ > > > > builtin/fast-export.c | 20 +++- > > > &g

Re: [PATCH 06/10] fast-export: when using paths, avoid corrupt stream with non-existent mark

2018-11-12 Thread Elijah Newren
On Mon, Nov 12, 2018 at 4:45 AM Jeff King wrote: > On Sun, Nov 11, 2018 at 12:01:43AM -0800, Elijah Newren wrote: > > > > It does seem funny that the behavior for the earlier case (bounded > > > commits) and this case (skipping some commits) are different. Would you

Re: Import/Export as a fast way to purge files from Git?

2018-11-12 Thread Elijah Newren
On Mon, Nov 12, 2018 at 1:17 AM Ævar Arnfjörð Bjarmason wrote: > > > On Thu, Nov 01 2018, Elijah Newren wrote: > > > On Wed, Oct 31, 2018 at 12:16 PM Lars Schneider > > wrote: > >> > On Sep 24, 2018, at 7:24 PM, Elijah Newren wrote: > >> >

Re: [PATCH 00/10] fast export and import fixes and features

2018-11-11 Thread Elijah Newren
On Sat, Nov 10, 2018 at 11:27 PM Jeff King wrote: > > On Sat, Nov 10, 2018 at 10:23:02PM -0800, Elijah Newren wrote: > > > This is a series of ten patches representing two doc corrections, one > > pedantic fix, three real bug fixes, one micro code refactor, and three &g

Re: [PATCH 10/10] fast-export: add --always-show-modify-after-rename

2018-11-11 Thread Elijah Newren
On Sat, Nov 10, 2018 at 11:23 PM Jeff King wrote: > > On Sat, Nov 10, 2018 at 10:23:12PM -0800, Elijah Newren wrote: > > > fast-export output is traditionally used as an input to a fast-import > > program, but it is also useful to help gather statistics about the > &

Re: [PATCH 09/10] fast-export: add a --show-original-ids option to show original names

2018-11-11 Thread Elijah Newren
On Sat, Nov 10, 2018 at 11:20 PM Jeff King wrote: > > On Sat, Nov 10, 2018 at 10:23:11PM -0800, Elijah Newren wrote: > > > Knowing the original names (hashes) of commits, blobs, and tags can > > sometimes enable post-filtering that would otherwise be difficult or > >

Re: [PATCH 07/10] fast-export: ensure we export requested refs

2018-11-11 Thread Elijah Newren
On Sat, Nov 10, 2018 at 11:02 PM Jeff King wrote: > > On Sat, Nov 10, 2018 at 10:23:09PM -0800, Elijah Newren wrote: > > > If file paths are specified to fast-export and a ref points to a commit > > that does not touch any of the relevant paths, then that ref wou

Re: [PATCH 06/10] fast-export: when using paths, avoid corrupt stream with non-existent mark

2018-11-11 Thread Elijah Newren
On Sat, Nov 10, 2018 at 10:53 PM Jeff King wrote: > > On Sat, Nov 10, 2018 at 10:23:08PM -0800, Elijah Newren wrote: > > > If file paths are specified to fast-export and multiple refs point to a > > commit that does not touch any of the relevant file paths, then > > f

Re: [PATCH 04/10] fast-export: avoid dying when filtering by paths and old tags exist

2018-11-10 Thread Elijah Newren
On Sat, Nov 10, 2018 at 10:44 PM Jeff King wrote: > > On Sat, Nov 10, 2018 at 10:23:06PM -0800, Elijah Newren wrote: > > > If --tag-of-filtered-object=rewrite is specified along with a set of > > paths to limit what is exported, then any tags pointing to old commits > &

Re: [PATCH 02/10] git-fast-export.txt: clarify misleading documentation about rev-list args

2018-11-10 Thread Elijah Newren
On Sat, Nov 10, 2018 at 10:36 PM Jeff King wrote: > > On Sat, Nov 10, 2018 at 10:23:04PM -0800, Elijah Newren wrote: > > > Signed-off-by: Elijah Newren > > --- > > Documentation/git-fast-export.txt | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) &

[PATCH 03/10] fast-export: use value from correct enum

2018-11-10 Thread Elijah Newren
ABORT and ERROR happen to have the same value, but come from differnt enums. Use the one from the correct enum. Signed-off-by: Elijah Newren --- builtin/fast-export.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builtin/fast-export.c b/builtin/fast-export.c index

[PATCH 02/10] git-fast-export.txt: clarify misleading documentation about rev-list args

2018-11-10 Thread Elijah Newren
Signed-off-by: Elijah Newren --- Documentation/git-fast-export.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Documentation/git-fast-export.txt b/Documentation/git-fast-export.txt index ce954be532..677510b7f7 100644 --- a/Documentation/git-fast-export.txt +++ b

[PATCH 05/10] fast-export: move commit rewriting logic into a function for reuse

2018-11-10 Thread Elijah Newren
Logic to replace a filtered commit with an unfiltered ancestor is useful elsewhere; put it into a function we can call. Signed-off-by: Elijah Newren --- builtin/fast-export.c | 37 ++--- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/builtin/fast

[PATCH 10/10] fast-export: add --always-show-modify-after-rename

2018-11-10 Thread Elijah Newren
instead of R oldname newname M 100644 $SHA1 newname then it makes the job more difficult. Add an option which allows us to force the latter output even when commits have exact renames of files. Signed-off-by: Elijah Newren --- Documentation/git-fast-export.txt | 11 ++ builtin

[PATCH 04/10] fast-export: avoid dying when filtering by paths and old tags exist

2018-11-10 Thread Elijah Newren
ast-import gained the ability to delete refs (see commit 4ee1b225b99f, "fast-import: add support to delete refs", 2014-04-20), so now we do have a valid option to rewrite the tag to. Delete these tags instead of dying. Signed-off-by: Elijah Newren --- builtin/fast-export.c | 9 +++

[PATCH 06/10] fast-export: when using paths, avoid corrupt stream with non-existent mark

2018-11-10 Thread Elijah Newren
sh. Avoid this problem by taking the commit the ref points to and finding an ancestor of it that was exported, and make the ref point to that commit instead. Signed-off-by: Elijah Newren --- builtin/fast-export.c | 13 - t/t9350-fast-export.sh | 24 2 files c

[PATCH 07/10] fast-export: ensure we export requested refs

2018-11-10 Thread Elijah Newren
to be excluded. That logically means ref deletion. Previously, such refs were just silently omitted from being exported despite having been explicitly requested for export. Signed-off-by: Elijah Newren --- NOTE: I was hoping the strmap API proposal would materialize, but I either missed

[PATCH 08/10] fast-export: add --reference-excluded-parents option

2018-11-10 Thread Elijah Newren
will only be useful in a repository which already contains the necessary commits (much like the restriction imposed when using --no-data). Signed-off-by: Elijah Newren --- Documentation/git-fast-export.txt | 16 ++-- builtin/fast-export.c | 42 +++ t

[PATCH 09/10] fast-export: add a --show-original-ids option to show original names

2018-11-10 Thread Elijah Newren
difficult without knowing the original names of each commit. This commit teaches a new --show-original-ids option to fast-export which will make it add a 'originally ' line to blob, commits, and tags. It also teaches fast-import to parse (and ignore) such lines. Signed-off-by: Elijah Newren

[PATCH 01/10] git-fast-import.txt: fix documentation for --quiet option

2018-11-10 Thread Elijah Newren
Signed-off-by: Elijah Newren --- Documentation/git-fast-import.txt | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Documentation/git-fast-import.txt b/Documentation/git-fast-import.txt index e81117d27f..7ab97745a6 100644 --- a/Documentation/git-fast-import.txt +++ b

[PATCH 00/10] fast export and import fixes and features

2018-11-10 Thread Elijah Newren
split them up and how you suggest doing so. These patches were driven by the needs of git-repo-filter[1], but most if not all of them should be independently useful. Elijah Newren (10): git-fast-import.txt: fix documentation for --quiet option git-fast-export.txt: clarify misleading documentation

Re: [PATCH v2 0/2] Reimplement rebase --merge via interactive machinery

2018-11-07 Thread Elijah Newren
On Wed, Nov 7, 2018 at 10:02 PM Elijah Newren wrote: > > Now that the rewrite-interactive-rebases-in-C series have finally > merged to master, this series deletes git-rebase--merge.sh and > reimplements the --merge behavior on top of the interactive machinery. > > Di

[PATCH v2 0/2] Reimplement rebase --merge via interactive machinery

2018-11-07 Thread Elijah Newren
(No range-diff provided, because it has been months since v1, and v1 was only RFC and was only discussed at a high level.) Elijah Newren (2): git-rebase, sequencer: extend --quiet option for the interactive machinery rebase: Implement --merge via git-rebase--interactive .gitignore

[PATCH v2 2/2] rebase: Implement --merge via git-rebase--interactive

2018-11-07 Thread Elijah Newren
called based on a quick comparison of this tests and previous ones which covered different rebase flavors. I think this is just attributable to this difference. t9903: --merge uses the interactive backend so the prompt expected is now REBASE-i. Signed-off-by: Elijah

[PATCH v2 1/2] git-rebase, sequencer: extend --quiet option for the interactive machinery

2018-11-07 Thread Elijah Newren
; file in the state_dir, while the other was signalled by the contents of a "quiet" file was just weirdly inconsistent. (This inconsistency pre-dated the rewrite into C.) Make them consistent by having them both key off the presence of the file. Signed-off-by: Elijah Newren --- buil

[PATCH v5 08/10] merge-recursive: improve rename/rename(1to2)/add[/add] handling

2018-11-07 Thread Elijah Newren
and consistent behavior between the different conflict types. Signed-off-by: Elijah Newren --- merge-recursive.c| 154 +-- t/t6042-merge-rename-corner-cases.sh | 29 +++-- t/t6043-merge-rename-directories.sh | 24 +++-- 3 files changed, 113

[PATCH v5 01/10] Add testcases for consistency in file collision conflict handling

2018-11-07 Thread Elijah Newren
s will fix the conflict handling to make these tests pass. Signed-off-by: Elijah Newren --- t/t6042-merge-rename-corner-cases.sh | 162 +++ 1 file changed, 162 insertions(+) diff --git a/t/t6042-merge-rename-corner-cases.sh b/t/t6042-merge-rename-corner-cases.sh index

[PATCH v5 10/10] merge-recursive: combine error handling

2018-11-07 Thread Elijah Newren
output to alert the user, and this output is duplicated for each side of the conflict. Simplify the call by generating this new path in a helper function. Signed-off-by: Derrick Stolee Signed-off-by: Elijah Newren --- merge-recursive.c | 53 --- 1 file

[PATCH v5 02/10] t6036, t6042: testcases for rename collision of already conflicting files

2018-11-07 Thread Elijah Newren
-by: Elijah Newren --- t/t6036-recursive-corner-cases.sh| 194 +++ t/t6042-merge-rename-corner-cases.sh | 118 2 files changed, 312 insertions(+) diff --git a/t/t6036-recursive-corner-cases.sh b/t/t6036-recursive-corner-cases.sh index e1cef58f2a

[PATCH v5 05/10] merge-recursive: fix rename/add conflict handling

2018-11-07 Thread Elijah Newren
handle_file_collision() to fix all of these issues. Signed-off-by: Elijah Newren --- merge-recursive.c| 137 +-- t/t6036-recursive-corner-cases.sh| 24 ++--- t/t6042-merge-rename-corner-cases.sh | 4 +- 3 files changed, 101 insertions(+), 64 deletions

[PATCH v5 03/10] merge-recursive: increase marker length with depth of recursion

2018-11-07 Thread Elijah Newren
markers increase with each subsequent nesting. Subsequent patches which change the rename/add and rename/rename(2to1) conflict handling will modify the extra_marker_size flag appropriately for their new needs. Signed-off-by: Elijah Newren --- ll-merge.c| 4 +- ll

[PATCH v5 04/10] merge-recursive: new function for better colliding conflict resolutions

2018-11-07 Thread Elijah Newren
w up in the index of the outer merge at stage 1 if a conflict exists at the outer level. Signed-off-by: Elijah Newren --- merge-recursive.c | 121 ++ 1 file changed, 121 insertions(+) diff --git a/merge-recursive.c b/merge-recursive.c index f35e3

[PATCH v5 06/10] merge-recursive: improve handling for rename/rename(2to1) conflicts

2018-11-07 Thread Elijah Newren
a three-way content merge on the renamed path, then store that at either stage 2 or stage 3. * Note that since the content merge for each rename may have conflicts, and then we have to merge the two renamed files, we can end up with nested conflict markers. Signed-off-by: Elijah

[PATCH v5 09/10] t6036, t6043: increase code coverage for file collision handling

2018-11-07 Thread Elijah Newren
Stolee's coverage reports found a few code blocks for file collision conflicts that had not previously been covered by testcases; add a few more testcases to cover those too. Signed-off-by: Elijah Newren --- t/t6036-recursive-corner-cases.sh | 51 + t/t6043-merge

[PATCH v5 07/10] merge-recursive: use handle_file_collision for add/add conflicts

2018-11-07 Thread Elijah Newren
This results in no-net change of behavior, it simply ensures that all file-collision conflict handling types are being handled the same by calling the same function. Signed-off-by: Elijah Newren --- merge-recursive.c | 29 + 1 file changed, 21 insertions(+), 8

[PATCH v5 00/10] Improve path collision conflict resolutions

2018-11-07 Thread Elijah Newren
s since v4: * Merged the two RFC patches into a single patch. * Added patch submitted by Stolee at the end. * (The addition of what are the last two patches are also the only difference since v3) Derrick Stolee (1): merge-recursive: combine error handling Elijah Newren (9): Add

Re: [PATCH v4 00/10] Improve path collision conflict resolutions

2018-11-02 Thread Elijah Newren
On Fri, Nov 2, 2018 at 12:09 PM Derrick Stolee wrote: > > On 11/2/2018 2:53 PM, Elijah Newren wrote: > > Major question: > >* You'll note that I edited the last two patches to mark them as RFC. > > To be honest, I'm not sure what to do with these. They improv

[PATCH v4 10/10] fixup! merge-recursive: improve rename/rename(1to2)/add[/add] handling

2018-11-02 Thread Elijah Newren
NOTE: This test added solely to improve code coverage of new code added in this series. Signed-off-by: Elijah Newren --- t/t6043-merge-rename-directories.sh | 37 + 1 file changed, 37 insertions(+) diff --git a/t/t6043-merge-rename-directories.sh b/t/t6043-merge

  1   2   3   4   5   6   7   8   9   10   >