summaryrefslogtreecommitdiff
path: root/resolve-undo.c
Commit message (Collapse)AuthorAgeFilesLines
* Convert the users of for_each_string_list to for_each_string_list_item macroAlex Riesen2010-07-051-19/+15
| | | | | | | | | | | | | | The rule for selecting the candidates for conversion is: if the callback function returns only 0 (the condition for for_each_string_list to exit early), than it can be safely converted to the macro. A notable exception are the callers in builtin/remote.c. If converted, the readability in the file will suffer greately. Besides, the code is not very performance critical (at the moment, at least): it does output formatting of the list of remotes. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* string_list: Fix argument order for string_list_lookupJulian Phillips2010-06-271-1/+1
| | | | | | | | | Update the definition and callers of string_list_lookup to use the string_list as the first argument. This helps make the string_list API easier to use by being more consistent. Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* string_list: Fix argument order for string_list_insertJulian Phillips2010-06-271-2/+2
| | | | | | | | | Update the definition and callers of string_list_insert to use the string_list as the first argument. This helps make the string_list API easier to use by being more consistent. Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* string_list: Fix argument order for for_each_string_listJulian Phillips2010-06-271-1/+1
| | | | | | | | | Update the definition and callers of for_each_string_list to use the string_list as the first argument. This helps make the string_list API easier to use by being more consistent. Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* build: make code "-Wpointer-arith" cleanJunio C Hamano2010-02-011-2/+2
| | | | | | | | | 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 <gitster@pobox.com>
* resolve-undo: "checkout -m path" uses resolve-undo informationJunio C Hamano2009-12-251-0/+59
| | | | | | | | | | | | 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 <gitster@pobox.com>
* resolve-undo: record resolved conflicts in a new index extension sectionJunio C Hamano2009-12-251-0/+117
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] <branch>" 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 <gitster@pobox.com>