<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/git.git/git-add--interactive.perl, branch v1.6.5.4</title>
<subtitle>Git
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v1.6.5.4</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v1.6.5.4'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/'/>
<updated>2009-11-16T08:02:44Z</updated>
<entry>
<title>Merge branch 'jk/maint-add-p-empty' into maint</title>
<updated>2009-11-16T08:02:44Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2009-11-16T08:02:44Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=5e9cb8666bae6a5c8adcb26e3f46b8a5fe5be589'/>
<id>urn:sha1:5e9cb8666bae6a5c8adcb26e3f46b8a5fe5be589</id>
<content type='text'>
* jk/maint-add-p-empty:
  add-interactive: handle deletion of empty files
</content>
</entry>
<entry>
<title>add-interactive: handle deletion of empty files</title>
<updated>2009-10-28T06:19:04Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2009-10-28T00:52:57Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=24ab81ae4d12c81076da256b3f9cdde45277f126'/>
<id>urn:sha1:24ab81ae4d12c81076da256b3f9cdde45277f126</id>
<content type='text'>
Usually we show deletion as a big hunk deleting all of the
file's text. However, for files with no content, the diff
shows just the 'deleted file mode ...' line. This patch
cause "add -p" (and related commands) to recognize that line
and explicitly ask about deleting the file.

We only add the "stage this deletion" hunk for empty files,
since other files will already ask about the big content
deletion hunk. We could also change those files to simply
display "stage this deletion", but showing the actual
deleted content is probably what an interactive user wants.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'pv/maint-add-p-no-exclude' into maint</title>
<updated>2009-10-24T05:29:19Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2009-10-24T05:29:19Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=70ed433c2b66d192b84d4a1ef7fb193ea35e0a28'/>
<id>urn:sha1:70ed433c2b66d192b84d4a1ef7fb193ea35e0a28</id>
<content type='text'>
* pv/maint-add-p-no-exclude:
  git-add--interactive: never skip files included in index
</content>
</entry>
<entry>
<title>git-add--interactive: never skip files included in index</title>
<updated>2009-10-10T21:56:13Z</updated>
<author>
<name>Pauli Virtanen</name>
<email>pav@iki.fi</email>
</author>
<published>2009-10-10T15:51:45Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=b145b211baa4129a827cc1b1b1a7984523b8f903'/>
<id>urn:sha1:b145b211baa4129a827cc1b1b1a7984523b8f903</id>
<content type='text'>
Make "git add -p" to not skip files that are in index even if they are
excluded (by .gitignore etc.). This fixes the contradictory behavior
that "git status" and "git commit -a" listed such files as modified, but
"git add -p FILENAME" ignored them.

Signed-off-by: Pauli Virtanen &lt;pav@iki.fi&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'tr/reset-checkout-patch'</title>
<updated>2009-09-07T22:24:38Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2009-09-07T22:24:38Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=54f0bdc81103f45f12978b385a9519a235b03cc2'/>
<id>urn:sha1:54f0bdc81103f45f12978b385a9519a235b03cc2</id>
<content type='text'>
* tr/reset-checkout-patch:
  stash: simplify defaulting to "save" and reject unknown options
  Make test case number unique
  tests: disable interactive hunk selection tests if perl is not available
  DWIM 'git stash save -p' for 'git stash -p'
  Implement 'git stash save --patch'
  Implement 'git checkout --patch'
  Implement 'git reset --patch'
  builtin-add: refactor the meat of interactive_add()
  Add a small patch-mode testing library
  git-apply--interactive: Refactor patch mode code
  Make 'git stash -k' a short form for 'git stash save --keep-index'
</content>
</entry>
<entry>
<title>Merge branch 'tr/maint-1.6.3-add-p-modeonly-fix' into maint-1.6.3</title>
<updated>2009-08-26T18:22:00Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2009-08-26T18:22:00Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=9e4a90ba19033d25dca1eea495b0a8c5f06efbc6'/>
<id>urn:sha1:9e4a90ba19033d25dca1eea495b0a8c5f06efbc6</id>
<content type='text'>
* tr/maint-1.6.3-add-p-modeonly-fix:
  add -p: do not attempt to coalesce mode changes
  git add -p: demonstrate failure when staging both mode and hunk
</content>
</entry>
<entry>
<title>Merge branch 'tr/maint-1.6.3-add-p-modeonly-fix'</title>
<updated>2009-08-19T06:32:58Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2009-08-19T06:32:58Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=09ba7b2d9fc9142a2195082dd0e74c8161b6b744'/>
<id>urn:sha1:09ba7b2d9fc9142a2195082dd0e74c8161b6b744</id>
<content type='text'>
* tr/maint-1.6.3-add-p-modeonly-fix:
  add -p: do not attempt to coalesce mode changes
  git add -p: demonstrate failure when staging both mode and hunk
</content>
</entry>
<entry>
<title>Implement 'git stash save --patch'</title>
<updated>2009-08-15T22:19:31Z</updated>
<author>
<name>Thomas Rast</name>
<email>trast@student.ethz.ch</email>
</author>
<published>2009-08-13T12:29:44Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=dda1f2a5c3aca5072aada32eef159067ba16f0e9'/>
<id>urn:sha1:dda1f2a5c3aca5072aada32eef159067ba16f0e9</id>
<content type='text'>
This adds a hunk-based mode to git-stash.  You can select hunks from
the difference between HEAD and worktree, and git-stash will build a
stash that reflects these changes.  The index state of the stash is
the same as your current index, and we also let --patch imply
--keep-index.

Note that because the selected hunks are rolled back from the worktree
but not the index, the resulting state may appear somewhat confusing
if you had also staged these changes.  This is not entirely
satisfactory, but due to the way stashes are applied, other solutions
would require a change to the stash format.

Signed-off-by: Thomas Rast &lt;trast@student.ethz.ch&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Implement 'git checkout --patch'</title>
<updated>2009-08-15T22:18:05Z</updated>
<author>
<name>Thomas Rast</name>
<email>trast@student.ethz.ch</email>
</author>
<published>2009-08-15T11:48:30Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=4f353658b9c15e9188530fac5ae79d0aa1538e85'/>
<id>urn:sha1:4f353658b9c15e9188530fac5ae79d0aa1538e85</id>
<content type='text'>
This introduces a --patch mode for git-checkout.  In the index usage

  git checkout --patch -- [files...]

it lets the user discard edits from the &lt;files&gt; at the granularity of
hunks (by selecting hunks from 'git diff' and then reverse applying
them to the worktree).

We also accept a revision argument.  In the case

  git checkout --patch HEAD -- [files...]

we offer hunks from the difference between HEAD and the worktree, and
reverse applies them to both index and worktree, allowing you to
discard staged changes completely.  In the non-HEAD usage

  git checkout --patch &lt;revision&gt; -- [files...]

it offers hunks from the difference between the worktree and
&lt;revision&gt;.  The chosen hunks are then applied to both index and
worktree.

The application to worktree and index is done "atomically" in the
sense that we first check if the patch applies to the index (it should
always apply to the worktree).  If it does not, we give the user a
choice to either abort or apply to the worktree anyway.

Signed-off-by: Thomas Rast &lt;trast@student.ethz.ch&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Implement 'git reset --patch'</title>
<updated>2009-08-15T22:17:47Z</updated>
<author>
<name>Thomas Rast</name>
<email>trast@student.ethz.ch</email>
</author>
<published>2009-08-15T11:48:31Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=d002ef4d9446b9fe4d0c397131edce58781df2f1'/>
<id>urn:sha1:d002ef4d9446b9fe4d0c397131edce58781df2f1</id>
<content type='text'>
This introduces a --patch mode for git-reset.  The basic case is

  git reset --patch -- [files...]

which acts as the opposite of 'git add --patch -- [files...]': it
offers hunks for *un*staging.  Advanced usage is

  git reset --patch &lt;revision&gt; -- [files...]

which offers hunks from the diff between the index and &lt;revision&gt; for
forward application to the index.  (That is, the basic case is just
&lt;revision&gt; = HEAD.)

Signed-off-by: Thomas Rast &lt;trast@student.ethz.ch&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
