Felipe Contreras writes:
> Junio C Hamano wrote:
>
>> - The "always warn" does not force update at the point of use, but
>>it still does not help them to notice well before they try to use
>>it for the first time after update;
>
> I don't understand this sentence. They will see a big fat
Karen Etheridge wrote:
>
> scenario:
> - edit some tracked files; do not add them to the index
> - "git config rebase.autostash true"
> - "git rebase -i HEAD~3" (an autostash will be created)
> - delete the entire buffer and save/exit the editor - this will abort the
> rebase
>
> poof, the aut
Junio C Hamano wrote:
> My suggestion to rename the directory without smudging the scripts
> was meant to be a step that can come before that step, and I think
> its necessity is debatable. It depends on how gradual a transition
> you want to give, and being always the more cautious type,
> I thi
scenario:
- edit some tracked files; do not add them to the index
- "git config rebase.autostash true"
- "git rebase -i HEAD~3" (an autostash will be created)
- delete the entire buffer and save/exit the editor - this will abort the
rebase
poof, the autostash is gone (it is not reapplied) -- i
Junio C Hamano wrote:
> Felipe Contreras writes:
>
> >> > But that being said, this is Felipe's code. While we have a legal right
> >> > to distribute it in v2.0, if he would really prefer it out for v2.0, I
> >> > would respect that.
> >>
> >> I am fine with that.
> >
> > Are you? Because in tw
Hi,
This tool allows you to maintain a patch series more easily. You can store the
cover letter, the cc list, version of the series, and other metadata.
By default it will use the currently checked out branch, and show you a
template like this:
version:
cc:
Subject
Content.
--
Hi,
This tool finds people that might be interested in a patch, by going
back through the history for each single hunk modified, and finding
people that reviewed, acknowledged, signed, or authored the code the
patch is modifying.
It does this by running `git blame` incrementally on each hunk, and
Hi,
git reintegrate is a helper tool to manage integration branches, it
has all the options of other known tools.
This is a rewrite of John Keeping's git-integration in Ruby, it has
essentially the same features and passes all the git-integration
tests, but it has more features.
One feature that
On Sun, May 18, 2014 at 5:17 PM, Michael S. Tsirkin wrote:
> document ack! behaviour and use
>
> Signed-off-by: Michael S. Tsirkin
> ---
> Documentation/git-rebase.txt | 45
> +++-
> 1 file changed, 40 insertions(+), 5 deletions(-)
>
> diff --git a/Docume
On Sun, May 18, 2014 at 11:28:39PM +0300, Michael S. Tsirkin wrote:
> There's some special code in rebase -i to deal
> with --keep-empty.
> Add test for this combination.
>
> Signed-off-by: Michael S. Tsirkin
Acked-by: Neil Horman
> ---
> t/t3404-rebase-interactive.sh | 9 +
> 1 file c
Felipe Contreras writes:
>> > But that being said, this is Felipe's code. While we have a legal right
>> > to distribute it in v2.0, if he would really prefer it out for v2.0, I
>> > would respect that.
>>
>> I am fine with that.
>
> Are you? Because in two of the three options you list below yo
Jeff King writes:
> My concerns were with people not noticing the README. Removing the code
> entirely is the way I thought of to address that. Junio suggested
> another way, which I would also be fine with. And it seems like a
> friendlier way than removal to handle it for v2.0, if we are going
Matthieu Moy wrote:
> Felipe Contreras writes:
>
> > % git fetch
> > WARNING: git-remote-hg is now maintained independently.
> > WARNING: For more information visit
> > https://github.com/felipec/git-remote-hg
> > searching for changes
> > no changes found
>
> I don't think the situation i
---
Documentation/guilt-pop.txt | 3 +++
Documentation/guilt-push.txt | 3 +++
2 files changed, 6 insertions(+)
diff --git a/Documentation/guilt-pop.txt b/Documentation/guilt-pop.txt
index 36fea9e..b0b89cc 100644
--- a/Documentation/guilt-pop.txt
+++ b/Documentation/guilt-pop.txt
@@ -26,6 +26,9
---
Documentation/guilt-header.txt | 5 -
regression/t-028.out | 9 +
regression/t-028.sh| 3 +++
3 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/Documentation/guilt-header.txt b/Documentation/guilt-header.txt
index 870bfaf..71b2e66 100644
--- a/Doc
Signed-off-by: Per Cederqvist
Signed-off-by: Josef 'Jeff' Sipek
---
.dir-locals.el | 3 +++
Documentation/Contributing | 15 +++
2 files changed, 18 insertions(+)
create mode 100644 .dir-locals.el
diff --git a/.dir-locals.el b/.dir-locals.el
new file mode 100644
index
When the option is true, Guilt does not create a new Git branch when
patches are applied. This way, you can switch between Guilt 0.35 and
the current version of Guilt with no issues.
By default, the option is false, so that all users will immediately
get the added protection against pushing a bra
Fix remove_topic() in t-061.sh so that it doesn't print a git hash.
Signed-off-by: Per Cederqvist
Signed-off-by: Josef 'Jeff' Sipek
---
regression/t-061.out | 1 -
regression/t-061.sh | 2 +-
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/regression/t-061.out b/regression/t-061.
Signed-off-by: Per Cederqvist
Signed-off-by: Josef 'Jeff' Sipek
---
regression/t-061.sh | 6 ++
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/regression/t-061.sh b/regression/t-061.sh
index db26e12..bda50c7 100755
--- a/regression/t-061.sh
+++ b/regression/t-061.sh
@@ -15,8 +
This is analogous to how "guilt push" now fails when there are no more
patches to push. Like push, the "--all" argument still succeeds even
if there was no need to pop anything.
Updated the test suite.
Signed-off-by: Per Cederqvist
Signed-off-by: Josef 'Jeff' Sipek
---
guilt-pop|
This makes it easier to script operations on the entire queue, for
example run the test suite on each patch in the queue:
guilt pop -a;while guilt push; do make test||break; done
This brings "guilt push" in line with the push operation in Mercurial
Queues (hg qpush), which fails when there ar
Signed-off-by: Per Cederqvist
Signed-off-by: Josef 'Jeff' Sipek
---
guilt-patchbomb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guilt-patchbomb b/guilt-patchbomb
index 1231418..164b10c 100755
--- a/guilt-patchbomb
+++ b/guilt-patchbomb
@@ -47,7 +47,7 @@ if [ $? -ne 0 ]; t
Signed-off-by: Per Cederqvist
Signed-off-by: Josef 'Jeff' Sipek
---
guilt-rebase | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guilt-rebase b/guilt-rebase
index fd28e48..a1714a0 100755
--- a/guilt-rebase
+++ b/guilt-rebase
@@ -66,7 +66,7 @@ pop_all_patches
git merge --no-c
Only one invocation of "disp" or "_disp" actually needed backslash
processing. In quite a few instances, it was wrong to do backslash
processing, as the message contained data derived from the user.
Created the new function "disp_e" that should be used when backslash
processing is required, and c
Use --no-decorate in the call to git log that tries to read the commit
message to produce patch names. Otherwise, if the user has set
log.decorate to short or full, the patch name will be less useful.
Modify the t-034.sh test case to demonstrate that this is needed.
Signed-off-by: Per Cederqvist
Quote quotes with a backslash in the "guilt graph" output. Otherwise,
the "dot" file could contain syntax errors.
Added a test case.
Signed-off-by: Per Cederqvist
Signed-off-by: Josef 'Jeff' Sipek
---
guilt-graph | 2 ++
regression/t-033.out | 22 ++
regression/t
git branch names can contain commas. Check that "guilt graph" works
even in that case.
Signed-off-by: Per Cederqvist
Signed-off-by: Josef 'Jeff' Sipek
---
regression/t-033.out | 65
regression/t-033.sh | 39 +++
This fix relies on the fact that git branch names can not contain ":".
Signed-off-by: Per Cederqvist
Signed-off-by: Josef 'Jeff' Sipek
---
guilt-graph | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guilt-graph b/guilt-graph
index 56d0e77..924a63e 100755
--- a/guilt-graph
++
The 'echo $s' construct sometimes processes escape sequences. (This
happens, for instance, under Ubuntu 14.04 when /bin/sh is actually
dash.) We don't want that to happen when we are importing commits, so
use 'printf %s "$s"' instead.
(The -E option of bash that explicitly disables backslash exp
Give an error message if no patches are applied. Added a test case
that never terminates unless this fix is applied.
Signed-off-by: Per Cederqvist
Signed-off-by: Josef 'Jeff' Sipek
---
guilt-graph | 9 +++--
regression/t-033.out | 3 +++
regression/t-033.sh | 13 +
Try harder to create patch names that adhere to the rules in
git-check-ref-format(1) when deriving a patch name from the commit
message. Verify that the derived name using "git check-ref-format",
and as a final fallback simply use the patch name "x" (to ensure that
the code is future-proof in case
The shouldfail function already redirects stderr to stdout, so there
is no need to do the same in t-028.sh and t-021.sh.
Signed-off-by: Per Cederqvist
Signed-off-by: Josef 'Jeff' Sipek
---
regression/t-021.sh | 2 +-
regression/t-025.sh | 2 +-
regression/t-028.sh | 2 +-
3 files changed, 3 ins
Signed-off-by: Per Cederqvist
Signed-off-by: Josef 'Jeff' Sipek
---
regression/t-028.out | 7 +++
regression/t-028.sh | 4
2 files changed, 11 insertions(+)
diff --git a/regression/t-028.out b/regression/t-028.out
index 1564c09..ea72a3a 100644
--- a/regression/t-028.out
+++ b/regressi
If you run something like "guilt header '.*'" the command would crash,
because the grep comand that tries to ensure that the patch exist
would detect a match, but the later code expected the match to be
exact.
Fixed by comparing exact strings.
And as a creeping feature "guilt header" will now try
The valid_patchname now lets "git check-ref-format" do its job instead
of trying (and failing) to implement the same rules. See
git-check-ref-format(1) for a list of the rules. Re-implement rules
added to "git check-ref-format" after Git 1.5.0, so that guilt rejects
the same names no matter what
There were two problems with the old code:
- Since "set -e" is in effect (that is set in scaffold) the run-test
script exited immediately if a t-*.sh script failed. This is not
nice, as we want the error report that test_failed prints.
- The code ran "cd -" between running the t-*.sh scr
Test that empty patches are handled correctly, both with and without
the guilt.diffstat configuration option.
Signed-off-by: Per Cederqvist
Signed-off-by: Josef 'Jeff' Sipek
---
regression/t-020.out | 269 +++
regression/t-020.sh | 60 ++
The "cmd" and "shouldfail" functions checked the exit status of the
replace_path function instead of the actual command that was running.
(The $? construct checks the exit status of the last command in a
pipeline, not the first command.)
Print an explicit error message if a command that should fai
The argument parser arbitrarily refused to accept more than 4
arguments. That made it impossible to run "guilt new -f -s -m msg
patch". Removed the checks for the number of arguments from the
"guilt new" parser -- the other checks that are already there are
enough to catch all errors.
Give a bet
A patch file consists of:
(1) the description
(2) optional diffstat
(3) the patches
When extracting the patch, we only want part 3. The do_get_patch used
to give us part 2 and part 3. That made for instance this series of
operations fail if guilt.diffstat is true:
$ guilt new empty-1
$
Test that we can combine any combination of patches with empty and
non-empty messages, both with and without guilt.diffstat. (All
patches are empty.)
Signed-off-by: Per Cederqvist
Signed-off-by: Josef 'Jeff' Sipek
---
regression/t-035.out | 467 +
Ensure that the file really is deleted.
Signed-off-by: Per Cederqvist
Signed-off-by: Josef 'Jeff' Sipek
---
regression/t-026.out | 15 +++
regression/t-026.sh | 5 -
2 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/regression/t-026.out b/regression/t-026.out
inde
Signed-off-by: Per Cederqvist
Signed-off-by: Josef 'Jeff' Sipek
---
guilt-delete | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guilt-delete b/guilt-delete
index 3e394f8..967ac10 100755
--- a/guilt-delete
+++ b/guilt-delete
@@ -49,7 +49,7 @@ series_remove_patch "$patch"
g
Signed-off-by: Per Cederqvist
Signed-off-by: Josef 'Jeff' Sipek
---
guilt-import-commit | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/guilt-import-commit b/guilt-import-commit
index 20dcee2..f14647c 100755
--- a/guilt-import-commit
+++ b/guilt-import-commit
@@ -23,7 +
Explicitly set guilt.diffstat to its default value. Without this, the
027 test (and possibly others) fail if guilt.diffstat is set to true
in ~/.gitconfig.
Signed-off-by: Per Cederqvist
Signed-off-by: Josef 'Jeff' Sipek
---
regression/scaffold | 1 +
1 file changed, 1 insertion(+)
diff --git
This is version 4 of the patch series I sent back on 21 Mar 2014. I
have addressed all feedback to date, update the documentation where
needed, improved the error handling in the "cmd" and "shouldfail"
functions in the test suite, fixed compatibility with older Git
versions, and added signed-off-b
This implements a new ack! action for git rebase -i
It is essentially a middle ground between fixup! and squash!:
- commits are squashed silently without editor being started
- commit logs are concatenated (with action line being discarded)
- because of the above, empty commits aren't discarded,
As a maintainer, I often get patches by mail, then
acked-by,reviewed-by etc responses are sent by separate
mail.
I like making acks commits,
this way they are easy to keep track of
as part of git history.
Since response mail happens to have appropriate
subject matching the patch, it's a natural
This is a simple script that I use by piping
incoming mail with an ack to it.
It produces an empty ack commit suitable for
squshing with git rebase -i -autosquash.
Works best if people ack individual commits: you simply
pipe each ack to git ack, before pushing your branch,
rebase.
Some people ack
document ack! behaviour and use
Signed-off-by: Michael S. Tsirkin
---
Documentation/git-rebase.txt | 45 +++-
1 file changed, 40 insertions(+), 5 deletions(-)
diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
index 2a93c64..c27aef4
test ack! handling
Signed-off-by: Michael S. Tsirkin
---
t/t3415-rebase-autosquash.sh | 15 +++
1 file changed, 15 insertions(+)
diff --git a/t/t3415-rebase-autosquash.sh b/t/t3415-rebase-autosquash.sh
index 41370ab..9d7db13 100755
--- a/t/t3415-rebase-autosquash.sh
+++ b/t/t3415-re
There's some special code in rebase -i to deal
with --keep-empty.
Add test for this combination.
Signed-off-by: Michael S. Tsirkin
---
t/t3404-rebase-interactive.sh | 9 +
1 file changed, 9 insertions(+)
diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh
index c0
Added option that allows a signature file to be used with format-patch
so that signatures with newlines and other special characters can be
easily included.
$ git format-patch --signature-file ~/.signature -1
The config variable format.signaturefile is also provided so that it
can be added by d
v4 of patch to add format-patch --signature-file option.
This revision includes more suggestions from Jeff King:
- Added a format.signaturefile config option.
- Fixed error messages, --signature and format.signature
- Fixed error checking, dies if strbuf_read_file fails.
- style: "cat
On Fri, May 16, 2014 at 5:45 PM, Jeff Sipek wrote:
> On Fri, May 16, 2014 at 04:45:56PM +0200, Per Cederqvist wrote:
>> The "cmd" and "shouldfail" functions checked the exit status of the
>> replace_path function instead of the actual command that was running.
>> (The $? construct checks the exit
On Fri, May 16, 2014 at 5:20 PM, Jeff Sipek wrote:
> On Fri, May 16, 2014 at 04:46:01PM +0200, Per Cederqvist wrote:
>> The valid_patchname now lets "git check-ref-format" do its job instead
>> of trying (and failing) to implement the same rules. See
>> git-check-ref-format(1) for a list of the r
The usage string for this option is:
git replace [-f] --graft [...]
First we create a new commit that is the same as
except that its parents are [...]
Then we create a replace ref that replace with
the commit we just created.
With this new option, it should be straightforward to
convert graf
Peff,
Lots of good suggestions. I had to expand upon the signature
pattern match to get to work.
On Sun, May 18, 2014 at 07:20:20AM -0400, Jeff King wrote:
> On Sat, May 17, 2014 at 09:02:22AM -0700, Jeremiah Mahler wrote:
>
...
> > +test_expect_success 'format-patch --signature-file file' '
>
Felipe Contreras writes:
> % git fetch
> WARNING: git-remote-hg is now maintained independently.
> WARNING: For more information visit https://github.com/felipec/git-remote-hg
> searching for changes
> no changes found
I don't think the situation is as simple as you claim. In many cases,
th
On Sat, May 17, 2014 at 09:02:22AM -0700, Jeremiah Mahler wrote:
> Added feature that allows a signature file to be used with format-patch.
>
> $ git format-patch --signature-file ~/.signature -1
>
> Now signatures with newlines and other special characters can be
> easily included.
>
> Signe
On Fri, May 16, 2014 at 10:57:50AM -0700, Junio C Hamano wrote:
> Older versions of Git before v1.7.10 did not DWIM
>
> $ git pull $URL for-linus
>
> to the tag "tags/for-linus" and the users were required to say
>
> $ git pull $URL tags/for-linus
>
> instead. Because newer versions of
61 matches
Mail list logo