This test manages its own exit code in order to perform a cleanup action
unconditionally, whether the test succeeds or fails overall. In doing
so, it intentionally breaks the &&-chain. Such manual exit code
management to ensure cleanup predates the invention of
test_when_finished().
An upcoming ch
This test intentionally breaks the &&-chain after "unset HOME" since it
doesn't know if 'unset' will succeed or fail. However, an upcoming
change will teach --chain-lint to detect &&-chain breakage inside
subshells, and it will catch this broken &&-chain. Instead, use
sane_unset() which can be safe
This test uses (... || true) as a shorthand for an if-then-else
statement. The subshell prevents it from breaking the top-level
&&-chain.
However, an upcoming change will teach --chain-lint to check the
&&-chain inside subshells. Although it specially recognizes and allows
(... || git ...) and (..
The --chain-lint[1] option detects breakage in the top-level &&-chain of
tests. This series undertakes the more complex task of teaching it to
also detect &&-chain breakage within subshells. See patch 29/29 for the
gory details of how that's done.
The series is built atop 'master', however, it has
An upcoming change will teach --chain-lint to detect &&-chain breakage
inside subshells. The check works by performing textual transformations
on the test to link the subshell body directly into the parent's
&&-chain. Special care is taken with the final statement in a
subshell. For instance:
An upcoming change will teach --chain-lint to check the &&-chain inside
subshells. The semicolons after the final commands in these subshells
will trip up --chain-lint since they break the &&-chain. Since those
semicolons are unnecessary, just drop them.
Signed-off-by: Eric Sunshine
---
t/t3102-
Signed-off-by: Eric Sunshine
---
t/t2103-update-index-ignore-missing.sh | 2 +-
t/t2202-add-addremove.sh | 14 +++---
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/t/t2103-update-index-ignore-missing.sh
b/t/t2103-update-index-ignore-missing.sh
index 332694
These tests employ a noisy subshell (with missing &&-chain) to feed
input into Git commands:
(echo a; echo b; echo c) | git some-command ...
Drop the subshell in favor of a simple 'printf':
printf "%s\n" a b c | git some-command ...
Signed-off-by: Eric Sunshine
---
t/t0090-cache-tree.
The --chain-lint option detects broken &&-chains by forcing the test to
exit early (as the very first step) with a sentinel value. If that
sentinel is the test's overall exit code, then the &&-chain is intact;
if not, then the chain is broken. Unfortunately, this detection does not
extend to &&-cha
Signed-off-by: Eric Sunshine
---
t/t5300-pack-object.sh | 2 +-
t/t5302-pack-index.sh | 2 +-
t/t5401-update-hooks.sh| 4 ++--
t/t5406-remote-rejects.sh | 2 +-
t/t5500-fetch-pack.sh | 2 +-
t/t5505-remote.sh | 2 +-
t/t5512-ls-remote.sh
Signed-off-by: Eric Sunshine
---
t/t-basic.sh | 2 +-
t/t0003-attributes.sh | 24
t/t0021-conversion.sh | 4 ++--
3 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/t/t-basic.sh b/t/t-basic.sh
index af61d083b4..34859fe4a5 100755
--- a/t/t0
Signed-off-by: Eric Sunshine
---
t/t9119-git-svn-info.sh | 120
1 file changed, 60 insertions(+), 60 deletions(-)
diff --git a/t/t9119-git-svn-info.sh b/t/t9119-git-svn-info.sh
index 88241baee3..8201c3e808 100755
--- a/t/t9119-git-svn-info.sh
+++ b/t/t911
This test manually checks the exit code of git-grep for a particular
value. In doing so, it breaks the &&-chain. An upcoming change will
teach --chain-lint to check the &&-chain inside subshells, so this
manual exit code handling will run afoul of the &&-chain check.
Therefore, replace the manual h
This test employs an unnecessary nested subshell:
(cd foo &&
statement1 &&
(cd bar &&
statement2))
An upcoming change will teach --chain-lint to check the &&-chain in
subshells. The check works by performing textual transformations on the
test to link the subshell body directl
Signed-off-by: Eric Sunshine
---
t/t9001-send-email.sh | 6 +++---
t/t9100-git-svn-basic.sh| 2 +-
t/t9101-git-svn-props.sh| 2 +-
t/t9122-git-svn-author.sh | 6 +++---
t/t9129-git-svn-i18n-commite
Signed-off-by: Eric Sunshine
---
t/t3030-merge-recursive.sh | 340 ++---
1 file changed, 170 insertions(+), 170 deletions(-)
diff --git a/t/t3030-merge-recursive.sh b/t/t3030-merge-recursive.sh
index 3563e77b37..ff641b348a 100755
--- a/t/t3030-merge-recursive.sh
+
Signed-off-by: Eric Sunshine
---
t/t3000-ls-files-others.sh | 2 +-
t/t3006-ls-files-long.sh| 2 +-
t/t3008-ls-files-lazy-init-name-hash.sh | 8
t/t3050-subprojects-fetch.sh| 8
t/t3301-notes.sh| 8
t/t340
Signed-off-by: Eric Sunshine
---
t/t4001-diff-rename.sh | 2 +-
t/t4025-hunk-header.sh | 8
t/t4041-diff-submodule-option.sh | 4 ++--
t/t4060-diff-submodule-option-diff-format.sh | 2 +-
t/t4121-apply-diffs.sh
Signed-off-by: Eric Sunshine
---
t/t1004-read-tree-m-u-wf.sh | 8
t/t1005-read-tree-reset.sh | 10 +-
t/t1008-read-tree-overlay.sh| 2 +-
t/t1020-subdirectory.sh | 2 +-
t/t1050-large.sh| 6 +++---
t/t1411-reflog-show.s
This test has been dysfunctional since it was added by 259f3ee296
(lib-submodule-update.sh: define tests for recursing into submodules,
2017-03-14), however, problems went unnoticed due to a broken &&-chain
toward the end of the test.
The test wants to verify that replacing a submodule containing
Signed-off-by: Eric Sunshine
---
t/t7001-mv.sh | 2 +-
t/t7201-co.sh | 40 +-
t/t7400-submodule-basic.sh | 2 +-
t/t7406-submodule-update.sh| 4 +--
t/t7408-submodule-reference.sh | 2 +-
t/t7501-commit.sh | 52 +++
These tests manually coerce the exit code of invoked commands to
"success" when they don't care if the command succeeds or fails since
failure of those commands should not cause the test to fail overall.
Such manual management predates the invention of test_might_fail().
An upcoming change will te
Signed-off-by: Eric Sunshine
---
t/t6010-merge-base.sh| 2 +-
t/t6029-merge-subtree.sh | 16
t/t6036-recursive-corner-cases.sh| 6 +++---
t/t6042-merge-rename-corner-cases.sh | 8
t/t6043-merge-rename-directories.sh | 2 +-
5 files ch
This test has been dysfunctional since it was added by 6489660b4b
(send-email: support validate hook, 2017-05-12), however, the problem
went unnoticed due to a broken &&-chain late in the test.
The test wants to verify that a non-zero exit code from the
'sendemail-validate' hook causes git-send-em
This test uses a subshell within a subshell but is formatted in such a
way as to suggests that the inner subshell is a sibling rather than a
child, which makes it difficult to digest the test's structure and
intent.
Worse, the inner subshell performs cleanup of actions from earlier in
the test, ho
These tests reference non-existent object "c" when they really mean to
be referencing "C", however, this error went unnoticed due to a broken
&&-chain later in the test. Fix these errors, as well as the broken
&&-chains behind which they hid.
Signed-off-by: Eric Sunshine
---
t/t6036-recursive-co
This test uses "(... || svn ...)" as a shorthand for an if-then-else
statement. The subshell prevents it from breaking the top-level
&&-chain.
However, an upcoming change will teach --chain-lint to check the
&&-chain inside subshells. Although it takes special care to allow
"||" inside subshells,
This test has been dysfunctional since it was added by 619acfc78c
(submodule add: extend force flag to add existing repos, 2016-10-06),
however, two problems early in the test went unnoticed due to a broken
&&-chain later in the test.
First, it tries configuring the submodule with repository "bogu
These tests intentionally break the &&-chain to manually check the exit
code of invoked commands which they expect to fail, and invert that
local expected failure into a successful exit code for the test overall.
Such manual exit code manipulation predates the invention of
test_must_fail().
An upc
This test employs a for-loop inside a subshell and correctly aborts the
loop and fails the test overall (via "exit 1") if any iteration of the
for-loop fails. Otherwise, it exits the subshell with an explicit
"exit 0", presumably to indicate that all iterations of the for-loop
succeeded. The &&-cha
On 26 June 2018 at 08:29, Eric Sunshine wrote:
> These tests intentionally break the &&-chain to manually check the exit
> code of invoked commands which they expect to fail, and invert that
> local expected failure into a successful exit code for the test overall.
> Such manual exit code manipula
On Tue, Jun 26, 2018 at 12:29 AM, Eric Sunshine wrote:
> These tests reference non-existent object "c" when they really mean to
> be referencing "C", however, this error went unnoticed due to a broken
> &&-chain later in the test. Fix these errors, as well as the broken
> &&-chains behind which th
On Tue, Jun 26, 2018 at 12:29 AM, Eric Sunshine wrote:
> These tests intentionally break the &&-chain to manually check the exit
> code of invoked commands which they expect to fail, and invert that
> local expected failure into a successful exit code for the test overall.
> Such manual exit code
Hi,
On Tue, Jun 26, 2018 at 3:00 AM Johannes Schindelin
wrote:
> Pratik refactored some code from sequencer.c into checkout.c/checkout.h
> today to do exactly that. It is not polished yet, but probably will be
> tomorrow. It provides a function `int detach_head_to(struct object_oid
> *oid, const
On Tue, Jun 26, 2018 at 12:29 AM, Eric Sunshine wrote:
> The --chain-lint[1] option detects breakage in the top-level &&-chain of
> tests. This series undertakes the more complex task of teaching it to
> also detect &&-chain breakage within subshells. See patch 29/29 for the
> gory details of how
On Tue, Jun 26, 2018 at 4:58 AM Elijah Newren wrote:
> On Tue, Jun 26, 2018 at 12:29 AM, Eric Sunshine
> wrote:
> > [...] Therefore,
> > replace the manual exit code management with test_must_fail() and a
> > normal &&-chain.
> >
> > Signed-off-by: Eric Sunshine
> > ---
> > diff --git a/t/t5405
Hi Junio & Alban,
On Mon, 25 Jun 2018, Junio C Hamano wrote:
> * ag/rebase-i-append-todo-help (2018-06-14) 2 commits
> - rebase--interactive: rewrite append_todo_help() in C
> - Merge branch 'ag/rebase-p' into ag/rebase-i-append-todo-help
> (this branch is used by ag/rebase-i-rewrite-todo.)
>
On Tue, Jun 26, 2018 at 5:20 AM Elijah Newren wrote:
> On Tue, Jun 26, 2018 at 12:29 AM, Eric Sunshine
> wrote:
> > Aside from identifying a rather significant number of &&-chain breaks,
> > repairing those broken chains uncovered genuine bugs in several tests
> > which were hidden by missing &&
Currently, append_todo_help() does not warn the user if an error occurs
when trying to write to the todo file. This patch addresses this
problem.
This patch is based on ag/rebase-i-append-todo-help.
Alban Gruin (1):
sequencer: print an error message if append_todo_help() fails
sequencer.c |
This adds an error when append_todo_help() fails to write its message to
the todo file.
Signed-off-by: Alban Gruin
---
sequencer.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/sequencer.c b/sequencer.c
index 7cc76332e..7c4bdbb99 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -4380,6 +43
ENVIRONMENT
GIT_CONFIG
Take the configuration from the given file instead of
.git/config. Using the "--global" option forces this to
~/.gitconfig. Using the "--system" option forces this to
$(prefix)/etc/gitconfig.
is the phrase "forces this to" really what you wa
Add a helper function to make it clearer that retrieving 'fetch'
configuration from the .gitmodules file is a special case supported
solely for backward compatibility purposes.
This change removes one direct use of 'config_from_gitmodules' in code
not strictly related to submodules, in the effort
Now that 'config_from_gitmodules' is not used in the open, it can be
marked as private.
Hopefully this will prevent its usage for retrieving arbitrary
configuration form the '.gitmodules' file.
Signed-off-by: Antonio Ospite
---
submodule-config.c | 8
submodule-config.h | 12 +
The .gitmodules file is not meant as a place to store arbitrary
configuration to distribute with the repository.
Move config_from_gitmodules() out of config.c and into
submodule-config.c to make it even clearer that it is not a mechanism to
retrieve arbitrary configuration from the .gitmodules fil
Reuse config_from_gitmodules in repo_read_gitmodules to remove some
duplication and also have a single point where the .gitmodules file is
read.
The change does not introduce any new behavior, the same gitmodules_cb
config callback is still used, which only deals with configuration
specific to sub
Generlize config_from_gitmodules to accept a repository as an argument.
This is in preparation to reuse the function in repo_read_gitmodules in
order to have a single point where the '.gitmodules' file is accessed.
Signed-off-by: Antonio Ospite
---
submodule-config.c | 10 +-
1 file cha
Add a helper function to make it clearer that retrieving 'update-clone'
configuration from the .gitmodules file is a special case supported
solely for backward compatibility purposes.
This change removes one direct use of 'config_from_gitmodules' for
options not strictly related to submodules: "su
Hi,
this is version 2 of the series from
https://public-inbox.org/git/20180622162656.19338-1-...@ao2.it/
The .gitmodules file is not meant for arbitrary configuration, it should
be used only for submodules properties.
Plus, arbitrary git configuration should not be distributed with the
repositor
On Tue, Jun 26, 2018 at 12:47 AM, Junio C Hamano wrote:
Happy 2.18.0 everyone!
> * ab/fetch-tags-noclobber (2018-05-16) 9 commits
> - fixup! push tests: assert re-pushing annotated tags
> - fetch: stop clobbering existing tags without --force
> - fetch tests: add a test clobbering tag behavio
On Mon, Jun 25, 2018 at 7:33 PM, Junio C Hamano wrote:
> Tiago Botelho writes:
>
>> +test_expect_success "--bisect-all --first-parent" '
>> +cat >expect1 <> +$(git rev-parse CC) (dist=2)
>> +$(git rev-parse EX) (dist=1)
>> +$(git rev-parse D) (dist=1)
>> +$(git rev-parse FX) (dist=0)
>> +EOF
>> +
On Mon, Jun 25, 2018 at 11:19:51AM -0700, Junio C Hamano wrote:
> Jeff King writes:
>
> > We seem to match url schemes case-sensitively:
> >
> > $ git clone SSH://example.com/repo.git
> > Cloning into 'repo'...
> > fatal: Unable to find remote helper for 'SSH'
> >
> > whereas rfc3986 is cl
On Tue, Jun 26, 2018 at 06:18:26AM -0400, Robert P. J. Day wrote:
>
> ENVIRONMENT
> GIT_CONFIG
> Take the configuration from the given file instead of
> .git/config. Using the "--global" option forces this to
> ~/.gitconfig. Using the "--system" option forces this to
>
Hi Alban,
On Tue, 26 Jun 2018, Alban Gruin wrote:
> This adds an error when append_todo_help() fails to write its message to
> the todo file.
>
> Signed-off-by: Alban Gruin
ACK.
We *may* want to fold that into the commit that adds `append_todo_help()`.
And, as I mentioned previously, I would
hi there,
i have noticed that merge.conflictstyle has an impact on the rerere
resolution. looking briefly at the source code, it seems that git
tries to discard the common ancestor diff3 bits, but what I am seeing
is that if i do the following then it fails:
1. from a clean rr-cache state, with m
Hi Chris,
On Tue, 26 Jun 2018, Christian Couder wrote:
> On Mon, Jun 25, 2018 at 7:33 PM, Junio C Hamano wrote:
> > Tiago Botelho writes:
> >
> >> +test_expect_success "--bisect-all --first-parent" '
> >> +cat >expect1 < >> +$(git rev-parse CC) (dist=2)
> >> +$(git rev-parse EX) (dist=1)
> >> +
Hi Eric,
On Tue, Jun 26, 2018, 2:31 AM Eric Sunshine wrote:
>
> On Tue, Jun 26, 2018 at 5:20 AM Elijah Newren wrote:
> > On Tue, Jun 26, 2018 at 12:29 AM, Eric Sunshine
> > wrote:
> > > Aside from identifying a rather significant number of &&-chain breaks,
> > > repairing those broken chains u
Hi Dscho,
On Tue, Jun 26, 2018 at 4:10 PM, Johannes Schindelin
wrote:
>
> On Tue, 26 Jun 2018, Christian Couder wrote:
>
>> On Mon, Jun 25, 2018 at 7:33 PM, Junio C Hamano wrote:
>>
>> > I hate to say this, but the above looks like a typical
>> > unmaintainable mess.
>> >
>> > What happens when
This patch rewrites append_todo_help() from shell to C. The C version
covers a bit more than the old shell version. To achieve that, some
parameters were added to rebase--helper.
This also introduce a new source file, rebase-interactive.c.
This is part of the effort to rewrite interactive rebase
This rewrites append_todo_help() from shell to C. It also incorporates
some parts of initiate_action() and complete_action() that also write
help texts to the todo file.
This also introduces the source file rebase-interactive.c. This file
will contain functions necessary for interactive rebase tha
This makes rebase_path_todo(), get_missign_commit_check_level() and the
enum check_level accessible outside sequencer.c. This will be needed
for the rewrite of append_todo_help() from shell to C, as it will be in
a new library source file, rebase-interactive.c.
Signed-off-by: Alban Gruin
---
se
This rewrites the edit-todo functionality from shell to C.
To achieve that, a new command mode, `edit-todo`, is added, and the
`write-edit-todo` flag is removed, as the shell script does not need to
write the edit todo help message to the todo list anymore.
The shell version is then stripped in f
This patch rewrites the edit-todo functionality from shell to C. This is
part of the effort to rewrite interactive rebase in C.
This patch is based on the fourth iteration of my series rewriting
append_todo_help() in C.
Changes since v2:
- Moving edit_todo() from sequencer.c to interactive-reba
As part of the rewrite of interactive rebase, the sequencer will need to
open the sequence editor to allow the user to edit the todo list.
Instead of duplicating the existing launch_editor() function, this
refactors it to a new function, launch_specified_editor(), which takes
the editor as a parame
Jonathan Tan writes:
> As for whether both these functions are necessary in the first place, I
> think they are.
I do not mind their existence.
I was wondering if they can share more implementation; such a design
would need s/the_commit_graph/the_repo->objstore->commit_graph/ only
once as a s
Taylor Blau writes:
> On Mon, Jun 25, 2018 at 02:43:50PM -0400, Jeff King wrote:
>> On Fri, Jun 22, 2018 at 10:49:26AM -0500, Taylor Blau wrote:
>> > Since the last time, only a couple of things have changed at Peff's
>> > suggestions in [1]. The changes are summarized here, and an inter-diff
>>
On Tue, 26 Jun 2018, Jeff King wrote:
> On Tue, Jun 26, 2018 at 06:18:26AM -0400, Robert P. J. Day wrote:
>
> >
> > ENVIRONMENT
> > GIT_CONFIG
> > Take the configuration from the given file instead of
> > .git/config. Using the "--global" option forces this to
> > ~/.gitcon
On 06/26, Antonio Ospite wrote:
> Hi,
>
> this is version 2 of the series from
> https://public-inbox.org/git/20180622162656.19338-1-...@ao2.it/
>
> The .gitmodules file is not meant for arbitrary configuration, it should
> be used only for submodules properties.
>
> Plus, arbitrary git configur
> diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh
> index e80eacbb1b..776769fe0d 100755
> --- a/t/t9001-send-email.sh
> +++ b/t/t9001-send-email.sh
> @@ -1966,11 +1966,11 @@ test_expect_success $PREREQ 'invoke hook' '
>
> # Verify error message when a patch is rejected by
Jeff King writes:
>> > We seem to match url schemes case-sensitively:
>> >
>> > $ git clone SSH://example.com/repo.git
>> > Cloning into 'repo'...
>> > fatal: Unable to find remote helper for 'SSH'
>> >
>> > whereas rfc3986 is clear that the scheme portion is case-insensitive.
>> > We proba
Alban Gruin writes:
> This rewrites checkout_onto() from shell to C. The new version is called
> detach_onto(), given its role.
The name, given its role, may be good, but is the implementtaion
robust enough to fulfill the promise its name gives?
> git rebase--helper --check-todo-list || {
Alban Gruin writes:
I do not think "base_commit" is a good name, either, though. When I
hear 'base' in the context of 'rebase', I would imagine that the
speaker is talking about the bottom of the range of the commits to
be rebased (i.e. "rebase --onto ONTO BASE BRANCH", which
Hi,
Jonathan Tan wrote:
> During negotiation, fetch-pack eventually reports as "have" lines all
> commits reachable from all refs. Allow the user to restrict the commits
> sent in this way by providing a whitelist of tips; only the tips
> themselves and their ancestors will be sent.
>
> This feat
Fix a trivial white-space issue introduced by commit d48f97aa8
("rebase: reindent function git_rebase__interactive", 2018-03-23). This
affected the instructional comments displayed in the editor during an
interactive rebase.
Signed-off-by: dana
---
Sorry if i've done any of this wrong; i've neve
Am 26.06.2018 um 11:21 schrieb Eric Sunshine:
On Tue, Jun 26, 2018 at 4:58 AM Elijah Newren wrote:
On Tue, Jun 26, 2018 at 12:29 AM, Eric Sunshine wrote:
+ p4 help client &&
+ test_must_fail p4 help nosuchcommand
same question?
Same answer. Not shown in this pa
On Tue, Jun 26, 2018 at 2:06 PM Johannes Sixt wrote:
> Am 26.06.2018 um 11:21 schrieb Eric Sunshine:
> >> On Tue, Jun 26, 2018 at 12:29 AM, Eric Sunshine
> >> wrote:
> >>> + p4 help client &&
> >>> + test_must_fail p4 help nosuchcommand
> > [...] So, despite
> > the (
Elijah Newren writes:
> +# Rebase has lots of useful options like --whitepsace=fix, which are
> +# actually all built in terms of flags to git-am. Since neither
> +# --merge nor --interactive (nor any options that imply those two) use
> +# git-am, using them together will result in flags like --
On Tue, Jun 26, 2018 at 10:09:58AM -0700, Junio C Hamano wrote:
> > It may also interact in a funny way with our allowed-protocol code, if
> > "SSH" gets a pass as "ssh" under the default config, but actually runs
> > the otherwise-disallowed git-remote-SSH (though one would _hope_ if you
> > have
Jonathan Tan writes:
> During negotiation, fetch-pack eventually reports as "have" lines all
> commits reachable from all refs. Allow the user to restrict the commits
> sent in this way by providing a whitelist of tips; only the tips
> themselves and their ancestors will be sent.
>
> This feature
Nicolas Dechesne writes:
> i have noticed that merge.conflictstyle has an impact on the rerere
> resolution. looking briefly at the source code, it seems that git
> tries to discard the common ancestor diff3 bits, but what I am seeing
> is that if i do the following then it fails:
>
> 1. from a c
Eric Sunshine writes:
> The --chain-lint option detects broken &&-chains by forcing the test to
> exit early (as the very first step) with a sentinel value. If that
> sentinel is the test's overall exit code, then the &&-chain is intact;
> if not, then the chain is broken. Unfortunately, this det
On Mon, 2018-06-25 at 21:07 -0700, Michael Barabanov wrote:
> The commits in state:filter.map have already been processed, so don't
> filter them again. This makes incremental git filter-branch much
> faster.
>
> Also add tests for --state-branch option.
>
> Signed-off-by: Michael Barabanov
Ack
Eric Sunshine writes:
> These tests employ a noisy subshell (with missing &&-chain) to feed
> input into Git commands:
>
> (echo a; echo b; echo c) | git some-command ...
>
> Drop the subshell in favor of a simple 'printf':
>
> printf "%s\n" a b c | git some-command ...
That's called tes
On Tue, Jun 26, 2018 at 9:05 PM Junio C Hamano wrote:
>
> Nicolas Dechesne writes:
>
> > i have noticed that merge.conflictstyle has an impact on the rerere
> > resolution. looking briefly at the source code, it seems that git
> > tries to discard the common ancestor diff3 bits, but what I am see
Eric Sunshine writes:
> The --chain-lint[1] option detects breakage in the top-level &&-chain of
> tests. This series undertakes the more complex task of teaching it to
> also detect &&-chain breakage within subshells. See patch 29/29 for the
> gory details of how that's done.
I first looked at
On Tue, Jun 26, 2018 at 3:15 PM Junio C Hamano wrote:
> so, with --chain-lint, we would transform this
>
> mkdir -p a/b/c &&
> (
> cd a/b/c
> rm -fr ../../*
> ) &&
> statement 4
>
> into this sequence
>
> (exit $sentinel) &&
>
Johannes Schindelin writes:
> Hi Alban,
>
> On Tue, 26 Jun 2018, Alban Gruin wrote:
>
>> This adds an error when append_todo_help() fails to write its message to
>> the todo file.
>>
>> Signed-off-by: Alban Gruin
>
> ACK.
>
> We *may* want to fold that into the commit that adds `append_todo_hel
On Tue, Jun 26, 2018 at 02:27:39PM -0400, Jeff King wrote:
> So yeah, we would not want to allow EXT::"rm -rf /" to slip past the
> known-unsafe match. Any normalization should happen before then
> (probably right in transport_helper_init).
>
> Come to think of it, that's already sort-of an issue
On Tue, Jun 26, 2018 at 3:31 PM Junio C Hamano wrote:
> Eric Sunshine writes:
> > These tests employ a noisy subshell (with missing &&-chain) to feed
> > input into Git commands:
> >
> > (echo a; echo b; echo c) | git some-command ...
> >
> > Drop the subshell in favor of a simple 'printf':
>
Antonio Ospite writes:
> Add a helper function to make it clearer that retrieving 'fetch'
> configuration from the .gitmodules file is a special case supported
> solely for backward compatibility purposes.
> ...
Then perhaps the new public function deserves a comment stating
that?
> +struct fet
Antonio Ospite writes:
> Now that 'config_from_gitmodules' is not used in the open, it can be
> marked as private.
Nice ;-)
Antonio Ospite writes:
> Generlize config_from_gitmodules to accept a repository as an argument.
generalize???
>
> This is in preparation to reuse the function in repo_read_gitmodules in
> order to have a single point where the '.gitmodules' file is accessed.
>
> Signed-off-by: Antonio Ospite
On Tue, Jun 26, 2018 at 03:52:54PM -0400, Eric Sunshine wrote:
> The existing --chain-lint already suffers the same shortcoming. Older
> (or even new poorly-written) tests, even without subshells, can fall
> victim already:
>
> (exit $sentinel) &&
> mkdir -p a/b/c &&
> cd a/b/c
>
On Tue, Jun 26, 2018 at 04:17:08PM -0400, Jeff King wrote:
> I'm not sure if there's a good solution, though. Even if you retained
> the subshells and instead did a chain-lint inside each subshell, like
> this:
So obviously that means "I don't think there's a good solution with this
approach".
T
Brandon Williams writes:
>> Changes since v1:
>> * Remove an extra space before an arrow operator in patch 2
>> * Fix a typo in the commit message of patch 3: s/fetchobjs/fetchjobs
>> * Add a note in the commit message of patch 6 about checking the
>> worktree before loading .gitmodules
On Tue, Jun 26, 2018 at 4:17 PM Jeff King wrote:
> On Tue, Jun 26, 2018 at 03:52:54PM -0400, Eric Sunshine wrote:
> > So, this isn't a new problem introduced by this series, though this
> > series may exacerbate it.
>
> Whereas once you start collapsing subshells into the main logic chain,
> there
Add an 'unpack-sideband' subcommand to the test-pkt-line helper to
enable unpacking packet line data sent multiplexed using a sideband.
Signed-off-by: Brandon Williams
---
t/helper/test-pkt-line.c | 33 +
1 file changed, 33 insertions(+)
diff --git a/t/helper/tes
Add tests to check the behavior of fetching from a repository which
changes between rounds of negotiation (for example, when different
servers in a load-balancing agreement participate in the same stateless
RPC negotiation). This forms a baseline of comparison to the ref-in-want
functionality (whic
Currently, while performing packfile negotiation, clients are only
allowed to specify their desired objects using object ids. This causes
a vulnerability to failure when an object turns non-existent during
negotiation, which may happen if, for example, the desired repository is
provided by multipl
Populate peer ref OIDs in get_ref_map instead of do_fetch. Besides
tightening scopes of variables in the code, this also prepares for
get_ref_map being able to be called multiple times within do_fetch.
Signed-off-by: Brandon Williams
---
builtin/fetch.c | 36 ++--
Refactor the fetch_refs function into a function that does the fetching
of refs and another function that stores them. This is in preparation
for allowing additional processing of the fetched refs before updating
the local ref store.
Signed-off-by: Brandon Williams
---
builtin/fetch.c | 23
1 - 100 of 151 matches
Mail list logo