<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/resolve-undo.h, branch v1.7.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v1.7.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v1.7.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2010-02-02T06:04:03Z</updated>
<entry>
<title>build: make code "-Wpointer-arith" clean</title>
<updated>2010-02-02T06:04:03Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2010-02-02T06:04:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b8bba419250711a69e09e7648e5c991f4847a127'/>
<id>urn:sha1:b8bba419250711a69e09e7648e5c991f4847a127</id>
<content type='text'>
Recently introduced resolve_undo_read() expected arithmetic to (void *)
to work on byte-addresses.  Correct this.

Noticed by Brandon Casey.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>resolve-undo: "checkout -m path" uses resolve-undo information</title>
<updated>2009-12-26T01:10:10Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2009-12-25T19:57:11Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4421a8235783d0664faa9a1d45be114fd7ad8206'/>
<id>urn:sha1:4421a8235783d0664faa9a1d45be114fd7ad8206</id>
<content type='text'>
Once you resolved conflicts by "git add path", you cannot recreate the
conflicted state with "git checkout -m path", because you lost information
from higher stages in the index when you resolved them.

Since we record the necessary information in the resolve-undo index
extension these days, we can reproduce the unmerged state in the index and
check it out.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>resolve-undo: record resolved conflicts in a new index extension section</title>
<updated>2009-12-26T01:10:10Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2009-12-25T08:30:51Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=cfc5789ada444423232fa1533f401b5972eb3f6c'/>
<id>urn:sha1:cfc5789ada444423232fa1533f401b5972eb3f6c</id>
<content type='text'>
When resolving a conflict using "git add" to create a stage #0 entry, or
"git rm" to remove entries at higher stages, remove_index_entry_at()
function is eventually called to remove unmerged (i.e. higher stage)
entries from the index.  Introduce a "resolve_undo_info" structure and
keep track of the removed cache entries, and save it in a new index
extension section in the index_state.

Operations like "read-tree -m", "merge", "checkout [-m] &lt;branch&gt;" and
"reset" are signs that recorded information in the index is no longer
necessary.  The data is removed from the index extension when operations
start; they may leave conflicted entries in the index, and later user
actions like "git add" will record their conflicted states afresh.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
