git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Document --ignore-if-in-upstream in git-format-patch
@ 2007-01-18 11:27 David Kågedal
  2007-01-18 13:40 ` Johannes Schindelin
  0 siblings, 1 reply; 5+ messages in thread
From: David Kågedal @ 2007-01-18 11:27 UTC (permalink / raw)
  To: git


---
 Documentation/git-format-patch.txt |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

I looked at the code, and tried to guess what it actually did.  This
documentation doesn't really explain how or why it's supposed to be
used.

Someone who knows how it *actually* works is encouraged to send a
better explanation.

diff --git a/Documentation/git-format-patch.txt b/Documentation/git-format-patch.txt
index 67425dc..3ad0fcd 100644
--- a/Documentation/git-format-patch.txt
+++ b/Documentation/git-format-patch.txt
@@ -12,6 +12,7 @@ SYNOPSIS
 'git-format-patch' [-n | -k] [-o <dir> | --stdout] [--attach] [--thread]
 	           [-s | --signoff] [--diff-options] [--start-number <n>]
 		   [--in-reply-to=Message-Id]
+		   [--ignore-if-in-upstream]
 		   <since>[..<until>]
 
 DESCRIPTION
@@ -78,6 +79,11 @@ OPTIONS
 	reply to the given Message-Id, which avoids breaking threads to
 	provide a new patch series.
 
+--ignore-if-in-upstream::
+	Do not include the same patch twice.  If there are two commits
+	that would produce identical patches, the second one is
+	excluded from the output.
+
 CONFIGURATION
 -------------
 You can specify extra mail header lines to be added to each
-- 
1.5.0.rc1.g04f3-dirty


-- 
David Kågedal

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] Document --ignore-if-in-upstream in git-format-patch
  2007-01-18 11:27 [PATCH] Document --ignore-if-in-upstream in git-format-patch David Kågedal
@ 2007-01-18 13:40 ` Johannes Schindelin
  2007-01-18 14:13   ` David Kågedal
  0 siblings, 1 reply; 5+ messages in thread
From: Johannes Schindelin @ 2007-01-18 13:40 UTC (permalink / raw)
  To: David Kågedal; +Cc: git

[-- Attachment #1: Type: TEXT/PLAIN, Size: 879 bytes --]

Hi,

On Thu, 18 Jan 2007, David Kågedal wrote:

> Someone who knows how it *actually* works is encouraged to send a
> better explanation.

Nice try... Unfortunately, I don't have time to do it.

> +--ignore-if-in-upstream::
> +	Do not include the same patch twice.  If there are two commits
> +	that would produce identical patches, the second one is
> +	excluded from the output.

This is not what it does, though. (If in doubt, use the source, Luke).

Given a range upstream..localbranch, --ignore-if-in-upstream looks at all 
diffs associated with commits in localbranch..upstream (i.e. all commits 
upstream has, but not localbranch), and when traversing 
upstream..localbranch to output the commits with diffs, drops those at the 
floor which were already seen in localbranch..upstream.

The way it does this is by hashing the diffs, and check only the hashes.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Document --ignore-if-in-upstream in git-format-patch
  2007-01-18 13:40 ` Johannes Schindelin
@ 2007-01-18 14:13   ` David Kågedal
  2007-01-18 14:18     ` Johannes Schindelin
  2007-01-19 16:58     ` Junio C Hamano
  0 siblings, 2 replies; 5+ messages in thread
From: David Kågedal @ 2007-01-18 14:13 UTC (permalink / raw)
  To: git

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

> Hi,
>
> On Thu, 18 Jan 2007, David Kågedal wrote:
>
>> Someone who knows how it *actually* works is encouraged to send a
>> better explanation.
>
> Nice try... Unfortunately, I don't have time to do it.
>
>> +--ignore-if-in-upstream::
>> +	Do not include the same patch twice.  If there are two commits
>> +	that would produce identical patches, the second one is
>> +	excluded from the output.
>
> This is not what it does, though. (If in doubt, use the source, Luke).

I did.  But I haven't learnt to navigate it yet.  I get confused by
the global state in the code, which makes it hard to know when I
function call returns interesting information or changes some global
table.

> Given a range upstream..localbranch, --ignore-if-in-upstream looks at all 
> diffs associated with commits in localbranch..upstream (i.e. all commits 
> upstream has, but not localbranch), and when traversing 
> upstream..localbranch to output the commits with diffs, drops those at the 
> floor which were already seen in localbranch..upstream.

Ah, now I see.  How about this, then:

+--ignore-if-in-upstream::
+       Do not include a patch that matches a commit in
+       <until>..<since>.  This will examine all patches reachable
+       from <since> but not from <until> and compare them with the
+       patches being generated, and any patch that matches is
+       ignored.

It's hard to get something readable without writing lots about what
<since>..<until> actually means.  Which might actually be a good idea
to do. But I don't have time to do that :-)

-- 
David Kågedal

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Document --ignore-if-in-upstream in git-format-patch
  2007-01-18 14:13   ` David Kågedal
@ 2007-01-18 14:18     ` Johannes Schindelin
  2007-01-19 16:58     ` Junio C Hamano
  1 sibling, 0 replies; 5+ messages in thread
From: Johannes Schindelin @ 2007-01-18 14:18 UTC (permalink / raw)
  To: David Kågedal; +Cc: git

[-- Attachment #1: Type: TEXT/PLAIN, Size: 368 bytes --]

Hi,

On Thu, 18 Jan 2007, David Kågedal wrote:

> +--ignore-if-in-upstream::
> +       Do not include a patch that matches a commit in
> +       <until>..<since>.  This will examine all patches reachable
> +       from <since> but not from <until> and compare them with the
> +       patches being generated, and any patch that matches is
> +       ignored.

Melikes.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Document --ignore-if-in-upstream in git-format-patch
  2007-01-18 14:13   ` David Kågedal
  2007-01-18 14:18     ` Johannes Schindelin
@ 2007-01-19 16:58     ` Junio C Hamano
  1 sibling, 0 replies; 5+ messages in thread
From: Junio C Hamano @ 2007-01-19 16:58 UTC (permalink / raw)
  To: David Kågedal; +Cc: git, Johannes Schindelin

Thanks both.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2007-01-19 16:58 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-01-18 11:27 [PATCH] Document --ignore-if-in-upstream in git-format-patch David Kågedal
2007-01-18 13:40 ` Johannes Schindelin
2007-01-18 14:13   ` David Kågedal
2007-01-18 14:18     ` Johannes Schindelin
2007-01-19 16:58     ` Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).